UNPKG

powerbi-client

Version:

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 res

1,086 lines (1,077 loc) 515 kB
// powerbi-client v2.18.7 // Copyright (c) Microsoft Corporation. // Licensed under the MIT License. (function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(); else if(typeof define === 'function' && define.amd) define([], factory); else if(typeof exports === 'object') 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/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 /******/ 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 <any> 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 /***/ }), /***/ "./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.9.7 // 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); /******/ }) /************************************************************************/ /******/ ([ /* 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 || ({ __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.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) { 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[PageSizeType["Mobile"] = 5] = "Mobile"; })(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 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"; 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 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"; 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[FilterType["Identity"] = 8] = "Identity"; })(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 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) { 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 > 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 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); } 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