{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 5b54a3c9129e4309a97d","webpack:///./src/powerbi-client.ts","webpack:///./src/service.ts","webpack:///./src/embed.ts","webpack:///./src/util.ts","webpack:///./~/powerbi-models/dist/models.js","webpack:///./src/report.ts","webpack:///./src/page.ts","webpack:///./src/visualDescriptor.ts","webpack:///./src/defaults.ts","webpack:///./src/bookmarksManager.ts","webpack:///./src/create.ts","webpack:///./src/dashboard.ts","webpack:///./src/tile.ts","webpack:///./src/qna.ts","webpack:///./src/visual.ts","webpack:///./src/factories.ts","webpack:///./src/config.ts","webpack:///./~/window-post-message-proxy/dist/windowPostMessageProxy.js","webpack:///./~/http-post-message/dist/httpPostMessage.js","webpack:///./~/powerbi-router/dist/router.js"],"names":[],"mappings":"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YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,mEAAmE;AACrE;AACA;AACA;AACA;AACA;AACA,GAAE,sEAAsE;AACxE;AACA;AACA;AACA;AACA,GAAE,yEAAyE;AAC3E;AACA;AACA;AACA;AACA,GAAE,6GAA6G;AAC/G;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,6DAA6D;AAC/D;AACA;AACA;AACA;AACA,GAAE,kFAAkF;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,gEAAgE;AAClE;AACA;AACA;AACA;AACA,GAAE,uDAAuD;AACzD;AACA;AACA;AACA;AACA,GAAE,0DAA0D;AAC5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,6DAA6D;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,6GAA6G;AAC/G;AACA;AACA;AACA;AACA;AACA,GAAE,8FAA8F;AAChG;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA,0BAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,4BAA4B;AACpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA,0BAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,kDAAiD,+BAA+B,GAAG,sCAAsC;AACzH,mDAAkD,+BAA+B,GAAG,sCAAsC;AAC1H;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE,oDAAoD;AACtD;AACA;AACA;AACA;AACA,GAAE,yEAAyE;AAC3E;AACA;AACA;AACA;AACA,GAAE,kFAAkF;AACpF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA,yBAAwB,kBAAkB;AAC1C;AACA,wDAAuD,gBAAgB;AACvE;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0DAAyD,gBAAgB;AACzE;AACA,+DAA8D,gBAAgB;AAC9E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,gDAA+C,gBAAgB;AAC/D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mBAAkB;AAClB;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2DAA0D,gBAAgB;AAC1E;AACA;AACA;AACA;AACA;AACA;AACA,6DAA4D,gBAAgB;AAC5E;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA;AACA;AACA,YAAW,gBAAgB,sCAAsC,iBAAiB,EAAE;AACpF,2BAA0B,uDAAuD;AACjF;AACA;AACA,yBAAwB,sBAAsB;AAC9C;AACA;AACA,GAAE;AACF,gDAA+C,cAAc;AAC7D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA,EAAC;AACD;AACA,mC;;;;;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;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,mCAAkC;AAClC;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA,YAAW;AACX;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wDAAuD,uCAAuC;AAC9F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,2FAA0F;AAC1F;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oCAAmC;AACnC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,uBAAsB;AACtB;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA,EAAC;AACD;AACA,mD;;;;;;ACtSA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,0CAAyC,qBAAqB;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,mCAAkC,cAAc;AAChD,wCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA,mCAAkC,cAAc;AAChD,wCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA,mCAAkC,cAAc;AAChD,wCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA,mCAAkC,cAAc;AAChD,wCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA,gCAA+B,aAAa;AAC5C,mCAAkC,cAAc;AAChD,wCAAuC,yCAAyC;AAChF;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA,wCAAuC,yCAAyC;AAChF,0CAAyC;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,0BAAyB,uBAAuB;AAChD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA,GAAE;AACF;;;AAGA;AACA;AACA,EAAC;AACD;AACA,4C;;;;;;AClLA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAC;AACD,qCAAoC;AACpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,wBAAuB;AACvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,sCAAqC,iBAAiB,EAAE;AACxD;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,eAAc;AACd;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAE;AACF;;;AAGA,QAAO;AACP;AACA;;AAEA,oCAAmC,8CAA8C;AACjF;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;;AAEA;AACA,wCAAuC,6EAA6E;AACpH;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,SAAQ;;AAER;AACA;AACA;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;AACA;AACA,qBAAoB,qBAAqB;AACzC;AACA;;AAEA;AACA,qBAAoB;AACpB;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;;AAEA;AACA,iCAAgC,+BAA+B;AAC/D,gBAAe,iBAAiB;AAChC,SAAQ;AACR;;AAEA;AACA;AACA,8BAA6B,KAAK;AAClC;;AAEA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,0DAAyD,sBAAsB;AAC/E;AACA;AACA;;AAEA,uBAAsB,iBAAiB;AACvC;AACA,6CAA4C,yDAAyD;AACrG;;AAEA;AACA,SAAQ;;AAER;AACA;AACA,SAAQ;;AAER;AACA;AACA;AACA;;AAEA,yDAAwD,kBAAkB;AAC1E;AACA;AACA,mCAAkC,yDAAyD;AAC3F,SAAQ;;AAER;AACA;AACA,SAAQ;;AAER;AACA;AACA;AACA;;AAEA,sDAAqD,kBAAkB;AACvE;AACA;AACA,mCAAkC,wDAAwD;AAC1F,SAAQ;;AAER;AACA;AACA,SAAQ;;AAER;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAQ;AACR,2BAA0B,WAAW,EAAE;AACvC,8BAA6B,WAAW;AACxC;;AAEA;AACA;AACA;AACA,sCAAqC,yBAAyB;;AAE9D;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,qBAAoB,mBAAmB;AACvC;;AAEA;AACA;AACA;AACA;AACA,WAAU;AACV;AACA;AACA;AACA,WAAU;AACV;AACA;AACA,WAAU;AACV;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uBAAsB,qBAAqB;AAC3C;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA,SAAQ;;AAER;AACA;;AAEA;AACA;AACA,2CAA0C,cAAc;;AAExD;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,SAAQ;;AAER;AACA;AACA;AACA;;AAEA;;AAEA,uBAAsB,qBAAqB;AAC3C;;AAEA;;AAEA;AACA,6CAA4C,sBAAsB;AAClE,aAAY;AACZ,6CAA4C,sBAAsB;AAClE;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,SAAQ;AACR;;AAEA;AACA;;AAEA,sCAAqC,KAAK;AAC1C;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAM;;AAEN;AACA;AACA;AACA;;AAEA;;AAEA,qBAAoB,mBAAmB;AACvC;;AAEA,uBAAsB,gBAAgB;AACtC;AACA;;AAEA,uBAAsB;AACtB;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ,eAAe;AACvB;AACA;;AAEA;;AAEA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA,8BAA6B;AAC7B;;AAEA;;AAEA,uBAAsB,iBAAiB;AACvC;;AAEA;;AAEA;;AAEA,yBAAwB,mBAAmB;AAC3C;;AAEA,0EAAyE,UAAU;;AAEnF;;AAEA;AACA,+CAA8C,0DAA0D;AACxG;;AAEA;AACA;AACA;AACA;AACA,2BAA0B;AAC1B;AACA;;AAEA;AACA,6CAA4C,0DAA0D;AACtG;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,SAAQ;;AAER;AACA;;AAEA,uBAAsB,oDAAoD;;AAE1E;;AAEA,uBAAsB,yBAAyB;AAC/C;AACA;;AAEA;AACA,SAAQ;;AAER;AACA;AACA,SAAQ;;AAER;AACA;AACA,uBAAsB,oDAAoD;;AAE1E;;AAEA,uBAAsB,mBAAmB;AACzC;;AAEA,wEAAuE,UAAU;;AAEjF;AACA;AACA;;AAEA,yCAAwC,uBAAuB;;AAE/D;AACA;AACA;;AAEA;AACA,SAAQ;;AAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,yBAAwB,iBAAiB;AACzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,6BAA4B,kBAAkB;AAC9C;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;;AAEA,mCAAkC,WAAW;;AAE7C;AACA,SAAQ;;AAER;AACA;AACA,sBAAqB,kBAAkB;AACvC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAY;AACZ;AACA;AACA;AACA;AACA,SAAQ;;AAER;AACA;AACA,yDAAwD;AACxD;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA,uCAAsC,mBAAmB;;AAEzD;AACA;AACA;AACA;AACA;;AAEA,mBAAkB,eAAe;AACjC;AACA,iCAAgC,OAAO;AACvC;;AAEA;AACA,mBAAkB,iBAAiB;AACnC,qCAAoC,2BAA2B;AAC/D;;AAEA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;AAEA;;AAEA;;AAEA;AACA;AACA,sDAAqD,oCAAoC,EAAE;AAC3F,OAAM;AACN;AACA,OAAM;AACN;AACA;AACA,GAAE;;AAEF;AACA,8BAA6B;;AAE7B,QAAO;AACP;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA,QAAO;AACP;AACA;;AAEA,+BAA8B,mDAAmD;;;AAGjF;AACA;AACA,EAAC;AACD;AACA,mC","file":"powerbi.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"powerbi-client\"] = factory();\n\telse\n\t\troot[\"powerbi-client\"] = factory();\n})(this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 5b54a3c9129e4309a97d","import * as service from './service';\r\nimport * as factories from './factories';\r\nimport * as models from 'powerbi-models';\r\nimport { IFilterable } from './ifilterable';\r\n\r\nexport {\r\n IFilterable,\r\n service,\r\n factories,\r\n models\r\n};\r\nexport {\r\n Report\r\n} from './report';\r\nexport {\r\n Dashboard\r\n} from './dashboard';\r\nexport {\r\n Tile\r\n} from './tile';\r\nexport {\r\n IEmbedConfiguration,\r\n Embed,\r\n ILocaleSettings,\r\n IEmbedSettings\r\n} from './embed';\r\nexport {\r\n Page\r\n} from './page';\r\nexport {\r\n Qna\r\n} from './qna';\r\nexport {\r\n Visual\r\n} from './visual';\r\nexport {\r\n VisualDescriptor\r\n} from './visualDescriptor';\r\n\r\ndeclare var powerbi: service.Service;\r\ndeclare global {\r\n interface Window {\r\n powerbi: service.Service;\r\n }\r\n}\r\n\r\n/**\r\n * Makes Power BI available to the global object for use in applications that don't have module loading support.\r\n *\r\n * 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.\r\n */\r\nvar powerbi = new service.Service(factories.hpmFactory, factories.wpmpFactory, factories.routerFactory);\r\nwindow.powerbi = powerbi;\n\n\n// WEBPACK FOOTER //\n// ./src/powerbi-client.ts","import * as embed from './embed';\r\nimport { Report } from './report';\r\nimport { Create } from './create';\r\nimport { Dashboard } from './dashboard';\r\nimport { Tile } from './tile';\r\nimport { Page } from './page';\r\nimport { Qna } from './qna';\r\nimport { Visual } from './visual';\r\nimport * as utils from './util';\r\nimport * as wpmp from 'window-post-message-proxy';\r\nimport * as hpm from 'http-post-message';\r\nimport * as router from 'powerbi-router';\r\nimport * as models from 'powerbi-models';\r\n\r\nexport interface IEvent {\r\n type: string;\r\n id: string;\r\n name: string;\r\n value: T;\r\n}\r\n\r\nexport interface ICustomEvent extends CustomEvent {\r\n detail: T;\r\n}\r\n\r\nexport interface IEventHandler {\r\n (event: ICustomEvent): any;\r\n}\r\n\r\nexport interface IHpmFactory {\r\n (wpmp: wpmp.WindowPostMessageProxy, targetWindow?: Window, version?: string, type?: string, origin?: string): hpm.HttpPostMessage;\r\n}\r\n\r\nexport interface IWpmpFactory {\r\n (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window): wpmp.WindowPostMessageProxy;\r\n}\r\n\r\nexport interface IRouterFactory {\r\n (wpmp: wpmp.WindowPostMessageProxy): router.Router;\r\n}\r\n\r\nexport interface IPowerBiElement extends HTMLElement {\r\n powerBiEmbed: embed.Embed;\r\n}\r\n\r\nexport interface IDebugOptions {\r\n logMessages?: boolean;\r\n wpmpName?: string;\r\n}\r\n\r\nexport interface IServiceConfiguration extends IDebugOptions {\r\n autoEmbedOnContentLoaded?: boolean;\r\n onError?: (error: any) => any;\r\n version?: string;\r\n type?: string;\r\n}\r\n\r\nexport interface IService {\r\n hpm: hpm.HttpPostMessage;\r\n}\r\n\r\n/**\r\n * The Power BI Service embed component, which is the entry point to embed all other Power BI components into your application\r\n * \r\n * @export\r\n * @class Service\r\n * @implements {IService}\r\n */\r\nexport class Service implements IService {\r\n\r\n /**\r\n * A list of components that this service can embed\r\n */\r\n private static components: (typeof Report | typeof Tile | typeof Dashboard | typeof Qna | typeof Visual)[] = [\r\n Tile,\r\n Report,\r\n Dashboard,\r\n Qna,\r\n Visual\r\n ];\r\n\r\n /**\r\n * The default configuration for the service\r\n */\r\n private static defaultConfig: IServiceConfiguration = {\r\n autoEmbedOnContentLoaded: false,\r\n onError: (...args) => console.log(args[0], args.slice(1))\r\n };\r\n\r\n /**\r\n * Gets or sets the access token as the global fallback token to use when a local token is not provided for a report or tile.\r\n * \r\n * @type {string}\r\n */\r\n accessToken: string;\r\n\r\n /**The Configuration object for the service*/\r\n private config: IServiceConfiguration;\r\n\r\n /** A list of Dashboard, Report and Tile components that have been embedded using this service instance. */\r\n private embeds: embed.Embed[];\r\n /** TODO: Look for way to make hpm private without sacraficing ease of maitenance. This should be private but in embed needs to call methods. */\r\n hpm: hpm.HttpPostMessage;\r\n /** TODO: Look for way to make wpmp private. This is only public to allow stopping the wpmp in tests */\r\n wpmp: wpmp.WindowPostMessageProxy;\r\n private router: router.Router;\r\n\r\n private static DefaultInitEmbedUrl: string = \"http://app.powerbi.com/reportEmbed\";\r\n\r\n /**\r\n * Creates an instance of a Power BI Service.\r\n * \r\n * @param {IHpmFactory} hpmFactory The http post message factory used in the postMessage communication layer\r\n * @param {IWpmpFactory} wpmpFactory The window post message factory used in the postMessage communication layer\r\n * @param {IRouterFactory} routerFactory The router factory used in the postMessage communication layer\r\n * @param {IServiceConfiguration} [config={}]\r\n */\r\n constructor(hpmFactory: IHpmFactory, wpmpFactory: IWpmpFactory, routerFactory: IRouterFactory, config: IServiceConfiguration = {}) {\r\n this.wpmp = wpmpFactory(config.wpmpName, config.logMessages);\r\n this.hpm = hpmFactory(this.wpmp, null, config.version, config.type);\r\n this.router = routerFactory(this.wpmp);\r\n\r\n /**\r\n * Adds handler for report events.\r\n */\r\n this.router.post(`/reports/:uniqueId/events/:eventName`, (req, res) => {\r\n const event: IEvent = {\r\n type: 'report',\r\n id: req.params.uniqueId,\r\n name: req.params.eventName,\r\n value: req.body\r\n };\r\n\r\n this.handleEvent(event);\r\n });\r\n\r\n this.router.post(`/reports/:uniqueId/pages/:pageName/events/:eventName`, (req, res) => {\r\n const event: IEvent = {\r\n type: 'report',\r\n id: req.params.uniqueId,\r\n name: req.params.eventName,\r\n value: req.body\r\n };\r\n\r\n this.handleEvent(event);\r\n });\r\n\r\n this.router.post(`/reports/:uniqueId/pages/:pageName/visuals/:visualName/events/:eventName`, (req, res) => {\r\n const event: IEvent = {\r\n type: 'report',\r\n id: req.params.uniqueId,\r\n name: req.params.eventName,\r\n value: req.body\r\n };\r\n\r\n this.handleEvent(event);\r\n });\r\n\r\n this.router.post(`/dashboards/:uniqueId/events/:eventName`, (req, res) => {\r\n const event: IEvent = {\r\n type: 'dashboard',\r\n id: req.params.uniqueId,\r\n name: req.params.eventName,\r\n value: req.body\r\n };\r\n\r\n this.handleEvent(event);\r\n });\r\n\r\n this.router.post(`/tile/:uniqueId/events/:eventName`, (req, res) => {\r\n const event: IEvent = {\r\n type: 'tile',\r\n id: req.params.uniqueId,\r\n name: req.params.eventName,\r\n value: req.body\r\n };\r\n\r\n this.handleEvent(event);\r\n });\r\n\r\n /**\r\n * Adds handler for Q&A events.\r\n */\r\n this.router.post(`/qna/:uniqueId/events/:eventName`, (req, res) => {\r\n const event: IEvent = {\r\n type: 'qna',\r\n id: req.params.uniqueId,\r\n name: req.params.eventName,\r\n value: req.body\r\n };\r\n\r\n this.handleEvent(event);\r\n });\r\n\r\n this.embeds = [];\r\n\r\n // TODO: Change when Object.assign is available.\r\n this.config = utils.assign({}, Service.defaultConfig, config);\r\n\r\n if (this.config.autoEmbedOnContentLoaded) {\r\n this.enableAutoEmbed();\r\n }\r\n }\r\n\r\n /**\r\n * Creates new report\r\n * @param {HTMLElement} element\r\n * @param {embed.IEmbedConfiguration} [config={}]\r\n * @returns {embed.Embed}\r\n */\r\n createReport(element: HTMLElement, config: embed.IEmbedConfiguration): embed.Embed {\r\n config.type = 'create';\r\n let powerBiElement = element;\r\n const component = new Create(this, powerBiElement, config);\r\n powerBiElement.powerBiEmbed = component;\r\n this.addOrOverwriteEmbed(component, element);\r\n\r\n return component;\r\n }\r\n\r\n /**\r\n * TODO: Add a description here\r\n * \r\n * @param {HTMLElement} [container]\r\n * @param {embed.IEmbedConfiguration} [config=undefined]\r\n * @returns {embed.Embed[]}\r\n */\r\n init(container?: HTMLElement, config: embed.IEmbedConfiguration = undefined): embed.Embed[] {\r\n container = (container && container instanceof HTMLElement) ? container : document.body;\r\n\r\n const elements = Array.prototype.slice.call(container.querySelectorAll(`[${embed.Embed.embedUrlAttribute}]`));\r\n return elements.map(element => this.embed(element, config));\r\n }\r\n\r\n /**\r\n * Given a configuration based on an HTML element,\r\n * if the component has already been created and attached to the element, reuses the component instance and existing iframe,\r\n * otherwise creates a new component instance.\r\n * \r\n * @param {HTMLElement} element\r\n * @param {embed.IEmbedConfigurationBase} [config={}]\r\n * @returns {embed.Embed}\r\n */\r\n embed(element: HTMLElement, config: embed.IEmbedConfigurationBase = {}): embed.Embed {\r\n return this.embedInternal(element, config);\r\n }\r\n\r\n /**\r\n * Given a configuration based on an HTML element,\r\n * if the component has already been created and attached to the element, reuses the component instance and existing iframe,\r\n * otherwise creates a new component instance.\r\n * This is used for the phased embedding API, once element is loaded successfully, one can call 'render' on it.\r\n * \r\n * @param {HTMLElement} element\r\n * @param {embed.IEmbedConfigurationBase} [config={}]\r\n * @returns {embed.Embed}\r\n */\r\n load(element: HTMLElement, config: embed.IEmbedConfigurationBase = {}): embed.Embed {\r\n return this.embedInternal(element, config, /* phasedRender */ true);\r\n }\r\n\r\n embedInternal(element: HTMLElement, config: embed.IEmbedConfigurationBase = {}, phasedRender?: boolean): embed.Embed {\r\n let component: embed.Embed;\r\n let powerBiElement = element;\r\n\r\n if (powerBiElement.powerBiEmbed) {\r\n component = this.embedExisting(powerBiElement, config, phasedRender);\r\n }\r\n else {\r\n component = this.embedNew(powerBiElement, config, phasedRender);\r\n }\r\n\r\n return component;\r\n }\r\n\r\n /**\r\n * Given a configuration based on a Power BI element, saves the component instance that reference the element for later lookup.\r\n * \r\n * @private\r\n * @param {IPowerBiElement} element\r\n * @param {embed.IEmbedConfigurationBase} config\r\n * @returns {embed.Embed}\r\n */\r\n private embedNew(element: IPowerBiElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean): embed.Embed {\r\n const componentType = config.type || element.getAttribute(embed.Embed.typeAttribute);\r\n if (!componentType) {\r\n 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()}\"'.`);\r\n }\r\n\r\n // Saves the type as part of the configuration so that it can be referenced later at a known location.\r\n config.type = componentType;\r\n\r\n const Component = utils.find(component => componentType === component.type.toLowerCase(), Service.components);\r\n if (!Component) {\r\n 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.`);\r\n }\r\n\r\n const component = new Component(this, element, config, phasedRender);\r\n element.powerBiEmbed = component;\r\n\r\n this.addOrOverwriteEmbed(component, element);\r\n return component;\r\n }\r\n\r\n /**\r\n * Given an element that already contains an embed component, load with a new configuration.\r\n * \r\n * @private\r\n * @param {IPowerBiElement} element\r\n * @param {embed.IEmbedConfigurationBase} config\r\n * @returns {embed.Embed}\r\n */\r\n private embedExisting(element: IPowerBiElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean): embed.Embed {\r\n const component = utils.find(x => x.element === element, this.embeds);\r\n if (!component) {\r\n 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.`);\r\n }\r\n\r\n // TODO: Multiple embedding to the same iframe is not supported in QnA\r\n if (config.type && config.type.toLowerCase() === \"qna\") {\r\n return this.embedNew(element, config);\r\n }\r\n\r\n /**\r\n * TODO: Dynamic embed type switching could be supported but there is work needed to prepare the service state and DOM cleanup.\r\n * remove all event handlers from the DOM, then reset the element to initial state which removes iframe, and removes from list of embeds\r\n * then we can call the embedNew function which would allow setting the proper embedUrl and construction of object based on the new type.\r\n */\r\n if (typeof config.type === \"string\" && config.type !== component.config.type) {\r\n\r\n /**\r\n * When loading report after create we want to use existing Iframe to optimize load period\r\n */\r\n if(config.type === \"report\" && component.config.type === \"create\") {\r\n const report = new Report(this, element, config, /* phasedRender */ false, element.powerBiEmbed.iframe);\r\n report.load(config);\r\n element.powerBiEmbed = report;\r\n\r\n this.addOrOverwriteEmbed(component, element);\r\n\r\n return report;\r\n }\r\n\r\n 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}`);\r\n }\r\n\r\n component.load(config, phasedRender);\r\n\r\n return component;\r\n }\r\n\r\n /**\r\n * Adds an event handler for DOMContentLoaded, which searches the DOM for elements that have the 'powerbi-embed-url' attribute,\r\n * and automatically attempts to embed a powerbi component based on information from other powerbi-* attributes.\r\n *\r\n * Note: Only runs if `config.autoEmbedOnContentLoaded` is true when the service is created.\r\n * 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.\r\n */\r\n enableAutoEmbed(): void {\r\n window.addEventListener('DOMContentLoaded', (event: Event) => this.init(document.body), false);\r\n }\r\n\r\n /**\r\n * Returns an instance of the component associated with the element.\r\n * \r\n * @param {HTMLElement} element\r\n * @returns {(Report | Tile)}\r\n */\r\n get(element: HTMLElement): embed.Embed {\r\n const powerBiElement = element;\r\n\r\n if (!powerBiElement.powerBiEmbed) {\r\n throw new Error(`You attempted to get an instance of powerbi component associated with element: ${element.outerHTML} but there was no associated instance.`);\r\n }\r\n\r\n return powerBiElement.powerBiEmbed;\r\n }\r\n\r\n /**\r\n * Finds an embed instance by the name or unique ID that is provided.\r\n * \r\n * @param {string} uniqueId\r\n * @returns {(Report | Tile)}\r\n */\r\n find(uniqueId: string): embed.Embed {\r\n return utils.find(x => x.config.uniqueId === uniqueId, this.embeds);\r\n }\r\n\r\n addOrOverwriteEmbed(component: embed.Embed, element: HTMLElement): void {\r\n // remove embeds over the same div element.\r\n this.embeds = this.embeds.filter(function(embed) {\r\n return embed.element.id !== element.id;\r\n });\r\n\r\n this.embeds.push(component);\r\n }\r\n\r\n /**\r\n * 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.\r\n * \r\n * @param {HTMLElement} element\r\n * @returns {void}\r\n */\r\n reset(element: HTMLElement): void {\r\n const powerBiElement = element;\r\n\r\n if (!powerBiElement.powerBiEmbed) {\r\n return;\r\n }\r\n\r\n /** Removes the component from an internal list of components. */\r\n utils.remove(x => x === powerBiElement.powerBiEmbed, this.embeds);\r\n /** Deletes a property from the HTML element. */\r\n delete powerBiElement.powerBiEmbed;\r\n /** Removes the iframe from the element. */\r\n const iframe = element.querySelector('iframe');\r\n if (iframe) {\r\n if(iframe.remove !== undefined) {\r\n iframe.remove();\r\n }\r\n else {\r\n /** Workaround for IE: unhandled rejection TypeError: object doesn't support propert or method 'remove' */\r\n iframe.parentElement.removeChild(iframe);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * handles tile events\r\n * \r\n * @param {IEvent} event \r\n */ \r\n handleTileEvents (event: IEvent): void {\r\n if (event.type === 'tile'){\r\n this.handleEvent(event);\r\n }\r\n }\r\n\r\n /**\r\n * Given an event object, finds the embed component with the matching type and ID, and invokes its handleEvent method with the event object.\r\n * \r\n * @private\r\n * @param {IEvent} event\r\n */\r\n private handleEvent(event: IEvent): void {\r\n let embed = utils.find(embed => {\r\n return (embed.config.uniqueId === event.id);\r\n }, this.embeds);\r\n\r\n if (embed) {\r\n const value = event.value;\r\n\r\n if (event.name === 'pageChanged') {\r\n const pageKey = 'newPage';\r\n const page: models.IPage = value[pageKey];\r\n if (!page) {\r\n throw new Error(`Page model not found at 'event.value.${pageKey}'.`);\r\n }\r\n value[pageKey] = new Page(embed, page.name, page.displayName, true /* isActive */);\r\n }\r\n\r\n utils.raiseCustomEvent(embed.element, event.name, value);\r\n }\r\n }\r\n\r\n /**\r\n * API for warm starting powerbi embedded endpoints.\r\n * Use this API to preload Power BI Embedded in the background.\r\n * \r\n * @public\r\n * @param {embed.IEmbedConfigurationBase} [config={}]\r\n * @param {HTMLElement} [element=undefined]\r\n */\r\n preload(config: embed.IEmbedConfigurationBase, element?: HTMLElement) {\r\n var iframeContent = document.createElement(\"iframe\");\r\n iframeContent.setAttribute(\"style\", \"display:none;\");\r\n iframeContent.setAttribute(\"src\", config.embedUrl);\r\n iframeContent.setAttribute(\"scrolling\", \"no\");\r\n iframeContent.setAttribute(\"allowfullscreen\", \"false\");\r\n\r\n var node = element;\r\n if (!node) {\r\n node = document.getElementsByTagName(\"body\")[0];\r\n }\r\n\r\n node.appendChild(iframeContent);\r\n iframeContent.onload = () => {\r\n utils.raiseCustomEvent(iframeContent, \"preloaded\", {});\r\n };\r\n\r\n return iframeContent;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/service.ts","import * as utils from './util';\r\nimport * as service from './service';\r\nimport * as models from 'powerbi-models';\r\nimport * as hpm from 'http-post-message';\r\n\r\ndeclare global {\r\n interface Document {\r\n // Mozilla Fullscreen\r\n mozCancelFullScreen: Function;\r\n\r\n // Ms Fullscreen\r\n msExitFullscreen: Function;\r\n }\r\n\r\n interface HTMLIFrameElement {\r\n // Mozilla Fullscreen\r\n mozRequestFullScreen: Function;\r\n\r\n // Ms Fullscreen\r\n msRequestFullscreen: Function;\r\n }\r\n}\r\n\r\n/**\r\n * Base Configuration settings for Power BI embed components\r\n * \r\n * @export\r\n * @interface IEmbedConfigurationBase\r\n */\r\nexport interface IEmbedConfigurationBase {\r\n settings?: ISettings;\r\n embedUrl?: string;\r\n uniqueId?: string;\r\n type?: string;\r\n accessToken?: string;\r\n tokenType?: models.TokenType;\r\n}\r\n\r\n// TODO: Re-use ILoadConfiguration interface to prevent duplicating properties.\r\n// Current issue is that they are optional when embedding since they can be specificed as attributes but they are required when loading.\r\n/**\r\n * Configuration settings for Power BI embed components\r\n * \r\n * @export\r\n * @interface IEmbedConfiguration\r\n */\r\nexport interface IEmbedConfiguration extends IEmbedConfigurationBase {\r\n id?: string;\r\n settings?: IEmbedSettings;\r\n pageName?: string;\r\n filters?: models.IFilter[];\r\n pageView?: models.PageView;\r\n datasetId?: string;\r\n permissions?: models.Permissions;\r\n viewMode?: models.ViewMode;\r\n action?: string;\r\n dashboardId?: string;\r\n height?: number;\r\n width?: number;\r\n}\r\n\r\nexport interface IVisualEmbedConfiguration extends IEmbedConfiguration {\r\n visualName: string;\r\n}\r\n\r\n/**\r\n * Configuration settings for Power BI QNA embed component\r\n * \r\n * @export\r\n * @interface IEmbedConfiguration\r\n */\r\nexport interface IQnaEmbedConfiguration extends IEmbedConfigurationBase {\r\n datasetIds: string[];\r\n question?: string;\r\n viewMode?: models.QnaMode;\r\n}\r\n\r\nexport interface ILocaleSettings {\r\n language?: string;\r\n formatLocale?: string;\r\n}\r\n\r\nexport interface ISettings {\r\n localeSettings?: ILocaleSettings;\r\n}\r\n\r\nexport interface IEmbedSettings extends models.ISettings, ISettings {\r\n}\r\n\r\nexport interface IQnaSettings extends models.IQnaSettings, ISettings {\r\n}\r\n\r\nexport interface IInternalEventHandler {\r\n test(event: service.IEvent): boolean;\r\n handle(event: service.ICustomEvent): void;\r\n}\r\n\r\n/**\r\n * Base class for all Power BI embed components\r\n * \r\n * @export\r\n * @abstract\r\n * @class Embed\r\n */\r\nexport abstract class Embed {\r\n static allowedEvents = [\"loaded\", \"saved\", \"rendered\", \"saveAsTriggered\", \"error\", \"dataSelected\"];\r\n static accessTokenAttribute = 'powerbi-access-token';\r\n static embedUrlAttribute = 'powerbi-embed-url';\r\n static nameAttribute = 'powerbi-name';\r\n static typeAttribute = 'powerbi-type';\r\n static type: string;\r\n\r\n allowedEvents = [];\r\n\r\n /**\r\n * Gets or sets the event handler registered for this embed component.\r\n * \r\n * @type {IInternalEventHandler[]}\r\n */\r\n eventHandlers: IInternalEventHandler[];\r\n\r\n /**\r\n * Gets or sets the Power BI embed service.\r\n * \r\n * @type {service.Service}\r\n */\r\n service: service.Service;\r\n\r\n /**\r\n * Gets or sets the HTML element that contains the Power BI embed component.\r\n * \r\n * @type {HTMLElement}\r\n */\r\n element: HTMLElement;\r\n\r\n /**\r\n * Gets or sets the HTML iframe element that renders the Power BI embed component.\r\n * \r\n * @type {HTMLIFrameElement}\r\n */\r\n iframe: HTMLIFrameElement;\r\n\r\n /**\r\n * Gets or sets the configuration settings for the Power BI embed component.\r\n * \r\n * @type {IEmbedConfigurationBase}\r\n */\r\n config: IEmbedConfigurationBase;\r\n\r\n /**\r\n * Gets or sets the configuration settings for creating report.\r\n * \r\n * @type {models.IReportCreateConfiguration}\r\n */\r\n createConfig: models.IReportCreateConfiguration;\r\n\r\n /**\r\n * Url used in the load request.\r\n */\r\n loadPath: string;\r\n\r\n /**\r\n * Url used in the load request.\r\n */\r\n phasedLoadPath: string;\r\n\r\n /**\r\n * Type of embed\r\n */\r\n embeType: string;\r\n\r\n /**\r\n * Creates an instance of Embed.\r\n * \r\n * Note: there is circular reference between embeds and the service, because\r\n * the service has a list of all embeds on the host page, and each embed has a reference to the service that created it.\r\n * \r\n * @param {service.Service} service\r\n * @param {HTMLElement} element\r\n * @param {IEmbedConfigurationBase} config\r\n */\r\n constructor(service: service.Service, element: HTMLElement, config: IEmbedConfigurationBase, iframe?: HTMLIFrameElement, phasedRender?: boolean) {\r\n Array.prototype.push.apply(this.allowedEvents, Embed.allowedEvents);\r\n this.eventHandlers = [];\r\n this.service = service;\r\n this.element = element;\r\n this.iframe = iframe;\r\n this.embeType = config.type.toLowerCase();\r\n\r\n this.populateConfig(config);\r\n \r\n if(this.embeType === 'create'){\r\n this.setIframe(false/*set EventListener to call create() on 'load' event*/);\r\n } else {\r\n this.setIframe(true/*set EventListener to call load() on 'load' event*/, phasedRender);\r\n }\r\n }\r\n\r\n /**\r\n * Sends createReport configuration data.\r\n * \r\n * ```javascript\r\n * createReport({\r\n * datasetId: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',\r\n * accessToken: 'eyJ0eXA ... TaE2rTSbmg',\r\n * ```\r\n * \r\n * @param {models.IReportCreateConfiguration} config\r\n * @returns {Promise}\r\n */\r\n createReport(config: models.IReportCreateConfiguration): Promise {\r\n const errors = models.validateCreateReport(config);\r\n if (errors) {\r\n throw errors;\r\n }\r\n \r\n return this.service.hpm.post(\"/report/create\", config, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n },\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Saves Report.\r\n * \r\n * @returns {Promise}\r\n */\r\n save(): Promise {\r\n return this.service.hpm.post('/report/save', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * SaveAs Report.\r\n * \r\n * @returns {Promise}\r\n */\r\n saveAs(saveAsParameters: models.ISaveAsParameters): Promise {\r\n return this.service.hpm.post('/report/saveAs', saveAsParameters, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Sends load configuration data.\r\n * \r\n * ```javascript\r\n * report.load({\r\n * type: 'report',\r\n * id: '5dac7a4a-4452-46b3-99f6-a25915e0fe55',\r\n * accessToken: 'eyJ0eXA ... TaE2rTSbmg',\r\n * settings: {\r\n * navContentPaneEnabled: false\r\n * },\r\n * pageName: \"DefaultPage\",\r\n * filters: [\r\n * {\r\n * ... DefaultReportFilter ...\r\n * }\r\n * ]\r\n * })\r\n * .catch(error => { ... });\r\n * ```\r\n * \r\n * @param {models.ILoadConfiguration} config\r\n * @param {boolean} phasedRender\r\n * @returns {Promise}\r\n */\r\n load(config: IEmbedConfigurationBase, phasedRender?: boolean): Promise {\r\n const errors = this.validate(config);\r\n if (errors) {\r\n throw errors;\r\n }\r\n\r\n const path = phasedRender && config.type === 'report' ? this.phasedLoadPath : this.loadPath;\r\n return this.service.hpm.post(path, config, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n utils.assign(this.config, config);\r\n return response.body;\r\n },\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Removes one or more event handlers from the list of handlers.\r\n * If a reference to the existing handle function is specified, remove the specific handler.\r\n * If the handler is not specified, remove all handlers for the event name specified.\r\n * \r\n * ```javascript\r\n * report.off('pageChanged')\r\n * \r\n * or \r\n * \r\n * const logHandler = function (event) {\r\n * console.log(event);\r\n * };\r\n * \r\n * report.off('pageChanged', logHandler);\r\n * ```\r\n * \r\n * @template T\r\n * @param {string} eventName\r\n * @param {service.IEventHandler} [handler]\r\n */\r\n off(eventName: string, handler?: service.IEventHandler): void {\r\n const fakeEvent: service.IEvent = { name: eventName, type: null, id: null, value: null };\r\n if (handler) {\r\n utils.remove(eventHandler => eventHandler.test(fakeEvent) && (eventHandler.handle === handler), this.eventHandlers);\r\n this.element.removeEventListener(eventName, handler);\r\n }\r\n else {\r\n const eventHandlersToRemove = this.eventHandlers\r\n .filter(eventHandler => eventHandler.test(fakeEvent));\r\n\r\n eventHandlersToRemove\r\n .forEach(eventHandlerToRemove => {\r\n utils.remove(eventHandler => eventHandler === eventHandlerToRemove, this.eventHandlers);\r\n this.element.removeEventListener(eventName, eventHandlerToRemove.handle);\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Adds an event handler for a specific event.\r\n * \r\n * ```javascript\r\n * report.on('pageChanged', (event) => {\r\n * console.log('PageChanged: ', event.page.name);\r\n * });\r\n * ```\r\n * \r\n * @template T\r\n * @param {string} eventName\r\n * @param {service.IEventHandler} handler\r\n */\r\n on(eventName: string, handler: service.IEventHandler): void {\r\n if (this.allowedEvents.indexOf(eventName) === -1) {\r\n throw new Error(`eventName is must be one of ${this.allowedEvents}. You passed: ${eventName}`);\r\n }\r\n\r\n this.eventHandlers.push({\r\n test: (event: service.IEvent) => event.name === eventName,\r\n handle: handler\r\n });\r\n\r\n this.element.addEventListener(eventName, handler)\r\n }\r\n\r\n /**\r\n * Reloads embed using existing configuration.\r\n * E.g. For reports this effectively clears all filters and makes the first page active which simulates resetting a report back to loaded state.\r\n * \r\n * ```javascript\r\n * report.reload();\r\n * ```\r\n */\r\n reload(): Promise {\r\n return this.load(this.config);\r\n }\r\n \r\n /**\r\n * Set accessToken.\r\n * \r\n * @returns {Promise}\r\n */\r\n setAccessToken(accessToken: string): Promise {\r\n var embedType = this.config.type;\r\n return this.service.hpm.post('/' + embedType + '/token', accessToken, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n \r\n /**\r\n * Gets an access token from the first available location: config, attribute, global.\r\n * \r\n * @private\r\n * @param {string} globalAccessToken\r\n * @returns {string}\r\n */\r\n private getAccessToken(globalAccessToken: string): string {\r\n const accessToken = this.config.accessToken || this.element.getAttribute(Embed.accessTokenAttribute) || globalAccessToken;\r\n\r\n if (!accessToken) {\r\n 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.`);\r\n }\r\n\r\n return accessToken;\r\n }\r\n\r\n /**\r\n * Populate config for create and load\r\n * \r\n * @param {IEmbedConfiguration}\r\n * @returns {void}\r\n */\r\n populateConfig(config: IEmbedConfigurationBase): void {\r\n this.config = config;\r\n \r\n // TODO: Change when Object.assign is available.\r\n this.config.uniqueId = this.getUniqueId();\r\n this.config.embedUrl = this.getEmbedUrl();\r\n this.config.accessToken = this.getAccessToken(this.service.accessToken);\r\n this.addLocaleToEmbedUrl(config);\r\n }\r\n\r\n /**\r\n * Adds locale parameters to embedUrl\r\n * \r\n * @private\r\n * @param {IEmbedConfiguration} config\r\n */\r\n private addLocaleToEmbedUrl(config: IEmbedConfiguration): void {\r\n if (!config.settings) {\r\n return;\r\n }\r\n let localeSettings = config.settings.localeSettings\r\n if (localeSettings && localeSettings.language) {\r\n this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'language', localeSettings.language);\r\n }\r\n if (localeSettings && localeSettings.formatLocale) {\r\n this.config.embedUrl = utils.addParamToUrl(this.config.embedUrl, 'formatLocale', localeSettings.formatLocale);\r\n }\r\n }\r\n\r\n /**\r\n * Gets an embed url from the first available location: options, attribute.\r\n * \r\n * @private\r\n * @returns {string}\r\n */\r\n private getEmbedUrl(): string {\r\n const embedUrl = this.config.embedUrl || this.element.getAttribute(Embed.embedUrlAttribute);\r\n\r\n if (typeof embedUrl !== 'string' || embedUrl.length === 0) {\r\n 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}'.`);\r\n }\r\n\r\n return embedUrl;\r\n }\r\n\r\n /**\r\n * Gets a unique ID from the first available location: options, attribute.\r\n * If neither is provided generate a unique string.\r\n * \r\n * @private\r\n * @returns {string}\r\n */\r\n private getUniqueId(): string {\r\n return this.config.uniqueId || this.element.getAttribute(Embed.nameAttribute) || utils.createRandomString();\r\n }\r\n\r\n /**\r\n * Gets the report ID from the first available location: options, attribute.\r\n * \r\n * @abstract\r\n * @returns {string}\r\n */\r\n abstract getId(): string;\r\n\r\n /**\r\n * Requests the browser to render the component's iframe in fullscreen mode.\r\n */\r\n fullscreen(): void {\r\n const requestFullScreen = this.iframe.requestFullscreen || this.iframe.msRequestFullscreen || this.iframe.mozRequestFullScreen || this.iframe.webkitRequestFullscreen;\r\n requestFullScreen.call(this.iframe);\r\n }\r\n\r\n /**\r\n * Requests the browser to exit fullscreen mode.\r\n */\r\n exitFullscreen(): void {\r\n if (!this.isFullscreen(this.iframe)) {\r\n return;\r\n }\r\n\r\n const exitFullscreen = document.exitFullscreen || document.mozCancelFullScreen || document.webkitExitFullscreen || document.msExitFullscreen;\r\n exitFullscreen.call(document);\r\n }\r\n\r\n /**\r\n * Returns true if the iframe is rendered in fullscreen mode,\r\n * otherwise returns false.\r\n * \r\n * @private\r\n * @param {HTMLIFrameElement} iframe\r\n * @returns {boolean}\r\n */\r\n private isFullscreen(iframe: HTMLIFrameElement): boolean {\r\n const options = ['fullscreenElement', 'webkitFullscreenElement', 'mozFullscreenScreenElement', 'msFullscreenElement'];\r\n\r\n return options.some(option => document[option] === iframe);\r\n }\r\n \r\n /**\r\n * Validate load and create configuration.\r\n */\r\n abstract validate(config: IEmbedConfigurationBase): models.IError[];\r\n\r\n /**\r\n * Sets Iframe for embed\r\n */\r\n private setIframe(isLoad: boolean, phasedRender?: boolean): void {\r\n if(!this.iframe) {\r\n var iframeContent = document.createElement(\"iframe\");\r\n var embedUrl = this.config.embedUrl;\r\n iframeContent.setAttribute(\"style\", \"width:100%;height:100%;\");\r\n iframeContent.setAttribute(\"src\", embedUrl);\r\n iframeContent.setAttribute(\"scrolling\", \"no\");\r\n iframeContent.setAttribute(\"allowfullscreen\", \"true\");\r\n var node = this.element;\r\n while(node.firstChild) {\r\n node.removeChild(node.firstChild);\r\n }\r\n node.appendChild(iframeContent);\r\n this.iframe = node.firstChild;\r\n }\r\n\r\n if(isLoad){\r\n this.iframe.addEventListener('load', () => this.load(this.config, phasedRender), false);\r\n } else {\r\n this.iframe.addEventListener('load', () => this.createReport(this.createConfig), false);\r\n }\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/embed.ts","\r\n/**\r\n * Raises a custom event with event data on the specified HTML element.\r\n * \r\n * @export\r\n * @param {HTMLElement} element\r\n * @param {string} eventName\r\n * @param {*} eventData\r\n */\r\nexport function raiseCustomEvent(element: HTMLElement, eventName: string, eventData: any): void {\r\n let customEvent;\r\n if (typeof CustomEvent === 'function') {\r\n customEvent = new CustomEvent(eventName, {\r\n detail: eventData,\r\n bubbles: true,\r\n cancelable: true\r\n });\r\n } else {\r\n customEvent = document.createEvent('CustomEvent');\r\n customEvent.initCustomEvent(eventName, true, true, eventData);\r\n }\r\n\r\n element.dispatchEvent(customEvent);\r\n}\r\n\r\n/**\r\n * Finds the index of the first value in an array that matches the specified predicate.\r\n * \r\n * @export\r\n * @template T\r\n * @param {(x: T) => boolean} predicate\r\n * @param {T[]} xs\r\n * @returns {number}\r\n */\r\nexport function findIndex(predicate: (x: T) => boolean, xs: T[]): number {\r\n if (!Array.isArray(xs)) {\r\n throw new Error(`You attempted to call find with second parameter that was not an array. You passed: ${xs}`);\r\n }\r\n\r\n let index;\r\n xs.some((x, i) => {\r\n if (predicate(x)) {\r\n index = i;\r\n return true;\r\n }\r\n });\r\n\r\n return index;\r\n}\r\n\r\n/**\r\n * Finds the first value in an array that matches the specified predicate.\r\n * \r\n * @export\r\n * @template T\r\n * @param {(x: T) => boolean} predicate\r\n * @param {T[]} xs\r\n * @returns {T}\r\n */\r\nexport function find(predicate: (x: T) => boolean, xs: T[]): T {\r\n const index = findIndex(predicate, xs);\r\n return xs[index];\r\n}\r\n\r\nexport function remove(predicate: (x: T) => boolean, xs: T[]): void {\r\n const index = findIndex(predicate, xs);\r\n xs.splice(index, 1);\r\n}\r\n\r\n// See: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\r\n// TODO: replace in favor of using polyfill\r\n/**\r\n * Copies the values of all enumerable properties from one or more source objects to a target object, and returns the target object.\r\n * \r\n * @export\r\n * @param {any} args\r\n * @returns\r\n */\r\nexport function assign(...args) {\r\n var target = args[0];\r\n\r\n 'use strict';\r\n if (target === undefined || target === null) {\r\n throw new TypeError('Cannot convert undefined or null to object');\r\n }\r\n\r\n var output = Object(target);\r\n for (var index = 1; index < arguments.length; index++) {\r\n var source = arguments[index];\r\n if (source !== undefined && source !== null) {\r\n for (var nextKey in source) {\r\n if (source.hasOwnProperty(nextKey)) {\r\n output[nextKey] = source[nextKey];\r\n }\r\n }\r\n }\r\n }\r\n return output;\r\n}\r\n\r\n/**\r\n * Generates a random 7 character string.\r\n * \r\n * @export\r\n * @returns {string}\r\n */\r\nexport function createRandomString(): string {\r\n return (Math.random() + 1).toString(36).substring(7);\r\n}\r\n\r\n/**\r\n * Adds a parameter to the given url\r\n * \r\n * @export\r\n * @param {string} url\r\n * @param {string} paramName\r\n * @param {string} value\r\n * @returns {string}\r\n */\r\nexport function addParamToUrl(url: string, paramName: string, value: string): string {\r\n let parameterPrefix = url.indexOf('?') > 0 ? '&' : '?';\r\n url += parameterPrefix + paramName + '=' + value;\r\n return url;\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util.ts","/*! powerbi-models v1.0.4 | (c) 2016 Microsoft Corporation MIT */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"powerbi-models\"] = factory();\n\telse\n\t\troot[\"powerbi-models\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\texports.Validators = __webpack_require__(1).Validators;\r\n\tvar PageSizeType;\r\n\t(function (PageSizeType) {\r\n\t PageSizeType[PageSizeType[\"Widescreen\"] = 0] = \"Widescreen\";\r\n\t PageSizeType[PageSizeType[\"Standard\"] = 1] = \"Standard\";\r\n\t PageSizeType[PageSizeType[\"Cortana\"] = 2] = \"Cortana\";\r\n\t PageSizeType[PageSizeType[\"Letter\"] = 3] = \"Letter\";\r\n\t PageSizeType[PageSizeType[\"Custom\"] = 4] = \"Custom\";\r\n\t})(PageSizeType = exports.PageSizeType || (exports.PageSizeType = {}));\r\n\tvar DisplayOption;\r\n\t(function (DisplayOption) {\r\n\t DisplayOption[DisplayOption[\"FitToPage\"] = 0] = \"FitToPage\";\r\n\t DisplayOption[DisplayOption[\"FitToWidth\"] = 1] = \"FitToWidth\";\r\n\t DisplayOption[DisplayOption[\"ActualSize\"] = 2] = \"ActualSize\";\r\n\t})(DisplayOption = exports.DisplayOption || (exports.DisplayOption = {}));\r\n\tvar BackgroundType;\r\n\t(function (BackgroundType) {\r\n\t BackgroundType[BackgroundType[\"Default\"] = 0] = \"Default\";\r\n\t BackgroundType[BackgroundType[\"Transparent\"] = 1] = \"Transparent\";\r\n\t})(BackgroundType = exports.BackgroundType || (exports.BackgroundType = {}));\r\n\tvar VisualContainerDisplayMode;\r\n\t(function (VisualContainerDisplayMode) {\r\n\t VisualContainerDisplayMode[VisualContainerDisplayMode[\"Visible\"] = 0] = \"Visible\";\r\n\t VisualContainerDisplayMode[VisualContainerDisplayMode[\"Hidden\"] = 1] = \"Hidden\";\r\n\t})(VisualContainerDisplayMode = exports.VisualContainerDisplayMode || (exports.VisualContainerDisplayMode = {}));\r\n\tvar LayoutType;\r\n\t(function (LayoutType) {\r\n\t LayoutType[LayoutType[\"Master\"] = 0] = \"Master\";\r\n\t LayoutType[LayoutType[\"Custom\"] = 1] = \"Custom\";\r\n\t LayoutType[LayoutType[\"MobilePortrait\"] = 2] = \"MobilePortrait\";\r\n\t LayoutType[LayoutType[\"MobileLandscape\"] = 3] = \"MobileLandscape\";\r\n\t})(LayoutType = exports.LayoutType || (exports.LayoutType = {}));\r\n\tvar SectionVisibility;\r\n\t(function (SectionVisibility) {\r\n\t SectionVisibility[SectionVisibility[\"AlwaysVisible\"] = 0] = \"AlwaysVisible\";\r\n\t SectionVisibility[SectionVisibility[\"HiddenInViewMode\"] = 1] = \"HiddenInViewMode\";\r\n\t})(SectionVisibility = exports.SectionVisibility || (exports.SectionVisibility = {}));\r\n\tvar Permissions;\r\n\t(function (Permissions) {\r\n\t Permissions[Permissions[\"Read\"] = 0] = \"Read\";\r\n\t Permissions[Permissions[\"ReadWrite\"] = 1] = \"ReadWrite\";\r\n\t Permissions[Permissions[\"Copy\"] = 2] = \"Copy\";\r\n\t Permissions[Permissions[\"Create\"] = 4] = \"Create\";\r\n\t Permissions[Permissions[\"All\"] = 7] = \"All\";\r\n\t})(Permissions = exports.Permissions || (exports.Permissions = {}));\r\n\tvar ViewMode;\r\n\t(function (ViewMode) {\r\n\t ViewMode[ViewMode[\"View\"] = 0] = \"View\";\r\n\t ViewMode[ViewMode[\"Edit\"] = 1] = \"Edit\";\r\n\t})(ViewMode = exports.ViewMode || (exports.ViewMode = {}));\r\n\tvar TokenType;\r\n\t(function (TokenType) {\r\n\t TokenType[TokenType[\"Aad\"] = 0] = \"Aad\";\r\n\t TokenType[TokenType[\"Embed\"] = 1] = \"Embed\";\r\n\t})(TokenType = exports.TokenType || (exports.TokenType = {}));\r\n\tvar FilterType;\r\n\t(function (FilterType) {\r\n\t FilterType[FilterType[\"Advanced\"] = 0] = \"Advanced\";\r\n\t FilterType[FilterType[\"Basic\"] = 1] = \"Basic\";\r\n\t FilterType[FilterType[\"Unknown\"] = 2] = \"Unknown\";\r\n\t FilterType[FilterType[\"IncludeExclude\"] = 3] = \"IncludeExclude\";\r\n\t FilterType[FilterType[\"RelativeDate\"] = 4] = \"RelativeDate\";\r\n\t FilterType[FilterType[\"TopN\"] = 5] = \"TopN\";\r\n\t})(FilterType = exports.FilterType || (exports.FilterType = {}));\r\n\tvar RelativeDateFilterTimeUnit;\r\n\t(function (RelativeDateFilterTimeUnit) {\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"Days\"] = 0] = \"Days\";\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"Weeks\"] = 1] = \"Weeks\";\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"CalendarWeeks\"] = 2] = \"CalendarWeeks\";\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"Months\"] = 3] = \"Months\";\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"CalendarMonths\"] = 4] = \"CalendarMonths\";\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"Years\"] = 5] = \"Years\";\r\n\t RelativeDateFilterTimeUnit[RelativeDateFilterTimeUnit[\"CalendarYears\"] = 6] = \"CalendarYears\";\r\n\t})(RelativeDateFilterTimeUnit = exports.RelativeDateFilterTimeUnit || (exports.RelativeDateFilterTimeUnit = {}));\r\n\tvar RelativeDateOperators;\r\n\t(function (RelativeDateOperators) {\r\n\t RelativeDateOperators[RelativeDateOperators[\"InLast\"] = 0] = \"InLast\";\r\n\t RelativeDateOperators[RelativeDateOperators[\"InThis\"] = 1] = \"InThis\";\r\n\t RelativeDateOperators[RelativeDateOperators[\"InNext\"] = 2] = \"InNext\";\r\n\t})(RelativeDateOperators = exports.RelativeDateOperators || (exports.RelativeDateOperators = {}));\r\n\tvar Filter = /** @class */ (function () {\r\n\t function Filter(target, filterType) {\r\n\t this.target = target;\r\n\t this.filterType = filterType;\r\n\t }\r\n\t Filter.prototype.toJSON = function () {\r\n\t return {\r\n\t $schema: this.schemaUrl,\r\n\t target: this.target,\r\n\t filterType: this.filterType\r\n\t };\r\n\t };\r\n\t ;\r\n\t return Filter;\r\n\t}());\r\n\texports.Filter = Filter;\r\n\tvar NotSupportedFilter = /** @class */ (function (_super) {\r\n\t __extends(NotSupportedFilter, _super);\r\n\t function NotSupportedFilter(target, message, notSupportedTypeName) {\r\n\t var _this = _super.call(this, target, FilterType.Unknown) || this;\r\n\t _this.message = message;\r\n\t _this.notSupportedTypeName = notSupportedTypeName;\r\n\t _this.schemaUrl = NotSupportedFilter.schemaUrl;\r\n\t return _this;\r\n\t }\r\n\t NotSupportedFilter.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.message = this.message;\r\n\t filter.notSupportedTypeName = this.notSupportedTypeName;\r\n\t return filter;\r\n\t };\r\n\t NotSupportedFilter.schemaUrl = \"http://powerbi.com/product/schema#notSupported\";\r\n\t return NotSupportedFilter;\r\n\t}(Filter));\r\n\texports.NotSupportedFilter = NotSupportedFilter;\r\n\tvar IncludeExcludeFilter = /** @class */ (function (_super) {\r\n\t __extends(IncludeExcludeFilter, _super);\r\n\t function IncludeExcludeFilter(target, isExclude, values) {\r\n\t var _this = _super.call(this, target, FilterType.IncludeExclude) || this;\r\n\t _this.values = values;\r\n\t _this.isExclude = isExclude;\r\n\t _this.schemaUrl = IncludeExcludeFilter.schemaUrl;\r\n\t return _this;\r\n\t }\r\n\t IncludeExcludeFilter.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.isExclude = this.isExclude;\r\n\t filter.values = this.values;\r\n\t return filter;\r\n\t };\r\n\t IncludeExcludeFilter.schemaUrl = \"http://powerbi.com/product/schema#includeExclude\";\r\n\t return IncludeExcludeFilter;\r\n\t}(Filter));\r\n\texports.IncludeExcludeFilter = IncludeExcludeFilter;\r\n\tvar TopNFilter = /** @class */ (function (_super) {\r\n\t __extends(TopNFilter, _super);\r\n\t function TopNFilter(target, operator, itemCount) {\r\n\t var _this = _super.call(this, target, FilterType.TopN) || this;\r\n\t _this.operator = operator;\r\n\t _this.itemCount = itemCount;\r\n\t _this.schemaUrl = TopNFilter.schemaUrl;\r\n\t return _this;\r\n\t }\r\n\t TopNFilter.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.operator = this.operator;\r\n\t filter.itemCount = this.itemCount;\r\n\t return filter;\r\n\t };\r\n\t TopNFilter.schemaUrl = \"http://powerbi.com/product/schema#topN\";\r\n\t return TopNFilter;\r\n\t}(Filter));\r\n\texports.TopNFilter = TopNFilter;\r\n\tvar RelativeDateFilter = /** @class */ (function (_super) {\r\n\t __extends(RelativeDateFilter, _super);\r\n\t function RelativeDateFilter(target, operator, timeUnitsCount, timeUnitType, includeToday) {\r\n\t var _this = _super.call(this, target, FilterType.RelativeDate) || this;\r\n\t _this.operator = operator;\r\n\t _this.timeUnitsCount = timeUnitsCount;\r\n\t _this.timeUnitType = timeUnitType;\r\n\t _this.includeToday = includeToday;\r\n\t _this.schemaUrl = RelativeDateFilter.schemaUrl;\r\n\t return _this;\r\n\t }\r\n\t RelativeDateFilter.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.operator = this.operator;\r\n\t filter.timeUnitsCount = this.timeUnitsCount;\r\n\t filter.timeUnitType = this.timeUnitType;\r\n\t filter.includeToday = this.includeToday;\r\n\t return filter;\r\n\t };\r\n\t RelativeDateFilter.schemaUrl = \"http://powerbi.com/product/schema#relativeDate\";\r\n\t return RelativeDateFilter;\r\n\t}(Filter));\r\n\texports.RelativeDateFilter = RelativeDateFilter;\r\n\tvar BasicFilter = /** @class */ (function (_super) {\r\n\t __extends(BasicFilter, _super);\r\n\t function BasicFilter(target, operator) {\r\n\t var values = [];\r\n\t for (var _i = 2; _i < arguments.length; _i++) {\r\n\t values[_i - 2] = arguments[_i];\r\n\t }\r\n\t var _this = _super.call(this, target, FilterType.Basic) || this;\r\n\t _this.operator = operator;\r\n\t _this.schemaUrl = BasicFilter.schemaUrl;\r\n\t if (values.length === 0 && operator !== \"All\") {\r\n\t throw new Error(\"values must be a non-empty array unless your operator is \\\"All\\\".\");\r\n\t }\r\n\t /**\r\n\t * Accept values as array instead of as individual arguments\r\n\t * new BasicFilter('a', 'b', 1, 2);\r\n\t * new BasicFilter('a', 'b', [1,2]);\r\n\t */\r\n\t if (Array.isArray(values[0])) {\r\n\t _this.values = values[0];\r\n\t }\r\n\t else {\r\n\t _this.values = values;\r\n\t }\r\n\t return _this;\r\n\t }\r\n\t BasicFilter.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.operator = this.operator;\r\n\t filter.values = this.values;\r\n\t return filter;\r\n\t };\r\n\t BasicFilter.schemaUrl = \"http://powerbi.com/product/schema#basic\";\r\n\t return BasicFilter;\r\n\t}(Filter));\r\n\texports.BasicFilter = BasicFilter;\r\n\tvar BasicFilterWithKeys = /** @class */ (function (_super) {\r\n\t __extends(BasicFilterWithKeys, _super);\r\n\t function BasicFilterWithKeys(target, operator, values, keyValues) {\r\n\t var _this = _super.call(this, target, operator, values) || this;\r\n\t _this.keyValues = keyValues;\r\n\t _this.target = target;\r\n\t var numberOfKeys = target.keys ? target.keys.length : 0;\r\n\t if (numberOfKeys > 0 && !keyValues) {\r\n\t throw new Error(\"You shold pass the values to be filtered for each key. You passed: no values and \" + numberOfKeys + \" keys\");\r\n\t }\r\n\t if (numberOfKeys === 0 && keyValues && keyValues.length > 0) {\r\n\t throw new Error(\"You passed key values but your target object doesn't contain the keys to be filtered\");\r\n\t }\r\n\t for (var i = 0; i < _this.keyValues.length; i++) {\r\n\t if (_this.keyValues[i]) {\r\n\t var lengthOfArray = _this.keyValues[i].length;\r\n\t if (lengthOfArray !== numberOfKeys) {\r\n\t throw new Error(\"Each tuple of key values should contain a value for each of the keys. You passed: \" + lengthOfArray + \" values and \" + numberOfKeys + \" keys\");\r\n\t }\r\n\t }\r\n\t }\r\n\t return _this;\r\n\t }\r\n\t BasicFilterWithKeys.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.keyValues = this.keyValues;\r\n\t return filter;\r\n\t };\r\n\t return BasicFilterWithKeys;\r\n\t}(BasicFilter));\r\n\texports.BasicFilterWithKeys = BasicFilterWithKeys;\r\n\tvar AdvancedFilter = /** @class */ (function (_super) {\r\n\t __extends(AdvancedFilter, _super);\r\n\t function AdvancedFilter(target, logicalOperator) {\r\n\t var conditions = [];\r\n\t for (var _i = 2; _i < arguments.length; _i++) {\r\n\t conditions[_i - 2] = arguments[_i];\r\n\t }\r\n\t var _this = _super.call(this, target, FilterType.Advanced) || this;\r\n\t _this.schemaUrl = AdvancedFilter.schemaUrl;\r\n\t // Guard statements\r\n\t if (typeof logicalOperator !== \"string\" || logicalOperator.length === 0) {\r\n\t // TODO: It would be nicer to list out the possible logical operators.\r\n\t throw new Error(\"logicalOperator must be a valid operator, You passed: \" + logicalOperator);\r\n\t }\r\n\t _this.logicalOperator = logicalOperator;\r\n\t var extractedConditions;\r\n\t /**\r\n\t * Accept conditions as array instead of as individual arguments\r\n\t * new AdvancedFilter('a', 'b', \"And\", { value: 1, operator: \"Equals\" }, { value: 2, operator: \"IsGreaterThan\" });\r\n\t * new AdvancedFilter('a', 'b', \"And\", [{ value: 1, operator: \"Equals\" }, { value: 2, operator: \"IsGreaterThan\" }]);\r\n\t */\r\n\t if (Array.isArray(conditions[0])) {\r\n\t extractedConditions = conditions[0];\r\n\t }\r\n\t else {\r\n\t extractedConditions = conditions;\r\n\t }\r\n\t if (extractedConditions.length === 0) {\r\n\t throw new Error(\"conditions must be a non-empty array. You passed: \" + conditions);\r\n\t }\r\n\t if (extractedConditions.length > 2) {\r\n\t throw new Error(\"AdvancedFilters may not have more than two conditions. You passed: \" + conditions.length);\r\n\t }\r\n\t if (extractedConditions.length === 1 && logicalOperator !== \"And\") {\r\n\t throw new Error(\"Logical Operator must be \\\"And\\\" when there is only one condition provided\");\r\n\t }\r\n\t _this.conditions = extractedConditions;\r\n\t return _this;\r\n\t }\r\n\t AdvancedFilter.prototype.toJSON = function () {\r\n\t var filter = _super.prototype.toJSON.call(this);\r\n\t filter.logicalOperator = this.logicalOperator;\r\n\t filter.conditions = this.conditions;\r\n\t return filter;\r\n\t };\r\n\t AdvancedFilter.schemaUrl = \"http://powerbi.com/product/schema#advanced\";\r\n\t return AdvancedFilter;\r\n\t}(Filter));\r\n\texports.AdvancedFilter = AdvancedFilter;\r\n\tfunction isFilterKeyColumnsTarget(target) {\r\n\t return isColumn(target) && !!target.keys;\r\n\t}\r\n\texports.isFilterKeyColumnsTarget = isFilterKeyColumnsTarget;\r\n\tfunction isBasicFilterWithKeys(filter) {\r\n\t return getFilterType(filter) === FilterType.Basic && !!filter.keyValues;\r\n\t}\r\n\texports.isBasicFilterWithKeys = isBasicFilterWithKeys;\r\n\tfunction getFilterType(filter) {\r\n\t if (filter.filterType) {\r\n\t return filter.filterType;\r\n\t }\r\n\t var basicFilter = filter;\r\n\t var advancedFilter = filter;\r\n\t if ((typeof basicFilter.operator === \"string\")\r\n\t && (Array.isArray(basicFilter.values))) {\r\n\t return FilterType.Basic;\r\n\t }\r\n\t else if ((typeof advancedFilter.logicalOperator === \"string\")\r\n\t && (Array.isArray(advancedFilter.conditions))) {\r\n\t return FilterType.Advanced;\r\n\t }\r\n\t else {\r\n\t return FilterType.Unknown;\r\n\t }\r\n\t}\r\n\texports.getFilterType = getFilterType;\r\n\tfunction isMeasure(arg) {\r\n\t return arg.table !== undefined && arg.measure !== undefined;\r\n\t}\r\n\texports.isMeasure = isMeasure;\r\n\tfunction isColumn(arg) {\r\n\t return arg.table !== undefined && arg.column !== undefined;\r\n\t}\r\n\texports.isColumn = isColumn;\r\n\tfunction isHierarchy(arg) {\r\n\t return arg.table !== undefined && arg.hierarchy !== undefined && arg.hierarchyLevel !== undefined;\r\n\t}\r\n\texports.isHierarchy = isHierarchy;\r\n\tvar QnaMode;\r\n\t(function (QnaMode) {\r\n\t QnaMode[QnaMode[\"Interactive\"] = 0] = \"Interactive\";\r\n\t QnaMode[QnaMode[\"ResultOnly\"] = 1] = \"ResultOnly\";\r\n\t})(QnaMode = exports.QnaMode || (exports.QnaMode = {}));\r\n\tvar ExportDataType;\r\n\t(function (ExportDataType) {\r\n\t ExportDataType[ExportDataType[\"Summarized\"] = 0] = \"Summarized\";\r\n\t ExportDataType[ExportDataType[\"Underlying\"] = 1] = \"Underlying\";\r\n\t})(ExportDataType = exports.ExportDataType || (exports.ExportDataType = {}));\r\n\tvar BookmarksPlayMode;\r\n\t(function (BookmarksPlayMode) {\r\n\t BookmarksPlayMode[BookmarksPlayMode[\"Off\"] = 0] = \"Off\";\r\n\t BookmarksPlayMode[BookmarksPlayMode[\"Presentation\"] = 1] = \"Presentation\";\r\n\t})(BookmarksPlayMode = exports.BookmarksPlayMode || (exports.BookmarksPlayMode = {}));\r\n\tfunction normalizeError(error) {\r\n\t var message = error.message;\r\n\t if (!message) {\r\n\t message = error.path + \" is invalid. Not meeting \" + error.keyword + \" constraint\";\r\n\t }\r\n\t return {\r\n\t message: message\r\n\t };\r\n\t}\r\n\tfunction validatePlayBookmarkRequest(input) {\r\n\t var errors = exports.Validators.playBookmarkRequestValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validatePlayBookmarkRequest = validatePlayBookmarkRequest;\r\n\tfunction validateAddBookmarkRequest(input) {\r\n\t var errors = exports.Validators.addBookmarkRequestValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateAddBookmarkRequest = validateAddBookmarkRequest;\r\n\tfunction validateApplyBookmarkByNameRequest(input) {\r\n\t var errors = exports.Validators.applyBookmarkByNameRequestValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateApplyBookmarkByNameRequest = validateApplyBookmarkByNameRequest;\r\n\tfunction validateApplyBookmarkStateRequest(input) {\r\n\t var errors = exports.Validators.applyBookmarkStateRequestValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateApplyBookmarkStateRequest = validateApplyBookmarkStateRequest;\r\n\tfunction validateSettings(input) {\r\n\t var errors = exports.Validators.settingsValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateSettings = validateSettings;\r\n\tfunction validateCustomPageSize(input) {\r\n\t var errors = exports.Validators.customPageSizeValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateCustomPageSize = validateCustomPageSize;\r\n\tfunction validateExtension(input) {\r\n\t var errors = exports.Validators.extentionValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateExtension = validateExtension;\r\n\tfunction validateReportLoad(input) {\r\n\t var errors = exports.Validators.reportLoadValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateReportLoad = validateReportLoad;\r\n\tfunction validateCreateReport(input) {\r\n\t var errors = exports.Validators.reportCreateValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateCreateReport = validateCreateReport;\r\n\tfunction validateDashboardLoad(input) {\r\n\t var errors = exports.Validators.dashboardLoadValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateDashboardLoad = validateDashboardLoad;\r\n\tfunction validateTileLoad(input) {\r\n\t var errors = exports.Validators.tileLoadValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateTileLoad = validateTileLoad;\r\n\tfunction validatePage(input) {\r\n\t var errors = exports.Validators.pageValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validatePage = validatePage;\r\n\tfunction validateFilter(input) {\r\n\t var errors = exports.Validators.filtersValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateFilter = validateFilter;\r\n\tfunction validateSaveAsParameters(input) {\r\n\t var errors = exports.Validators.saveAsParametersValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateSaveAsParameters = validateSaveAsParameters;\r\n\tfunction validateLoadQnaConfiguration(input) {\r\n\t var errors = exports.Validators.loadQnaValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateLoadQnaConfiguration = validateLoadQnaConfiguration;\r\n\tfunction validateQnaInterpretInputData(input) {\r\n\t var errors = exports.Validators.qnaInterpretInputDataValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateQnaInterpretInputData = validateQnaInterpretInputData;\r\n\tfunction validateExportDataRequest(input) {\r\n\t var errors = exports.Validators.exportDataRequestValidator.validate(input);\r\n\t return errors ? errors.map(normalizeError) : undefined;\r\n\t}\r\n\texports.validateExportDataRequest = validateExportDataRequest;\r\n\n\n/***/ }),\n/* 1 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar extensionsValidator_1 = __webpack_require__(3);\r\n\tvar settingsValidator_1 = __webpack_require__(5);\r\n\tvar bookmarkValidator_1 = __webpack_require__(6);\r\n\tvar filtersValidator_1 = __webpack_require__(7);\r\n\tvar fieldRequiredValidator_1 = __webpack_require__(8);\r\n\tvar anyOfValidator_1 = __webpack_require__(9);\r\n\tvar reportLoadValidator_1 = __webpack_require__(10);\r\n\tvar reportCreateValidator_1 = __webpack_require__(11);\r\n\tvar dashboardLoadValidator_1 = __webpack_require__(12);\r\n\tvar tileLoadValidator_1 = __webpack_require__(13);\r\n\tvar pageValidator_1 = __webpack_require__(14);\r\n\tvar qnaValidator_1 = __webpack_require__(15);\r\n\tvar saveAsParametersValidator_1 = __webpack_require__(16);\r\n\tvar mapValidator_1 = __webpack_require__(17);\r\n\tvar layoutValidator_1 = __webpack_require__(18);\r\n\tvar exportDataValidator_1 = __webpack_require__(19);\r\n\texports.Validators = {\r\n\t advancedFilterTypeValidator: new typeValidator_1.EnumValidator([0]),\r\n\t advancedFilterValidator: new filtersValidator_1.AdvancedFilterValidator(),\r\n\t anyArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()])]),\r\n\t 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()]),\r\n\t anyValueValidator: new anyOfValidator_1.AnyOfValidator([new typeValidator_1.StringValidator(), new typeValidator_1.NumberValidator(), new typeValidator_1.BooleanValidator()]),\r\n\t basicFilterTypeValidator: new typeValidator_1.EnumValidator([1]),\r\n\t basicFilterValidator: new filtersValidator_1.BasicFilterValidator(),\r\n\t playBookmarkRequestValidator: new bookmarkValidator_1.PlayBookmarkRequestValidator(),\r\n\t addBookmarkRequestValidator: new bookmarkValidator_1.AddBookmarkRequestValidator(),\r\n\t applyBookmarkByNameRequestValidator: new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(),\r\n\t applyBookmarkStateRequestValidator: new bookmarkValidator_1.ApplyBookmarkStateRequestValidator(),\r\n\t applyBookmarkValidator: new anyOfValidator_1.AnyOfValidator([new bookmarkValidator_1.ApplyBookmarkByNameRequestValidator(), new bookmarkValidator_1.ApplyBookmarkStateRequestValidator()]),\r\n\t backgroundValidator: new typeValidator_1.EnumValidator([0, 1]),\r\n\t booleanArrayValidator: new typeValidator_1.BooleanArrayValidator(),\r\n\t booleanValidator: new typeValidator_1.BooleanValidator(),\r\n\t commandExtensionValidator: new extensionsValidator_1.CommandExtensionValidator(),\r\n\t conditionItemValidator: new filtersValidator_1.ConditionItemValidator(),\r\n\t customLayoutValidator: new layoutValidator_1.CustomLayoutValidator(),\r\n\t customLayoutDisplayOptionValidator: new typeValidator_1.EnumValidator([0, 1, 2]),\r\n\t customPageSizeValidator: new pageValidator_1.CustomPageSizeValidator(),\r\n\t dashboardLoadValidator: new dashboardLoadValidator_1.DashboardLoadValidator(),\r\n\t displayStateModeValidator: new typeValidator_1.EnumValidator([0, 1]),\r\n\t displayStateValidator: new layoutValidator_1.DisplayStateValidator(),\r\n\t exportDataRequestValidator: new exportDataValidator_1.ExportDataRequestValidator(),\r\n\t extensionPointsValidator: new extensionsValidator_1.ExtensionPointsValidator(),\r\n\t extentionArrayValidator: new typeValidator_1.ArrayValidator([new extensionsValidator_1.ExtensionValidator()]),\r\n\t extentionValidator: new extensionsValidator_1.ExtensionValidator(),\r\n\t fieldRequiredValidator: new fieldRequiredValidator_1.FieldRequiredValidator(),\r\n\t filterColumnTargetValidator: new filtersValidator_1.FilterColumnTargetValidator(),\r\n\t filterConditionsValidator: new typeValidator_1.ArrayValidator([new filtersValidator_1.ConditionItemValidator()]),\r\n\t filterHierarchyTargetValidator: new filtersValidator_1.FilterHierarchyTargetValidator(),\r\n\t filterMeasureTargetValidator: new filtersValidator_1.FilterMeasureTargetValidator(),\r\n\t filterTargetValidator: new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.FilterColumnTargetValidator(), new filtersValidator_1.FilterHierarchyTargetValidator(), new filtersValidator_1.FilterMeasureTargetValidator()]),\r\n\t filtersArrayValidator: new typeValidator_1.ArrayValidator([new anyOfValidator_1.AnyOfValidator([new filtersValidator_1.BasicFilterValidator(), new filtersValidator_1.AdvancedFilterValidator(), new filtersValidator_1.RelativeDateFilterValidator()])]),\r\n\t filtersValidator: new filtersValidator_1.FilterValidator(),\r\n\t includeExcludeFilterValidator: new filtersValidator_1.IncludeExcludeFilterValidator(),\r\n\t includeExludeFilterTypeValidator: new typeValidator_1.EnumValidator([3]),\r\n\t layoutTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3]),\r\n\t loadQnaValidator: new qnaValidator_1.LoadQnaValidator(),\r\n\t menuExtensionValidator: new extensionsValidator_1.MenuExtensionValidator(),\r\n\t notSupportedFilterTypeValidator: new typeValidator_1.EnumValidator([2]),\r\n\t notSupportedFilterValidator: new filtersValidator_1.NotSupportedFilterValidator(),\r\n\t numberArrayValidator: new typeValidator_1.NumberArrayValidator(),\r\n\t numberValidator: new typeValidator_1.NumberValidator(),\r\n\t pageLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.VisualLayoutValidator()]),\r\n\t pageSizeTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5]),\r\n\t pageSizeValidator: new pageValidator_1.PageSizeValidator(),\r\n\t pageValidator: new pageValidator_1.PageValidator(),\r\n\t pageViewFieldValidator: new pageValidator_1.PageViewFieldValidator(),\r\n\t pagesLayoutValidator: new mapValidator_1.MapValidator([new typeValidator_1.StringValidator()], [new layoutValidator_1.PageLayoutValidator()]),\r\n\t permissionsValidator: new typeValidator_1.EnumValidator([0, 1, 2, 4, 7]),\r\n\t qnaInterpretInputDataValidator: new qnaValidator_1.QnaInterpretInputDataValidator(),\r\n\t qnaSettingValidator: new qnaValidator_1.QnaSettingsValidator(),\r\n\t relativeDateFilterOperatorValidator: new typeValidator_1.EnumValidator([0, 1, 2]),\r\n\t relativeDateFilterTimeUnitTypeValidator: new typeValidator_1.EnumValidator([0, 1, 2, 3, 4, 5, 6]),\r\n\t relativeDateFilterTypeValidator: new typeValidator_1.EnumValidator([4]),\r\n\t relativeDateFilterValidator: new filtersValidator_1.RelativeDateFilterValidator(),\r\n\t reportCreateValidator: new reportCreateValidator_1.ReportCreateValidator(),\r\n\t reportLoadValidator: new reportLoadValidator_1.ReportLoadValidator(),\r\n\t saveAsParametersValidator: new saveAsParametersValidator_1.SaveAsParametersValidator(),\r\n\t settingsValidator: new settingsValidator_1.SettingsValidator(),\r\n\t stringArrayValidator: new typeValidator_1.StringArrayValidator(),\r\n\t stringValidator: new typeValidator_1.StringValidator(),\r\n\t tileLoadValidator: new tileLoadValidator_1.TileLoadValidator(),\r\n\t tokenTypeValidator: new typeValidator_1.EnumValidator([0, 1]),\r\n\t topNFilterTypeValidator: new typeValidator_1.EnumValidator([5]),\r\n\t topNFilterValidator: new filtersValidator_1.TopNFilterValidator(),\r\n\t viewModeValidator: new typeValidator_1.EnumValidator([0, 1]),\r\n\t visualLayoutValidator: new layoutValidator_1.VisualLayoutValidator(),\r\n\t};\r\n\n\n/***/ }),\n/* 2 */\n/***/ (function(module, exports) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar ObjectValidator = /** @class */ (function () {\r\n\t function ObjectValidator() {\r\n\t }\r\n\t ObjectValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t if (typeof input !== \"object\" || Array.isArray(input)) {\r\n\t return [{\r\n\t message: field !== undefined ? field + \" must be an object\" : \"input must be an object\",\r\n\t path: path,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return ObjectValidator;\r\n\t}());\r\n\texports.ObjectValidator = ObjectValidator;\r\n\tvar ArrayValidator = /** @class */ (function () {\r\n\t function ArrayValidator(itemValidators) {\r\n\t this.itemValidators = itemValidators;\r\n\t }\r\n\t ArrayValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t if (!(Array.isArray(input))) {\r\n\t return [{\r\n\t message: field + \" property is invalid\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t for (var i = 0; i < input.length; i++) {\r\n\t var fieldsPath = (path ? path + \".\" : \"\") + field + \".\" + i;\r\n\t for (var _i = 0, _a = this.itemValidators; _i < _a.length; _i++) {\r\n\t var validator = _a[_i];\r\n\t var errors = validator.validate(input[i], fieldsPath, field);\r\n\t if (errors) {\r\n\t return [{\r\n\t message: field + \" property is invalid\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t }\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return ArrayValidator;\r\n\t}());\r\n\texports.ArrayValidator = ArrayValidator;\r\n\tvar TypeValidator = /** @class */ (function () {\r\n\t function TypeValidator(expectedType) {\r\n\t this.expectedType = expectedType;\r\n\t }\r\n\t TypeValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t if (!(typeof input === this.expectedType)) {\r\n\t return [{\r\n\t message: field + \" must be a \" + this.expectedType,\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return TypeValidator;\r\n\t}());\r\n\texports.TypeValidator = TypeValidator;\r\n\tvar StringValidator = /** @class */ (function (_super) {\r\n\t __extends(StringValidator, _super);\r\n\t function StringValidator() {\r\n\t return _super.call(this, \"string\") || this;\r\n\t }\r\n\t return StringValidator;\r\n\t}(TypeValidator));\r\n\texports.StringValidator = StringValidator;\r\n\tvar BooleanValidator = /** @class */ (function (_super) {\r\n\t __extends(BooleanValidator, _super);\r\n\t function BooleanValidator() {\r\n\t return _super.call(this, \"boolean\") || this;\r\n\t }\r\n\t return BooleanValidator;\r\n\t}(TypeValidator));\r\n\texports.BooleanValidator = BooleanValidator;\r\n\tvar NumberValidator = /** @class */ (function (_super) {\r\n\t __extends(NumberValidator, _super);\r\n\t function NumberValidator() {\r\n\t return _super.call(this, \"number\") || this;\r\n\t }\r\n\t return NumberValidator;\r\n\t}(TypeValidator));\r\n\texports.NumberValidator = NumberValidator;\r\n\tvar ValueValidator = /** @class */ (function () {\r\n\t function ValueValidator(possibleValues) {\r\n\t this.possibleValues = possibleValues;\r\n\t }\r\n\t ValueValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t if (this.possibleValues.indexOf(input) < 0) {\r\n\t return [{\r\n\t message: field + \" property is invalid\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"invalid\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return ValueValidator;\r\n\t}());\r\n\texports.ValueValidator = ValueValidator;\r\n\tvar EnumValidator = /** @class */ (function (_super) {\r\n\t __extends(EnumValidator, _super);\r\n\t function EnumValidator(possibleValues) {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.possibleValues = possibleValues;\r\n\t return _this;\r\n\t }\r\n\t EnumValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var valueValidator = new ValueValidator(this.possibleValues);\r\n\t return valueValidator.validate(input, path, field);\r\n\t };\r\n\t return EnumValidator;\r\n\t}(NumberValidator));\r\n\texports.EnumValidator = EnumValidator;\r\n\tvar StringArrayValidator = /** @class */ (function (_super) {\r\n\t __extends(StringArrayValidator, _super);\r\n\t function StringArrayValidator() {\r\n\t return _super.call(this, [new StringValidator()]) || this;\r\n\t }\r\n\t StringArrayValidator.prototype.validate = function (input, path, field) {\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return [{\r\n\t message: field + \" must be an array of strings\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return StringArrayValidator;\r\n\t}(ArrayValidator));\r\n\texports.StringArrayValidator = StringArrayValidator;\r\n\tvar BooleanArrayValidator = /** @class */ (function (_super) {\r\n\t __extends(BooleanArrayValidator, _super);\r\n\t function BooleanArrayValidator() {\r\n\t return _super.call(this, [new BooleanValidator()]) || this;\r\n\t }\r\n\t BooleanArrayValidator.prototype.validate = function (input, path, field) {\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return [{\r\n\t message: field + \" must be an array of booleans\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return BooleanArrayValidator;\r\n\t}(ArrayValidator));\r\n\texports.BooleanArrayValidator = BooleanArrayValidator;\r\n\tvar NumberArrayValidator = /** @class */ (function (_super) {\r\n\t __extends(NumberArrayValidator, _super);\r\n\t function NumberArrayValidator() {\r\n\t return _super.call(this, [new NumberValidator()]) || this;\r\n\t }\r\n\t NumberArrayValidator.prototype.validate = function (input, path, field) {\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return [{\r\n\t message: field + \" must be an array of numbers\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"type\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return NumberArrayValidator;\r\n\t}(ArrayValidator));\r\n\texports.NumberArrayValidator = NumberArrayValidator;\r\n\n\n/***/ }),\n/* 3 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar MenuExtensionValidator = /** @class */ (function (_super) {\r\n\t __extends(MenuExtensionValidator, _super);\r\n\t function MenuExtensionValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t MenuExtensionValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"title\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"icon\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return MenuExtensionValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.MenuExtensionValidator = MenuExtensionValidator;\r\n\tvar ExtensionPointsValidator = /** @class */ (function (_super) {\r\n\t __extends(ExtensionPointsValidator, _super);\r\n\t function ExtensionPointsValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ExtensionPointsValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"visualContextMenu\",\r\n\t validators: [validator_1.Validators.menuExtensionValidator]\r\n\t },\r\n\t {\r\n\t field: \"visualOptionsMenu\",\r\n\t validators: [validator_1.Validators.menuExtensionValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ExtensionPointsValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ExtensionPointsValidator = ExtensionPointsValidator;\r\n\tvar ExtensionItemValidator = /** @class */ (function (_super) {\r\n\t __extends(ExtensionItemValidator, _super);\r\n\t function ExtensionItemValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ExtensionItemValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"name\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"extend\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.extensionPointsValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ExtensionItemValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ExtensionItemValidator = ExtensionItemValidator;\r\n\tvar CommandExtensionValidator = /** @class */ (function (_super) {\r\n\t __extends(CommandExtensionValidator, _super);\r\n\t function CommandExtensionValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t CommandExtensionValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"title\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"icon\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return CommandExtensionValidator;\r\n\t}(ExtensionItemValidator));\r\n\texports.CommandExtensionValidator = CommandExtensionValidator;\r\n\tvar ExtensionValidator = /** @class */ (function (_super) {\r\n\t __extends(ExtensionValidator, _super);\r\n\t function ExtensionValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ExtensionValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"command\",\r\n\t validators: [validator_1.Validators.commandExtensionValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ExtensionValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ExtensionValidator = ExtensionValidator;\r\n\n\n/***/ }),\n/* 4 */\n/***/ (function(module, exports) {\n\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar MultipleFieldsValidator = /** @class */ (function () {\r\n\t function MultipleFieldsValidator(fieldValidatorsPairs) {\r\n\t this.fieldValidatorsPairs = fieldValidatorsPairs;\r\n\t }\r\n\t MultipleFieldsValidator.prototype.validate = function (input, path, field) {\r\n\t if (!this.fieldValidatorsPairs) {\r\n\t return null;\r\n\t }\r\n\t var fieldsPath = path ? path + \".\" + field : field;\r\n\t for (var _i = 0, _a = this.fieldValidatorsPairs; _i < _a.length; _i++) {\r\n\t var fieldValidators = _a[_i];\r\n\t for (var _b = 0, _c = fieldValidators.validators; _b < _c.length; _b++) {\r\n\t var validator = _c[_b];\r\n\t var errors = validator.validate(input[fieldValidators.field], fieldsPath, fieldValidators.field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t }\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return MultipleFieldsValidator;\r\n\t}());\r\n\texports.MultipleFieldsValidator = MultipleFieldsValidator;\r\n\n\n/***/ }),\n/* 5 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar SettingsValidator = /** @class */ (function (_super) {\r\n\t __extends(SettingsValidator, _super);\r\n\t function SettingsValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t SettingsValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"filterPaneEnabled\",\r\n\t validators: [validator_1.Validators.booleanValidator]\r\n\t },\r\n\t {\r\n\t field: \"navContentPaneEnabled\",\r\n\t validators: [validator_1.Validators.booleanValidator]\r\n\t },\r\n\t {\r\n\t field: \"bookmarksPaneEnabled\",\r\n\t validators: [validator_1.Validators.booleanValidator]\r\n\t },\r\n\t {\r\n\t field: \"useCustomSaveAsDialog\",\r\n\t validators: [validator_1.Validators.booleanValidator]\r\n\t },\r\n\t {\r\n\t field: \"extensions\",\r\n\t validators: [validator_1.Validators.extentionArrayValidator]\r\n\t },\r\n\t {\r\n\t field: \"layoutType\",\r\n\t validators: [validator_1.Validators.layoutTypeValidator]\r\n\t },\r\n\t {\r\n\t field: \"customLayout\",\r\n\t validators: [validator_1.Validators.customLayoutValidator]\r\n\t },\r\n\t {\r\n\t field: \"background\",\r\n\t validators: [validator_1.Validators.backgroundValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return SettingsValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.SettingsValidator = SettingsValidator;\r\n\n\n/***/ }),\n/* 6 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar PlayBookmarkRequestValidator = /** @class */ (function (_super) {\r\n\t __extends(PlayBookmarkRequestValidator, _super);\r\n\t function PlayBookmarkRequestValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t PlayBookmarkRequestValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"playMode\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, new typeValidator_1.EnumValidator([0, 1])]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return PlayBookmarkRequestValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.PlayBookmarkRequestValidator = PlayBookmarkRequestValidator;\r\n\tvar AddBookmarkRequestValidator = /** @class */ (function (_super) {\r\n\t __extends(AddBookmarkRequestValidator, _super);\r\n\t function AddBookmarkRequestValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t AddBookmarkRequestValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"state\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"displayName\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"apply\",\r\n\t validators: [validator_1.Validators.booleanValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return AddBookmarkRequestValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.AddBookmarkRequestValidator = AddBookmarkRequestValidator;\r\n\tvar ApplyBookmarkByNameRequestValidator = /** @class */ (function (_super) {\r\n\t __extends(ApplyBookmarkByNameRequestValidator, _super);\r\n\t function ApplyBookmarkByNameRequestValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ApplyBookmarkByNameRequestValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"name\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ApplyBookmarkByNameRequestValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ApplyBookmarkByNameRequestValidator = ApplyBookmarkByNameRequestValidator;\r\n\tvar ApplyBookmarkStateRequestValidator = /** @class */ (function (_super) {\r\n\t __extends(ApplyBookmarkStateRequestValidator, _super);\r\n\t function ApplyBookmarkStateRequestValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ApplyBookmarkStateRequestValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"state\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ApplyBookmarkStateRequestValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ApplyBookmarkStateRequestValidator = ApplyBookmarkStateRequestValidator;\r\n\n\n/***/ }),\n/* 7 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar FilterColumnTargetValidator = /** @class */ (function (_super) {\r\n\t __extends(FilterColumnTargetValidator, _super);\r\n\t function FilterColumnTargetValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t FilterColumnTargetValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"table\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"column\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return FilterColumnTargetValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.FilterColumnTargetValidator = FilterColumnTargetValidator;\r\n\tvar FilterHierarchyTargetValidator = /** @class */ (function (_super) {\r\n\t __extends(FilterHierarchyTargetValidator, _super);\r\n\t function FilterHierarchyTargetValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t FilterHierarchyTargetValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"table\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"hierarchy\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"hierarchyLevel\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return FilterHierarchyTargetValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.FilterHierarchyTargetValidator = FilterHierarchyTargetValidator;\r\n\tvar FilterMeasureTargetValidator = /** @class */ (function (_super) {\r\n\t __extends(FilterMeasureTargetValidator, _super);\r\n\t function FilterMeasureTargetValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t FilterMeasureTargetValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"table\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"measure\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return FilterMeasureTargetValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.FilterMeasureTargetValidator = FilterMeasureTargetValidator;\r\n\tvar BasicFilterValidator = /** @class */ (function (_super) {\r\n\t __extends(BasicFilterValidator, _super);\r\n\t function BasicFilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t BasicFilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"target\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]\r\n\t },\r\n\t {\r\n\t field: \"operator\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"values\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator]\r\n\t },\r\n\t {\r\n\t field: \"filterType\",\r\n\t validators: [validator_1.Validators.basicFilterTypeValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return BasicFilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.BasicFilterValidator = BasicFilterValidator;\r\n\tvar AdvancedFilterValidator = /** @class */ (function (_super) {\r\n\t __extends(AdvancedFilterValidator, _super);\r\n\t function AdvancedFilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t AdvancedFilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"target\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]\r\n\t },\r\n\t {\r\n\t field: \"logicalOperator\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"conditions\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterConditionsValidator]\r\n\t },\r\n\t {\r\n\t field: \"filterType\",\r\n\t validators: [validator_1.Validators.advancedFilterTypeValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return AdvancedFilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.AdvancedFilterValidator = AdvancedFilterValidator;\r\n\tvar RelativeDateFilterValidator = /** @class */ (function (_super) {\r\n\t __extends(RelativeDateFilterValidator, _super);\r\n\t function RelativeDateFilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t RelativeDateFilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"target\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]\r\n\t },\r\n\t {\r\n\t field: \"operator\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterOperatorValidator]\r\n\t },\r\n\t {\r\n\t field: \"timeUnitsCount\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"timeUnitType\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.relativeDateFilterTimeUnitTypeValidator]\r\n\t },\r\n\t {\r\n\t field: \"includeToday\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator]\r\n\t },\r\n\t {\r\n\t field: \"filterType\",\r\n\t validators: [validator_1.Validators.relativeDateFilterTypeValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return RelativeDateFilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.RelativeDateFilterValidator = RelativeDateFilterValidator;\r\n\tvar TopNFilterValidator = /** @class */ (function (_super) {\r\n\t __extends(TopNFilterValidator, _super);\r\n\t function TopNFilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t TopNFilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"target\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]\r\n\t },\r\n\t {\r\n\t field: \"operator\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"itemCount\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"filterType\",\r\n\t validators: [validator_1.Validators.topNFilterTypeValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return TopNFilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.TopNFilterValidator = TopNFilterValidator;\r\n\tvar NotSupportedFilterValidator = /** @class */ (function (_super) {\r\n\t __extends(NotSupportedFilterValidator, _super);\r\n\t function NotSupportedFilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t NotSupportedFilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"target\",\r\n\t validators: [validator_1.Validators.filterTargetValidator]\r\n\t },\r\n\t {\r\n\t field: \"message\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"notSupportedTypeName\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"filterType\",\r\n\t validators: [validator_1.Validators.notSupportedFilterTypeValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return NotSupportedFilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.NotSupportedFilterValidator = NotSupportedFilterValidator;\r\n\tvar IncludeExcludeFilterValidator = /** @class */ (function (_super) {\r\n\t __extends(IncludeExcludeFilterValidator, _super);\r\n\t function IncludeExcludeFilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t IncludeExcludeFilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"target\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.filterTargetValidator]\r\n\t },\r\n\t {\r\n\t field: \"isExclude\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.booleanValidator]\r\n\t },\r\n\t {\r\n\t field: \"values\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyArrayValidator]\r\n\t },\r\n\t {\r\n\t field: \"filterType\",\r\n\t validators: [validator_1.Validators.includeExludeFilterTypeValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return IncludeExcludeFilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.IncludeExcludeFilterValidator = IncludeExcludeFilterValidator;\r\n\tvar FilterValidator = /** @class */ (function (_super) {\r\n\t __extends(FilterValidator, _super);\r\n\t function FilterValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t FilterValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t return validator_1.Validators.anyFilterValidator.validate(input, path, field);\r\n\t };\r\n\t return FilterValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.FilterValidator = FilterValidator;\r\n\tvar ConditionItemValidator = /** @class */ (function (_super) {\r\n\t __extends(ConditionItemValidator, _super);\r\n\t function ConditionItemValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ConditionItemValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"value\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.anyValueValidator]\r\n\t },\r\n\t {\r\n\t field: \"operator\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ConditionItemValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ConditionItemValidator = ConditionItemValidator;\r\n\n\n/***/ }),\n/* 8 */\n/***/ (function(module, exports) {\n\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar FieldRequiredValidator = /** @class */ (function () {\r\n\t function FieldRequiredValidator() {\r\n\t }\r\n\t FieldRequiredValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return [{\r\n\t message: field + \" is required\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"required\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return FieldRequiredValidator;\r\n\t}());\r\n\texports.FieldRequiredValidator = FieldRequiredValidator;\r\n\n\n/***/ }),\n/* 9 */\n/***/ (function(module, exports) {\n\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar AnyOfValidator = /** @class */ (function () {\r\n\t function AnyOfValidator(validators) {\r\n\t this.validators = validators;\r\n\t }\r\n\t AnyOfValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var valid = false;\r\n\t for (var _i = 0, _a = this.validators; _i < _a.length; _i++) {\r\n\t var validator = _a[_i];\r\n\t var errors = validator.validate(input, path, field);\r\n\t if (!errors) {\r\n\t valid = true;\r\n\t break;\r\n\t }\r\n\t }\r\n\t if (!valid) {\r\n\t return [{\r\n\t message: field + \" property is invalid\",\r\n\t path: (path ? path + \".\" : \"\") + field,\r\n\t keyword: \"invalid\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return AnyOfValidator;\r\n\t}());\r\n\texports.AnyOfValidator = AnyOfValidator;\r\n\n\n/***/ }),\n/* 10 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar ReportLoadValidator = /** @class */ (function (_super) {\r\n\t __extends(ReportLoadValidator, _super);\r\n\t function ReportLoadValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ReportLoadValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"accessToken\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"id\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"settings\",\r\n\t validators: [validator_1.Validators.settingsValidator]\r\n\t },\r\n\t {\r\n\t field: \"pageName\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"filters\",\r\n\t validators: [validator_1.Validators.filtersArrayValidator]\r\n\t },\r\n\t {\r\n\t field: \"permissions\",\r\n\t validators: [validator_1.Validators.permissionsValidator]\r\n\t },\r\n\t {\r\n\t field: \"viewMode\",\r\n\t validators: [validator_1.Validators.viewModeValidator]\r\n\t },\r\n\t {\r\n\t field: \"tokenType\",\r\n\t validators: [validator_1.Validators.tokenTypeValidator]\r\n\t },\r\n\t {\r\n\t field: \"bookmark\",\r\n\t validators: [validator_1.Validators.applyBookmarkValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ReportLoadValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ReportLoadValidator = ReportLoadValidator;\r\n\n\n/***/ }),\n/* 11 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar ReportCreateValidator = /** @class */ (function (_super) {\r\n\t __extends(ReportCreateValidator, _super);\r\n\t function ReportCreateValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ReportCreateValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"accessToken\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"datasetId\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"tokenType\",\r\n\t validators: [validator_1.Validators.tokenTypeValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ReportCreateValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ReportCreateValidator = ReportCreateValidator;\r\n\n\n/***/ }),\n/* 12 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar DashboardLoadValidator = /** @class */ (function (_super) {\r\n\t __extends(DashboardLoadValidator, _super);\r\n\t function DashboardLoadValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t DashboardLoadValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"accessToken\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"id\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"pageView\",\r\n\t validators: [validator_1.Validators.pageViewFieldValidator]\r\n\t },\r\n\t {\r\n\t field: \"tokenType\",\r\n\t validators: [validator_1.Validators.tokenTypeValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return DashboardLoadValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.DashboardLoadValidator = DashboardLoadValidator;\r\n\n\n/***/ }),\n/* 13 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar TileLoadValidator = /** @class */ (function (_super) {\r\n\t __extends(TileLoadValidator, _super);\r\n\t function TileLoadValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t TileLoadValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"accessToken\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"id\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"dashboardId\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"pageView\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"tokenType\",\r\n\t validators: [validator_1.Validators.tokenTypeValidator]\r\n\t },\r\n\t {\r\n\t field: \"width\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"height\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return TileLoadValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.TileLoadValidator = TileLoadValidator;\r\n\n\n/***/ }),\n/* 14 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar PageSizeValidator = /** @class */ (function (_super) {\r\n\t __extends(PageSizeValidator, _super);\r\n\t function PageSizeValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t PageSizeValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"type\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageSizeTypeValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return PageSizeValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.PageSizeValidator = PageSizeValidator;\r\n\tvar CustomPageSizeValidator = /** @class */ (function (_super) {\r\n\t __extends(CustomPageSizeValidator, _super);\r\n\t function CustomPageSizeValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t CustomPageSizeValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"width\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"height\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return CustomPageSizeValidator;\r\n\t}(PageSizeValidator));\r\n\texports.CustomPageSizeValidator = CustomPageSizeValidator;\r\n\tvar PageValidator = /** @class */ (function (_super) {\r\n\t __extends(PageValidator, _super);\r\n\t function PageValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t PageValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"name\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return PageValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.PageValidator = PageValidator;\r\n\tvar PageViewFieldValidator = /** @class */ (function (_super) {\r\n\t __extends(PageViewFieldValidator, _super);\r\n\t function PageViewFieldValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t PageViewFieldValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var possibleValues = [\"actualSize\", \"fitToWidth\", \"oneColumn\"];\r\n\t if (possibleValues.indexOf(input) < 0) {\r\n\t return [{\r\n\t message: \"pageView must be a string with one of the following values: \\\"actualSize\\\", \\\"fitToWidth\\\", \\\"oneColumn\\\"\"\r\n\t }];\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return PageViewFieldValidator;\r\n\t}(typeValidator_1.StringValidator));\r\n\texports.PageViewFieldValidator = PageViewFieldValidator;\r\n\n\n/***/ }),\n/* 15 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar LoadQnaValidator = /** @class */ (function (_super) {\r\n\t __extends(LoadQnaValidator, _super);\r\n\t function LoadQnaValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t LoadQnaValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"accessToken\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"datasetIds\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringArrayValidator]\r\n\t },\r\n\t {\r\n\t field: \"question\",\r\n\t validators: [validator_1.Validators.stringValidator]\r\n\t },\r\n\t {\r\n\t field: \"viewMode\",\r\n\t validators: [validator_1.Validators.viewModeValidator]\r\n\t },\r\n\t {\r\n\t field: \"settings\",\r\n\t validators: [validator_1.Validators.qnaSettingValidator]\r\n\t },\r\n\t {\r\n\t field: \"tokenType\",\r\n\t validators: [validator_1.Validators.tokenTypeValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return LoadQnaValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.LoadQnaValidator = LoadQnaValidator;\r\n\tvar QnaSettingsValidator = /** @class */ (function (_super) {\r\n\t __extends(QnaSettingsValidator, _super);\r\n\t function QnaSettingsValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t QnaSettingsValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"filterPaneEnabled\",\r\n\t validators: [validator_1.Validators.booleanValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return QnaSettingsValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.QnaSettingsValidator = QnaSettingsValidator;\r\n\tvar QnaInterpretInputDataValidator = /** @class */ (function (_super) {\r\n\t __extends(QnaInterpretInputDataValidator, _super);\r\n\t function QnaInterpretInputDataValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t QnaInterpretInputDataValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"datasetIds\",\r\n\t validators: [validator_1.Validators.stringArrayValidator]\r\n\t },\r\n\t {\r\n\t field: \"question\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t },\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return QnaInterpretInputDataValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.QnaInterpretInputDataValidator = QnaInterpretInputDataValidator;\r\n\n\n/***/ }),\n/* 16 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar SaveAsParametersValidator = /** @class */ (function (_super) {\r\n\t __extends(SaveAsParametersValidator, _super);\r\n\t function SaveAsParametersValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t SaveAsParametersValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"name\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.stringValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return SaveAsParametersValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.SaveAsParametersValidator = SaveAsParametersValidator;\r\n\n\n/***/ }),\n/* 17 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar MapValidator = /** @class */ (function (_super) {\r\n\t __extends(MapValidator, _super);\r\n\t function MapValidator(keyValidators, valueValidators) {\r\n\t var _this = _super.call(this) || this;\r\n\t _this.keyValidators = keyValidators;\r\n\t _this.valueValidators = valueValidators;\r\n\t return _this;\r\n\t }\r\n\t MapValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t for (var key in input) {\r\n\t if (input.hasOwnProperty(key)) {\r\n\t var fieldsPath = (path ? path + \".\" : \"\") + field + \".\" + key;\r\n\t for (var _i = 0, _a = this.keyValidators; _i < _a.length; _i++) {\r\n\t var keyValidator = _a[_i];\r\n\t errors = keyValidator.validate(key, fieldsPath, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t }\r\n\t for (var _b = 0, _c = this.valueValidators; _b < _c.length; _b++) {\r\n\t var valueValidator = _c[_b];\r\n\t errors = valueValidator.validate(input[key], fieldsPath, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t }\r\n\t }\r\n\t }\r\n\t return null;\r\n\t };\r\n\t return MapValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.MapValidator = MapValidator;\r\n\n\n/***/ }),\n/* 18 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar validator_1 = __webpack_require__(1);\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar CustomLayoutValidator = /** @class */ (function (_super) {\r\n\t __extends(CustomLayoutValidator, _super);\r\n\t function CustomLayoutValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t CustomLayoutValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"pageSize\",\r\n\t validators: [validator_1.Validators.pageSizeValidator]\r\n\t },\r\n\t {\r\n\t field: \"displayOption\",\r\n\t validators: [validator_1.Validators.customLayoutDisplayOptionValidator]\r\n\t },\r\n\t {\r\n\t field: \"pagesLayout\",\r\n\t validators: [validator_1.Validators.pagesLayoutValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return CustomLayoutValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.CustomLayoutValidator = CustomLayoutValidator;\r\n\tvar VisualLayoutValidator = /** @class */ (function (_super) {\r\n\t __extends(VisualLayoutValidator, _super);\r\n\t function VisualLayoutValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t VisualLayoutValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"x\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"y\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"z\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"width\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"height\",\r\n\t validators: [validator_1.Validators.numberValidator]\r\n\t },\r\n\t {\r\n\t field: \"displayState\",\r\n\t validators: [validator_1.Validators.displayStateValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return VisualLayoutValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.VisualLayoutValidator = VisualLayoutValidator;\r\n\tvar DisplayStateValidator = /** @class */ (function (_super) {\r\n\t __extends(DisplayStateValidator, _super);\r\n\t function DisplayStateValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t DisplayStateValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"mode\",\r\n\t validators: [validator_1.Validators.displayStateModeValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return DisplayStateValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.DisplayStateValidator = DisplayStateValidator;\r\n\tvar PageLayoutValidator = /** @class */ (function (_super) {\r\n\t __extends(PageLayoutValidator, _super);\r\n\t function PageLayoutValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t PageLayoutValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"visualsLayout\",\r\n\t validators: [validator_1.Validators.fieldRequiredValidator, validator_1.Validators.pageLayoutValidator]\r\n\t },\r\n\t {\r\n\t field: \"defaultLayout\",\r\n\t validators: [validator_1.Validators.visualLayoutValidator]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return PageLayoutValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.PageLayoutValidator = PageLayoutValidator;\r\n\n\n/***/ }),\n/* 19 */\n/***/ (function(module, exports, __webpack_require__) {\n\n\tvar __extends = (this && this.__extends) || (function () {\r\n\t var extendStatics = Object.setPrototypeOf ||\r\n\t ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n\t function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n\t return function (d, b) {\r\n\t extendStatics(d, b);\r\n\t function __() { this.constructor = d; }\r\n\t d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n\t };\r\n\t})();\r\n\tObject.defineProperty(exports, \"__esModule\", { value: true });\r\n\tvar multipleFieldsValidator_1 = __webpack_require__(4);\r\n\tvar typeValidator_1 = __webpack_require__(2);\r\n\tvar ExportDataRequestValidator = /** @class */ (function (_super) {\r\n\t __extends(ExportDataRequestValidator, _super);\r\n\t function ExportDataRequestValidator() {\r\n\t return _super !== null && _super.apply(this, arguments) || this;\r\n\t }\r\n\t ExportDataRequestValidator.prototype.validate = function (input, path, field) {\r\n\t if (input == null) {\r\n\t return null;\r\n\t }\r\n\t var errors = _super.prototype.validate.call(this, input, path, field);\r\n\t if (errors) {\r\n\t return errors;\r\n\t }\r\n\t var fields = [\r\n\t {\r\n\t field: \"rows\",\r\n\t validators: [new typeValidator_1.NumberValidator()]\r\n\t },\r\n\t {\r\n\t field: \"exportDataType\",\r\n\t validators: [new typeValidator_1.EnumValidator([0, 1])]\r\n\t }\r\n\t ];\r\n\t var multipleFieldsValidator = new multipleFieldsValidator_1.MultipleFieldsValidator(fields);\r\n\t return multipleFieldsValidator.validate(input, path, field);\r\n\t };\r\n\t return ExportDataRequestValidator;\r\n\t}(typeValidator_1.ObjectValidator));\r\n\texports.ExportDataRequestValidator = ExportDataRequestValidator;\r\n\n\n/***/ })\n/******/ ])\n});\n;\n//# sourceMappingURL=models.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/powerbi-models/dist/models.js\n// module id = 4\n// module chunks = 0","import * as service from './service';\r\nimport * as embed from './embed';\r\nimport * as models from 'powerbi-models';\r\nimport * as wpmp from 'window-post-message-proxy';\r\nimport * as hpm from 'http-post-message';\r\nimport * as utils from './util';\r\nimport { IFilterable } from './ifilterable';\r\nimport { IPageNode, Page } from './page';\r\nimport { Defaults } from './defaults';\r\nimport { IReportLoadConfiguration } from 'powerbi-models';\r\nimport { BookmarksManager } from './bookmarksManager';\r\n\r\n/**\r\n * A Report node within a report hierarchy\r\n *\r\n * @export\r\n * @interface IReportNode\r\n */\r\nexport interface IReportNode {\r\n iframe: HTMLIFrameElement;\r\n service: service.IService;\r\n config: embed.IEmbedConfiguration\r\n}\r\n\r\n/**\r\n * The Power BI Report embed component\r\n *\r\n * @export\r\n * @class Report\r\n * @extends {embed.Embed}\r\n * @implements {IReportNode}\r\n * @implements {IFilterable}\r\n */\r\nexport class Report extends embed.Embed implements IReportNode, IFilterable {\r\n static allowedEvents = [\"filtersApplied\", \"pageChanged\", \"commandTriggered\", \"swipeStart\", \"swipeEnd\", \"bookmarkApplied\"];\r\n static reportIdAttribute = 'powerbi-report-id';\r\n static filterPaneEnabledAttribute = 'powerbi-settings-filter-pane-enabled';\r\n static navContentPaneEnabledAttribute = 'powerbi-settings-nav-content-pane-enabled';\r\n static typeAttribute = 'powerbi-type';\r\n static type = \"Report\";\r\n\r\n public bookmarksManager: BookmarksManager;\r\n\r\n /**\r\n * Creates an instance of a Power BI Report.\r\n *\r\n * @param {service.Service} service\r\n * @param {HTMLElement} element\r\n * @param {embed.IEmbedConfiguration} config\r\n */\r\n constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, iframe?: HTMLIFrameElement) {\r\n const config = baseConfig;\r\n\r\n const filterPaneEnabled = (config.settings && config.settings.filterPaneEnabled) || !(element.getAttribute(Report.filterPaneEnabledAttribute) === \"false\");\r\n const navContentPaneEnabled = (config.settings && config.settings.navContentPaneEnabled) || !(element.getAttribute(Report.navContentPaneEnabledAttribute) === \"false\");\r\n const settings = utils.assign({\r\n filterPaneEnabled,\r\n navContentPaneEnabled\r\n }, config.settings);\r\n const configCopy = utils.assign({ settings }, config);\r\n\r\n super(service, element, configCopy, iframe, phasedRender);\r\n this.loadPath = \"/report/load\";\r\n this.phasedLoadPath = \"/report/prepare\";\r\n Array.prototype.push.apply(this.allowedEvents, Report.allowedEvents);\r\n\r\n this.bookmarksManager = new BookmarksManager(service, config, this.iframe);\r\n }\r\n\r\n /**\r\n * Adds backwards compatibility for the previous load configuration, which used the reportId query parameter to specify the report ID\r\n * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?reportId=854846ed-2106-4dc2-bc58-eb77533bf2f1).\r\n *\r\n * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.\r\n *\r\n * @static\r\n * @param {string} url\r\n * @returns {string}\r\n */\r\n static findIdFromEmbedUrl(url: string): string {\r\n const reportIdRegEx = /reportId=\"?([^&]+)\"?/\r\n const reportIdMatch = url.match(reportIdRegEx);\r\n\r\n let reportId;\r\n if (reportIdMatch) {\r\n reportId = reportIdMatch[1];\r\n }\r\n\r\n return reportId;\r\n }\r\n\r\n\r\n /**\r\n * Render a preloaded report, using phased embedding API\r\n *\r\n * ```javascript\r\n * // Load report\r\n * var report = powerbi.load(element, config);\r\n *\r\n * ...\r\n *\r\n * // Render report\r\n * report.render()\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n render(config?: IReportLoadConfiguration): Promise {\r\n return this.service.hpm.post(`/report/render`, config, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Gets filters that are applied at the report level.\r\n *\r\n * ```javascript\r\n * // Get filters applied at report level\r\n * report.getFilters()\r\n * .then(filters => {\r\n * ...\r\n * });\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n getFilters(): Promise {\r\n return this.service.hpm.get(`/report/filters`, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Gets the report ID from the first available location: options, attribute, embed url.\r\n *\r\n * @returns {string}\r\n */\r\n getId(): string {\r\n let config = this.config;\r\n const reportId = config.id || this.element.getAttribute(Report.reportIdAttribute) || Report.findIdFromEmbedUrl(config.embedUrl);\r\n\r\n if (typeof reportId !== 'string' || reportId.length === 0) {\r\n 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}'.`);\r\n }\r\n\r\n return reportId;\r\n }\r\n\r\n /**\r\n * Gets the list of pages within the report.\r\n *\r\n * ```javascript\r\n * report.getPages()\r\n * .then(pages => {\r\n * ...\r\n * });\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n getPages(): Promise {\r\n return this.service.hpm.get('/report/pages', { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body\r\n .map(page => {\r\n return new Page(this, page.name, page.displayName, page.isActive);\r\n });\r\n }, response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Creates an instance of a Page.\r\n *\r\n * Normally you would get Page objects by calling `report.getPages()`, but in the case\r\n * that the page name is known and you want to perform an action on a page without having to retrieve it\r\n * you can create it directly.\r\n *\r\n * 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.\r\n *\r\n * ```javascript\r\n * const page = report.page('ReportSection1');\r\n * page.setActive();\r\n * ```\r\n *\r\n * @param {string} name\r\n * @param {string} [displayName]\r\n * @param {boolean} [isActive]\r\n * @returns {Page}\r\n */\r\n page(name: string, displayName?: string, isActive?: boolean): Page {\r\n return new Page(this, name, displayName, isActive);\r\n }\r\n\r\n /**\r\n * Prints the active page of the report by invoking `window.print()` on the embed iframe component.\r\n */\r\n print(): Promise {\r\n return this.service.hpm.post('/report/print', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Removes all filters at the report level.\r\n *\r\n * ```javascript\r\n * report.removeFilters();\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n removeFilters(): Promise {\r\n return this.setFilters([]);\r\n }\r\n\r\n /**\r\n * Sets the active page of the report.\r\n *\r\n * ```javascript\r\n * report.setPage(\"page2\")\r\n * .catch(error => { ... });\r\n * ```\r\n *\r\n * @param {string} pageName\r\n * @returns {Promise}\r\n */\r\n setPage(pageName: string): Promise {\r\n const page: models.IPage = {\r\n name: pageName,\r\n displayName: null,\r\n isActive: true\r\n };\r\n\r\n return this.service.hpm.put('/report/pages/active', page, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Sets filters at the report level.\r\n *\r\n * ```javascript\r\n * const filters: [\r\n * ...\r\n * ];\r\n *\r\n * report.setFilters(filters)\r\n * .catch(errors => {\r\n * ...\r\n * });\r\n * ```\r\n *\r\n * @param {(models.IFilter[])} filters\r\n * @returns {Promise}\r\n */\r\n setFilters(filters: models.IFilter[]): Promise {\r\n return this.service.hpm.put(`/report/filters`, filters, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Updates visibility settings for the filter pane and the page navigation pane.\r\n *\r\n * ```javascript\r\n * const newSettings = {\r\n * navContentPaneEnabled: true,\r\n * filterPaneEnabled: false\r\n * };\r\n *\r\n * report.updateSettings(newSettings)\r\n * .catch(error => { ... });\r\n * ```\r\n *\r\n * @param {models.ISettings} settings\r\n * @returns {Promise}\r\n */\r\n updateSettings(settings: models.ISettings): Promise {\r\n return this.service.hpm.patch('/report/settings', settings, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Validate load configuration.\r\n */\r\n validate(config: embed.IEmbedConfigurationBase): models.IError[] {\r\n return models.validateReportLoad(config);\r\n }\r\n\r\n /**\r\n * Populate config for load config\r\n *\r\n * @param {IEmbedConfigurationBase}\r\n * @returns {void}\r\n */\r\n populateConfig(baseConfig: embed.IEmbedConfigurationBase): void {\r\n let config = baseConfig;\r\n if (config.settings && (config.settings.layoutType === models.LayoutType.MobileLandscape || config.settings.layoutType === models.LayoutType.MobilePortrait))\r\n config.embedUrl = utils.addParamToUrl(config.embedUrl, \"isMobile\", \"true\")\r\n\r\n super.populateConfig(config);\r\n\r\n // TODO: Change when Object.assign is available.\r\n const settings = utils.assign({}, Defaults.defaultSettings, config.settings);\r\n config = utils.assign({ settings }, config);\r\n\r\n config.id = this.getId();\r\n this.config = config;\r\n }\r\n\r\n /**\r\n * Switch Report view mode.\r\n *\r\n * @returns {Promise}\r\n */\r\n switchMode(viewMode: models.ViewMode): Promise {\r\n let url = '/report/switchMode/' + viewMode;\r\n return this.service.hpm.post(url, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Refreshes data sources for the report.\r\n *\r\n * ```javascript\r\n * report.refresh();\r\n * ```\r\n */\r\n refresh(): Promise {\r\n return this.service.hpm.post('/report/refresh', null, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => {\r\n return response.body;\r\n })\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/report.ts","import { IFilterable } from './ifilterable';\r\nimport { IReportNode } from './report';\r\nimport { VisualDescriptor } from './visualDescriptor';\r\nimport * as models from 'powerbi-models';\r\n\r\n/**\r\n * A Page node within a report hierarchy\r\n * \r\n * @export\r\n * @interface IPageNode\r\n */\r\nexport interface IPageNode {\r\n report: IReportNode;\r\n name: string;\r\n}\r\n\r\n/**\r\n * A Power BI report page\r\n * \r\n * @export\r\n * @class Page\r\n * @implements {IPageNode}\r\n * @implements {IFilterable}\r\n */\r\nexport class Page implements IPageNode, IFilterable {\r\n /**\r\n * The parent Power BI report that this page is a member of\r\n * \r\n * @type {IReportNode}\r\n */\r\n report: IReportNode;\r\n /**\r\n * The report page name\r\n * \r\n * @type {string}\r\n */\r\n name: string;\r\n\r\n /**\r\n * The user defined display name of the report page, which is undefined if the page is created manually\r\n * \r\n * @type {string}\r\n */\r\n displayName: string;\r\n\r\n /**\r\n * Is this page is the active page\r\n * \r\n * @type {boolean}\r\n */\r\n isActive: boolean; \r\n\r\n /**\r\n * Creates an instance of a Power BI report page.\r\n * \r\n * @param {IReportNode} report\r\n * @param {string} name\r\n * @param {string} [displayName]\r\n * @param {boolean} [isActivePage]\r\n */\r\n constructor(report: IReportNode, name: string, displayName?: string, isActivePage?: boolean) {\r\n this.report = report;\r\n this.name = name;\r\n this.displayName = displayName;\r\n this.isActive = isActivePage;\r\n }\r\n\r\n /**\r\n * Gets all page level filters within the report.\r\n * \r\n * ```javascript\r\n * page.getFilters()\r\n * .then(filters => { ... });\r\n * ```\r\n * \r\n * @returns {(Promise)}\r\n */\r\n getFilters(): Promise {\r\n return this.report.service.hpm.get(`/report/pages/${this.name}/filters`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Removes all filters from this page of the report.\r\n * \r\n * ```javascript\r\n * page.removeFilters();\r\n * ```\r\n * \r\n * @returns {Promise}\r\n */\r\n removeFilters(): Promise {\r\n return this.setFilters([]);\r\n }\r\n\r\n /**\r\n * Makes the current page the active page of the report.\r\n * \r\n * ```javascripot\r\n * page.setActive();\r\n * ```\r\n * \r\n * @returns {Promise}\r\n */\r\n setActive(): Promise {\r\n const page: models.IPage = {\r\n name: this.name,\r\n displayName: null,\r\n isActive: true\r\n };\r\n\r\n return this.report.service.hpm.put('/report/pages/active', page, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Sets all filters on the current page.\r\n * \r\n * ```javascript\r\n * page.setFilters(filters);\r\n * .catch(errors => { ... });\r\n * ```\r\n * \r\n * @param {(models.IFilter[])} filters\r\n * @returns {Promise}\r\n */\r\n setFilters(filters: models.IFilter[]): Promise {\r\n return this.report.service.hpm.put(`/report/pages/${this.name}/filters`, filters, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Gets all the visuals on the page.\r\n * \r\n * ```javascript\r\n * page.getVisuals()\r\n * .then(visuals => { ... });\r\n * ```\r\n * \r\n * @returns {Promise}\r\n */\r\n getVisuals(): Promise {\r\n return this.report.service.hpm.get(`/report/pages/${this.name}/visuals`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)\r\n .then(response => {\r\n return response.body\r\n .map(visual => {\r\n return new VisualDescriptor(this, visual.name, visual.title, visual.type, visual.layout);\r\n });\r\n }, response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Checks if page has layout.\r\n * \r\n * ```javascript\r\n * page.hasLayout(layoutType)\r\n * .then(hasLayout: boolean => { ... });\r\n * ```\r\n * \r\n * @returns {(Promise)}\r\n */\r\n hasLayout(layoutType): Promise {\r\n let layoutTypeEnum = models.LayoutType[layoutType];\r\n return this.report.service.hpm.get(`/report/pages/${this.name}/layoutTypes/${layoutTypeEnum}`, { uid: this.report.config.uniqueId }, this.report.iframe.contentWindow)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/page.ts","import * as models from 'powerbi-models';\r\nimport { IFilterable } from './ifilterable';\r\nimport { IPageNode, Page } from './page';\r\n\r\n/**\r\n * A Visual node within a report hierarchy\r\n *\r\n * @export\r\n * @interface IVisualNode\r\n */\r\nexport interface IVisualNode {\r\n name: string;\r\n title: string;\r\n type: string;\r\n layout: models.IVisualLayout;\r\n page: IPageNode;\r\n}\r\n\r\n/**\r\n * A Power BI visual within a page\r\n *\r\n * @export\r\n * @class VisualDescriptor\r\n * @implements {IVisualNode}\r\n */\r\nexport class VisualDescriptor implements IVisualNode, IFilterable {\r\n /**\r\n * The visual name\r\n *\r\n * @type {string}\r\n */\r\n name: string;\r\n\r\n /**\r\n * The visual title\r\n *\r\n * @type {string}\r\n */\r\n title: string;\r\n\r\n /**\r\n * The visual type\r\n *\r\n * @type {string}\r\n */\r\n type: string;\r\n\r\n /**\r\n * The visual layout: position, size and visiblity.\r\n *\r\n * @type {string}\r\n */\r\n layout: models.IVisualLayout;\r\n\r\n /**\r\n * The parent Power BI page that contains this visual\r\n *\r\n * @type {IPageNode}\r\n */\r\n page: IPageNode;\r\n\r\n constructor(page: IPageNode, name: string, title: string, type: string, layout: models.IVisualLayout) {\r\n this.name = name;\r\n this.title = title;\r\n this.type = type;\r\n this.layout = layout;\r\n this.page = page;\r\n }\r\n\r\n /**\r\n * Gets all visual level filters of the current visual.\r\n *\r\n * ```javascript\r\n * visual.getFilters()\r\n * .then(filters => { ... });\r\n * ```\r\n *\r\n * @returns {(Promise)}\r\n */\r\n getFilters(): Promise {\r\n 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)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Removes all filters from the current visual.\r\n *\r\n * ```javascript\r\n * visual.removeFilters();\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n removeFilters(): Promise {\r\n return this.setFilters([]);\r\n }\r\n\r\n /**\r\n * Sets the filters on the current visual to 'filters'.\r\n *\r\n * ```javascript\r\n * visual.setFilters(filters);\r\n * .catch(errors => { ... });\r\n * ```\r\n *\r\n * @param {(models.IFilter[])} filters\r\n * @returns {Promise}\r\n */\r\n setFilters(filters: models.IFilter[]): Promise {\r\n 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)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Exports Visual data.\r\n * Can export up to 30K rows.\r\n * @param rows: Optional. Default value is 30K, maximum value is 30K as well.\r\n * @param exportDataType: Optional. Default is models.ExportDataType.Summarized.\r\n * ```javascript\r\n * visual.exportData()\r\n * .then(data => { ... });\r\n * ```\r\n *\r\n * @returns {(Promise)}\r\n */\r\n exportData(exportDataType?: models.ExportDataType, rows?: number): Promise {\r\n let exportDataRequestBody: models.IExportDataRequest = {\r\n rows: rows,\r\n exportDataType: exportDataType\r\n };\r\n\r\n 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)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/visualDescriptor.ts","import * as models from 'powerbi-models';\r\n\r\nexport abstract class Defaults {\r\n public static defaultSettings: models.ISettings = {\r\n filterPaneEnabled: true\r\n };\r\n\r\n public static defaultQnaSettings: models.IQnaSettings = {\r\n filterPaneEnabled: false\r\n };\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/defaults.ts","import * as service from './service';\r\nimport * as embed from './embed';\r\nimport * as models from 'powerbi-models';\r\nimport * as wpmp from 'window-post-message-proxy';\r\nimport * as hpm from 'http-post-message';\r\nimport * as utils from './util';\r\nimport { IPageNode, Page } from './page';\r\nimport { Defaults } from './defaults';\r\nimport { IReportLoadConfiguration } from 'powerbi-models';\r\n\r\n/**\r\n * Report bookmarks management APIs.\r\n *\r\n * @export\r\n * @interface IBookmarksManager\r\n */\r\nexport interface IBookmarksManager {\r\n getBookmarks(): Promise;\r\n apply(bookmarkName: string): Promise;\r\n play(playMode: models.BookmarksPlayMode): Promise;\r\n\r\n capture(): Promise;\r\n applyState(state: string): Promise;\r\n}\r\n\r\n/**\r\n * Manages report bookmarks.\r\n *\r\n * @export\r\n * @class BookmarksManager\r\n * @implements {IBookmarksManager}\r\n */\r\nexport class BookmarksManager implements IBookmarksManager {\r\n\r\n constructor(private service: service.Service, private config: embed.IEmbedConfigurationBase, private iframe?: HTMLIFrameElement) {\r\n }\r\n\r\n /**\r\n * Gets bookmarks that are defined in the report.\r\n *\r\n * ```javascript\r\n * // Gets bookmarks that are defined in the report\r\n * bookmarksManager.getBookmarks()\r\n * .then(bookmarks => {\r\n * ...\r\n * });\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n getBookmarks(): Promise {\r\n return this.service.hpm.get(`/report/bookmarks`, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Apply bookmark By name.\r\n *\r\n * ```javascript\r\n * bookmarksManager.apply(bookmarkName)\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n apply(bookmarkName: string): Promise {\r\n var request: models.IApplyBookmarkByNameRequest = {\r\n name: bookmarkName\r\n };\r\n\r\n return this.service.hpm.post(`/report/bookmarks/applyByName`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Play bookmarks: Enter or Exit bookmarks presentation mode.\r\n *\r\n * ```javascript\r\n * // Enter presentation mode.\r\n * bookmarksManager.play(true)\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n play(playMode: models.BookmarksPlayMode): Promise {\r\n var playBookmarkRequest: models.IPlayBookmarkRequest = {\r\n playMode: playMode\r\n };\r\n\r\n return this.service.hpm.post(`/report/bookmarks/play`, playBookmarkRequest, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Capture bookmark from current state.\r\n *\r\n * ```javascript\r\n * bookmarksManager.capture()\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n capture(): Promise {\r\n return this.service.hpm.post(`/report/bookmarks/capture`, null, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .then(response => response.body,\r\n response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Apply bookmark state.\r\n *\r\n * ```javascript\r\n * bookmarksManager.applyState(bookmarkName)\r\n * ```\r\n *\r\n * @returns {Promise}\r\n */\r\n applyState(state: string): Promise {\r\n var request: models.IApplyBookmarkStateRequest = {\r\n state: state\r\n };\r\n\r\n return this.service.hpm.post(`/report/bookmarks/applyState`, request, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/bookmarksManager.ts","import * as service from './service';\r\nimport * as models from 'powerbi-models';\r\nimport * as embed from './embed';\r\nimport * as utils from './util';\r\nimport { Defaults } from './defaults';\r\n\r\nexport class Create extends embed.Embed {\r\n\r\n constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfiguration, phasedRender?: boolean) {\r\n super(service, element, config, /* iframe */ undefined, phasedRender);\r\n }\r\n\r\n /**\r\n * Gets the dataset ID from the first available location: createConfig or embed url.\r\n * \r\n * @returns {string}\r\n */\r\n getId(): string {\r\n const datasetId = (this.createConfig && this.createConfig.datasetId) ? this.createConfig.datasetId : Create.findIdFromEmbedUrl(this.config.embedUrl);\r\n\r\n if (typeof datasetId !== 'string' || datasetId.length === 0) {\r\n throw new Error('Dataset id is required, but it was not found. You must provide an id either as part of embed configuration.');\r\n }\r\n\r\n return datasetId;\r\n }\r\n\r\n /**\r\n * Validate create report configuration.\r\n */\r\n validate(config: embed.IEmbedConfigurationBase): models.IError[] {\r\n return models.validateCreateReport(config);\r\n }\r\n\r\n /**\r\n * Populate config for create\r\n * \r\n * @param {IEmbedConfigurationBase}\r\n * @returns {void}\r\n */\r\n populateConfig(baseConfig: embed.IEmbedConfigurationBase): void {\r\n super.populateConfig(baseConfig);\r\n\r\n // TODO: Change when Object.assign is available.\r\n const settings = utils.assign({}, Defaults.defaultSettings, baseConfig.settings);\r\n this.config = utils.assign({ settings }, baseConfig);\r\n\r\n const config = this.config;\r\n\r\n this.createConfig = {\r\n datasetId: config.datasetId || this.getId(),\r\n accessToken: config.accessToken,\r\n tokenType: config.tokenType,\r\n settings: settings\r\n }\r\n }\r\n\r\n /**\r\n * Adds the ability to get datasetId from url. \r\n * (e.g. http://embedded.powerbi.com/appTokenReportEmbed?datasetId=854846ed-2106-4dc2-bc58-eb77533bf2f1).\r\n * \r\n * By extracting the ID we can ensure that the ID is always explicitly provided as part of the create configuration.\r\n * \r\n * @static\r\n * @param {string} url\r\n * @returns {string}\r\n */\r\n static findIdFromEmbedUrl(url: string): string {\r\n const datasetIdRegEx = /datasetId=\"?([^&]+)\"?/\r\n const datasetIdMatch = url.match(datasetIdRegEx);\r\n\r\n let datasetId;\r\n if (datasetIdMatch) {\r\n datasetId = datasetIdMatch[1];\r\n }\r\n\r\n return datasetId;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/create.ts","import * as service from './service';\r\nimport * as embed from './embed';\r\nimport * as models from 'powerbi-models';\r\nimport * as wpmp from 'window-post-message-proxy';\r\nimport * as hpm from 'http-post-message';\r\nimport * as utils from './util';\r\nimport { Defaults } from './defaults';\r\n\r\n/**\r\n * A Dashboard node within a dashboard hierarchy\r\n * \r\n * @export\r\n * @interface IDashboardNode\r\n */\r\nexport interface IDashboardNode {\r\n iframe: HTMLIFrameElement;\r\n service: service.IService;\r\n config: embed.IEmbedConfigurationBase\r\n}\r\n\r\n/**\r\n * A Power BI Dashboard embed component\r\n * \r\n * @export\r\n * @class Dashboard\r\n * @extends {embed.Embed}\r\n * @implements {IDashboardNode}\r\n * @implements {IFilterable}\r\n */\r\nexport class Dashboard extends embed.Embed implements IDashboardNode {\r\n static allowedEvents = [\"tileClicked\", \"error\"];\r\n static dashboardIdAttribute = 'powerbi-dashboard-id';\r\n static typeAttribute = 'powerbi-type';\r\n static type = \"Dashboard\";\r\n\r\n /**\r\n * Creates an instance of a Power BI Dashboard.\r\n * \r\n * @param {service.Service} service\r\n * @param {HTMLElement} element\r\n */\r\n constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean) {\r\n super(service, element, config, /* iframe */ undefined, phasedRender);\r\n this.loadPath = \"/dashboard/load\";\r\n this.phasedLoadPath = \"/dashboard/prepare\";\r\n\r\n Array.prototype.push.apply(this.allowedEvents, Dashboard.allowedEvents);\r\n }\r\n\r\n /**\r\n * This adds backwards compatibility for older config which used the dashboardId query param to specify dashboard id.\r\n * E.g. https://powerbi-df.analysis-df.windows.net/dashboardEmbedHost?dashboardId=e9363c62-edb6-4eac-92d3-2199c5ca2a9e\r\n * \r\n * By extracting the id we can ensure id is always explicitly provided as part of the load configuration.\r\n * \r\n * @static\r\n * @param {string} url\r\n * @returns {string}\r\n */\r\n static findIdFromEmbedUrl(url: string): string {\r\n const dashboardIdRegEx = /dashboardId=\"?([^&]+)\"?/\r\n const dashboardIdMatch = url.match(dashboardIdRegEx);\r\n\r\n let dashboardId;\r\n if (dashboardIdMatch) {\r\n dashboardId = dashboardIdMatch[1];\r\n }\r\n\r\n return dashboardId;\r\n }\r\n\r\n /**\r\n * Get dashboard id from first available location: options, attribute, embed url.\r\n * \r\n * @returns {string}\r\n */\r\n getId(): string {\r\n let config = this.config;\r\n const dashboardId = config.id || this.element.getAttribute(Dashboard.dashboardIdAttribute) || Dashboard.findIdFromEmbedUrl(config.embedUrl);\r\n\r\n if (typeof dashboardId !== 'string' || dashboardId.length === 0) {\r\n 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}'.`);\r\n }\r\n\r\n return dashboardId;\r\n }\r\n\r\n /**\r\n * Validate load configuration.\r\n */\r\n validate(baseConfig: embed.IEmbedConfigurationBase): models.IError[] {\r\n const config = baseConfig as embed.IEmbedConfiguration;\r\n let error = models.validateDashboardLoad(config);\r\n return error ? error : this.ValidatePageView(config.pageView);\r\n }\r\n\r\n /**\r\n * Populate config for load config\r\n * \r\n * @param {IEmbedConfigurationBase}\r\n * @returns {void}\r\n */\r\n populateConfig(baseConfig: embed.IEmbedConfigurationBase): void {\r\n let config = baseConfig;\r\n\r\n super.populateConfig(config);\r\n\r\n // TODO: Change when Object.assign is available.\r\n const settings = utils.assign({}, Defaults.defaultSettings, config.settings);\r\n config = utils.assign({ settings }, config);\r\n\r\n config.id = this.getId();\r\n this.config = config;\r\n }\r\n \r\n /**\r\n * Validate that pageView has a legal value: if page view is defined it must have one of the values defined in models.PageView\r\n */\r\n private ValidatePageView(pageView: models.PageView): models.IError[] {\r\n if (pageView && pageView !== \"fitToWidth\" && pageView !== \"oneColumn\" && pageView !== \"actualSize\") {\r\n return [{message: \"pageView must be one of the followings: fitToWidth, oneColumn, actualSize\"}];\r\n }\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/dashboard.ts","import * as service from './service';\r\nimport * as models from 'powerbi-models';\r\nimport * as embed from './embed';\r\nimport * as utils from './util';\r\nimport { Defaults } from './defaults';\r\n\r\n/**\r\n * The Power BI tile embed component\r\n * \r\n * @export\r\n * @class Tile\r\n * @extends {Embed}\r\n */\r\nexport class Tile extends embed.Embed {\r\n static type = \"Tile\";\r\n static allowedEvents = [\"tileClicked\", \"tileLoaded\"];\r\n\r\n constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean) {\r\n let config = baseConfig;\r\n super(service, element, config, /* iframe */ undefined, phasedRender);\r\n this.loadPath = \"/tile/load\";\r\n Array.prototype.push.apply(this.allowedEvents, Tile.allowedEvents);\r\n }\r\n\r\n /**\r\n * The ID of the tile\r\n * \r\n * @returns {string}\r\n */\r\n getId(): string {\r\n let config = this.config;\r\n const tileId = config.id || Tile.findIdFromEmbedUrl(this.config.embedUrl);\r\n\r\n if (typeof tileId !== 'string' || tileId.length === 0) {\r\n throw new Error(`Tile id is required, but it was not found. You must provide an id either as part of embed configuration.`);\r\n }\r\n\r\n return tileId;\r\n }\r\n\r\n /**\r\n * Validate load configuration.\r\n */\r\n validate(config: embed.IEmbedConfigurationBase): models.IError[] {\r\n let embedConfig = config;\r\n return models.validateTileLoad(embedConfig);\r\n }\r\n\r\n /**\r\n * Populate config for load config\r\n * \r\n * @param {IEmbedConfigurationBase}\r\n * @returns {void}\r\n */\r\n populateConfig(baseConfig: embed.IEmbedConfigurationBase): void {\r\n let config = baseConfig;\r\n\r\n super.populateConfig(config);\r\n\r\n // TODO: Change when Object.assign is available.\r\n const settings = utils.assign({}, Defaults.defaultSettings, config.settings);\r\n config = utils.assign({ settings }, config);\r\n\r\n config.id = this.getId();\r\n this.config = config;\r\n }\r\n\r\n /**\r\n * Adds the ability to get tileId from url.\r\n * By extracting the ID we can ensure that the ID is always explicitly provided as part of the load configuration.\r\n * \r\n * @static\r\n * @param {string} url\r\n * @returns {string}\r\n */\r\n static findIdFromEmbedUrl(url: string): string {\r\n const tileIdRegEx = /tileId=\"?([^&]+)\"?/\r\n const tileIdMatch = url.match(tileIdRegEx);\r\n\r\n let tileId;\r\n if (tileIdMatch) {\r\n tileId = tileIdMatch[1];\r\n }\r\n\r\n return tileId;\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/tile.ts","import * as service from './service';\r\nimport * as models from 'powerbi-models';\r\nimport * as embed from './embed';\r\nimport * as utils from './util';\r\n\r\n/**\r\n * The Power BI Qna embed component\r\n * \r\n * @export\r\n * @class Qna\r\n * @extends {Embed}\r\n */\r\nexport class Qna extends embed.Embed {\r\n static type = \"Qna\";\r\n static allowedEvents = [\"loaded\", \"visualRendered\"];\r\n\r\n constructor(service: service.Service, element: HTMLElement, config: embed.IEmbedConfigurationBase, phasedRender?: boolean) {\r\n super(service, element, config, /* iframe */ undefined, phasedRender);\r\n\r\n this.loadPath = \"/qna/load\";\r\n this.phasedLoadPath = \"/qna/prepare\";\r\n Array.prototype.push.apply(this.allowedEvents, Qna.allowedEvents);\r\n }\r\n\r\n /**\r\n * The ID of the Qna embed component\r\n * \r\n * @returns {string}\r\n */\r\n getId(): string {\r\n return null;\r\n }\r\n\r\n /**\r\n * Change the question of the Q&A embed component\r\n * \r\n * @param question - question which will render Q&A data\r\n * @returns {string}\r\n */\r\n setQuestion(question: string): Promise {\r\n const qnaData: models.IQnaInterpretInputData = {\r\n question: question\r\n };\r\n \r\n return this.service.hpm.post('/qna/interpret', qnaData, { uid: this.config.uniqueId }, this.iframe.contentWindow)\r\n .catch(response => {\r\n throw response.body;\r\n });\r\n }\r\n\r\n /**\r\n * Validate load configuration.\r\n */\r\n validate(config: embed.IEmbedConfigurationBase): models.IError[] {\r\n return models.validateLoadQnaConfiguration(config);\r\n }\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/qna.ts","import * as service from './service';\r\nimport * as embed from './embed';\r\nimport * as models from 'powerbi-models';\r\nimport { Report } from './report'\r\nimport { Page } from './page';\r\n\r\n/**\r\n * The Power BI Visual embed component\r\n * \r\n * @export\r\n * @class Visual\r\n */\r\nexport class Visual extends Report {\r\n static type = \"visual\";\r\n\r\n static GetFiltersNotSupportedError = \"Getting visual level filters is not supported.\";\r\n static SetFiltersNotSupportedError = \"Setting visual level filters is not supported.\";\r\n static GetPagesNotSupportedError = \"Get pages is not supported while embedding a visual.\";\r\n static SetPageNotSupportedError = \"Set page is not supported while embedding a visual.\";\r\n\r\n /**\r\n * Creates an instance of a Power BI Single Visual.\r\n * \r\n * @param {service.Service} service\r\n * @param {HTMLElement} element\r\n * @param {embed.IEmbedConfiguration} config\r\n */\r\n constructor(service: service.Service, element: HTMLElement, baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean, iframe?: HTMLIFrameElement) {\r\n super(service, element, baseConfig, phasedRender, iframe);\r\n }\r\n\r\n load(baseConfig: embed.IEmbedConfigurationBase, phasedRender?: boolean): Promise {\r\n var config = baseConfig;\r\n if (typeof config.pageName !== 'string' || config.pageName.length === 0) {\r\n throw new Error(`Page name is required when embedding a visual.`);\r\n }\r\n\r\n if (typeof config.visualName !== 'string' || config.visualName.length === 0) {\r\n throw new Error(`Visual name is required, but it was not found. You must provide a visual name as part of embed configuration.`);\r\n }\r\n\r\n // calculate custom layout settings and override config.\r\n let width = config.width ? config.width : this.iframe.offsetWidth;\r\n let height = config.height ? config.height : this.iframe.offsetHeight;\r\n\r\n const pageSize: models.ICustomPageSize = {\r\n type: models.PageSizeType.Custom,\r\n width: width,\r\n height: height,\r\n };\r\n\r\n let pagesLayout: models.PagesLayout = {};\r\n pagesLayout[config.pageName] = {\r\n defaultLayout: {\r\n displayState: {\r\n mode: models.VisualContainerDisplayMode.Hidden\r\n }\r\n },\r\n visualsLayout: {}\r\n };\r\n\r\n pagesLayout[config.pageName].visualsLayout[config.visualName] = {\r\n displayState: {\r\n mode: models.VisualContainerDisplayMode.Visible\r\n },\r\n x: 1,\r\n y: 1,\r\n z: 1,\r\n width: pageSize.width,\r\n height: pageSize.height\r\n }\r\n\r\n config.settings = config.settings || {};\r\n config.settings.filterPaneEnabled = false;\r\n config.settings.navContentPaneEnabled = false;\r\n config.settings.layoutType = models.LayoutType.Custom;\r\n config.settings.customLayout = {\r\n displayOption: models.DisplayOption.FitToPage,\r\n pageSize: pageSize,\r\n pagesLayout: pagesLayout\r\n };\r\n\r\n return super.load(config, phasedRender);\r\n }\r\n\r\n /**\r\n * Gets the list of pages within the report - not supported in visual embed.\r\n *\r\n * @returns {Promise}\r\n */\r\n getPages(): Promise {\r\n throw Visual.GetPagesNotSupportedError;\r\n }\r\n\r\n /**\r\n * Sets the active page of the report - not supported in visual embed.\r\n *\r\n * @param {string} pageName\r\n * @returns {Promise}\r\n */\r\n setPage(pageName: string): Promise {\r\n throw Visual.SetPageNotSupportedError;\r\n }\r\n\r\n /**\r\n * Gets filters that are applied at the visual level.\r\n * \r\n * ```javascript\r\n * // Get filters applied at visual level\r\n * visual.getFilters()\r\n * .then(filters => {\r\n * ...\r\n * });\r\n * ```\r\n * \r\n * @returns {Promise}\r\n */\r\n getFilters(): Promise {\r\n throw Visual.GetFiltersNotSupportedError;\r\n }\r\n\r\n /**\r\n * Sets filters at the visual level.\r\n * \r\n * ```javascript\r\n * const filters: [\r\n * ...\r\n * ];\r\n * \r\n * visual.setFilters(filters)\r\n * .catch(errors => {\r\n * ...\r\n * });\r\n * ```\r\n * \r\n * @param {(models.IFilter[])} filters\r\n * @returns {Promise}\r\n */\r\n setFilters(filters: models.IFilter[]): Promise {\r\n throw Visual.SetFiltersNotSupportedError;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/visual.ts","/**\r\n * TODO: Need to find better place for these factory functions or refactor how we handle dependency injection\r\n */\r\nimport { IHpmFactory, IWpmpFactory, IRouterFactory } from './service';\r\nimport config from './config';\r\nimport * as wpmp from 'window-post-message-proxy';\r\nimport * as hpm from 'http-post-message';\r\nimport * as router from 'powerbi-router';\r\n\r\nexport {\r\n IHpmFactory,\r\n IWpmpFactory,\r\n IRouterFactory\r\n};\r\n\r\nexport const hpmFactory: IHpmFactory = (wpmp, defaultTargetWindow, sdkVersion = config.version, sdkType = config.type) => {\r\n return new hpm.HttpPostMessage(wpmp, {\r\n 'x-sdk-type': sdkType,\r\n 'x-sdk-version': sdkVersion\r\n }, defaultTargetWindow);\r\n};\r\n\r\nexport const wpmpFactory: IWpmpFactory = (name?: string, logMessages?: boolean, eventSourceOverrideWindow?: Window) => {\r\n return new wpmp.WindowPostMessageProxy({\r\n processTrackingProperties: {\r\n addTrackingProperties: hpm.HttpPostMessage.addTrackingProperties,\r\n getTrackingProperties: hpm.HttpPostMessage.getTrackingProperties,\r\n },\r\n isErrorMessage: hpm.HttpPostMessage.isErrorMessage,\r\n suppressWarnings: true,\r\n name,\r\n logMessages,\r\n eventSourceOverrideWindow\r\n });\r\n};\r\n\r\nexport const routerFactory: IRouterFactory = (wpmp) => {\r\n return new router.Router(wpmp);\r\n};\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/factories.ts","const config = {\r\n version: '2.5.1',\r\n type: 'js'\r\n};\r\n\r\nexport default config;\n\n\n// WEBPACK FOOTER //\n// ./src/config.ts","/*! window-post-message-proxy v0.2.5 | (c) 2016 Microsoft Corporation MIT */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"window-post-message-proxy\"] = factory();\n\telse\n\t\troot[\"window-post-message-proxy\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ (function(module, exports) {\n\n\t\"use strict\";\r\n\tvar WindowPostMessageProxy = (function () {\r\n\t function WindowPostMessageProxy(options) {\r\n\t var _this = this;\r\n\t if (options === void 0) { options = {\r\n\t processTrackingProperties: {\r\n\t addTrackingProperties: WindowPostMessageProxy.defaultAddTrackingProperties,\r\n\t getTrackingProperties: WindowPostMessageProxy.defaultGetTrackingProperties\r\n\t },\r\n\t isErrorMessage: WindowPostMessageProxy.defaultIsErrorMessage,\r\n\t receiveWindow: window,\r\n\t name: WindowPostMessageProxy.createRandomString()\r\n\t }; }\r\n\t this.pendingRequestPromises = {};\r\n\t // save options with defaults\r\n\t this.addTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.addTrackingProperties) || WindowPostMessageProxy.defaultAddTrackingProperties;\r\n\t this.getTrackingProperties = (options.processTrackingProperties && options.processTrackingProperties.getTrackingProperties) || WindowPostMessageProxy.defaultGetTrackingProperties;\r\n\t this.isErrorMessage = options.isErrorMessage || WindowPostMessageProxy.defaultIsErrorMessage;\r\n\t this.receiveWindow = options.receiveWindow || window;\r\n\t this.name = options.name || WindowPostMessageProxy.createRandomString();\r\n\t this.logMessages = options.logMessages || false;\r\n\t this.eventSourceOverrideWindow = options.eventSourceOverrideWindow;\r\n\t this.suppressWarnings = options.suppressWarnings || false;\r\n\t if (this.logMessages) {\r\n\t console.log(\"new WindowPostMessageProxy created with name: \" + this.name + \" receiving on window: \" + this.receiveWindow.document.title);\r\n\t }\r\n\t // Initialize\r\n\t this.handlers = [];\r\n\t this.windowMessageHandler = function (event) { return _this.onMessageReceived(event); };\r\n\t this.start();\r\n\t }\r\n\t // Static\r\n\t WindowPostMessageProxy.defaultAddTrackingProperties = function (message, trackingProperties) {\r\n\t message[WindowPostMessageProxy.messagePropertyName] = trackingProperties;\r\n\t return message;\r\n\t };\r\n\t WindowPostMessageProxy.defaultGetTrackingProperties = function (message) {\r\n\t return message[WindowPostMessageProxy.messagePropertyName];\r\n\t };\r\n\t WindowPostMessageProxy.defaultIsErrorMessage = function (message) {\r\n\t return !!message.error;\r\n\t };\r\n\t /**\r\n\t * Utility to create a deferred object.\r\n\t */\r\n\t // TODO: Look to use RSVP library instead of doing this manually.\r\n\t // From what I searched RSVP would work better because it has .finally and .deferred; however, it doesn't have Typings information. \r\n\t WindowPostMessageProxy.createDeferred = function () {\r\n\t var deferred = {\r\n\t resolve: null,\r\n\t reject: null,\r\n\t promise: null\r\n\t };\r\n\t var promise = new Promise(function (resolve, reject) {\r\n\t deferred.resolve = resolve;\r\n\t deferred.reject = reject;\r\n\t });\r\n\t deferred.promise = promise;\r\n\t return deferred;\r\n\t };\r\n\t /**\r\n\t * Utility to generate random sequence of characters used as tracking id for promises.\r\n\t */\r\n\t WindowPostMessageProxy.createRandomString = function () {\r\n\t return (Math.random() + 1).toString(36).substring(7);\r\n\t };\r\n\t /**\r\n\t * Adds handler.\r\n\t * If the first handler whose test method returns true will handle the message and provide a response.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.addHandler = function (handler) {\r\n\t this.handlers.push(handler);\r\n\t };\r\n\t /**\r\n\t * Removes handler.\r\n\t * The reference must match the original object that was provided when adding the handler.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.removeHandler = function (handler) {\r\n\t var handlerIndex = this.handlers.indexOf(handler);\r\n\t if (handlerIndex === -1) {\r\n\t throw new Error(\"You attempted to remove a handler but no matching handler was found.\");\r\n\t }\r\n\t this.handlers.splice(handlerIndex, 1);\r\n\t };\r\n\t /**\r\n\t * Start listening to message events.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.start = function () {\r\n\t this.receiveWindow.addEventListener('message', this.windowMessageHandler);\r\n\t };\r\n\t /**\r\n\t * Stops listening to message events.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.stop = function () {\r\n\t this.receiveWindow.removeEventListener('message', this.windowMessageHandler);\r\n\t };\r\n\t /**\r\n\t * Post message to target window with tracking properties added and save deferred object referenced by tracking id.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.postMessage = function (targetWindow, message) {\r\n\t // Add tracking properties to indicate message came from this proxy\r\n\t var trackingProperties = { id: WindowPostMessageProxy.createRandomString() };\r\n\t this.addTrackingProperties(message, trackingProperties);\r\n\t if (this.logMessages) {\r\n\t console.log(this.name + \" Posting message:\");\r\n\t console.log(JSON.stringify(message, null, ' '));\r\n\t }\r\n\t targetWindow.postMessage(message, \"*\");\r\n\t var deferred = WindowPostMessageProxy.createDeferred();\r\n\t this.pendingRequestPromises[trackingProperties.id] = deferred;\r\n\t return deferred.promise;\r\n\t };\r\n\t /**\r\n\t * Send response message to target window.\r\n\t * Response messages re-use tracking properties from a previous request message.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.sendResponse = function (targetWindow, message, trackingProperties) {\r\n\t this.addTrackingProperties(message, trackingProperties);\r\n\t if (this.logMessages) {\r\n\t console.log(this.name + \" Sending response:\");\r\n\t console.log(JSON.stringify(message, null, ' '));\r\n\t }\r\n\t targetWindow.postMessage(message, \"*\");\r\n\t };\r\n\t /**\r\n\t * Message handler.\r\n\t */\r\n\t WindowPostMessageProxy.prototype.onMessageReceived = function (event) {\r\n\t var _this = this;\r\n\t if (this.logMessages) {\r\n\t console.log(this.name + \" Received message:\");\r\n\t console.log(\"type: \" + event.type);\r\n\t console.log(JSON.stringify(event.data, null, ' '));\r\n\t }\r\n\t var sendingWindow = this.eventSourceOverrideWindow || event.source;\r\n\t var message = event.data;\r\n\t if (typeof message !== \"object\") {\r\n\t if (!this.suppressWarnings) {\r\n\t console.warn(\"Proxy(\" + this.name + \"): Received message that was not an object. Discarding message\");\r\n\t }\r\n\t return;\r\n\t }\r\n\t var trackingProperties;\r\n\t try {\r\n\t trackingProperties = this.getTrackingProperties(message);\r\n\t }\r\n\t catch (e) {\r\n\t if (!this.suppressWarnings) {\r\n\t console.warn(\"Proxy(\" + this.name + \"): Error occurred when attempting to get tracking properties from incoming message:\", JSON.stringify(message, null, ' '), \"Error: \", e);\r\n\t }\r\n\t }\r\n\t var deferred;\r\n\t if (trackingProperties) {\r\n\t deferred = this.pendingRequestPromises[trackingProperties.id];\r\n\t }\r\n\t // If message does not have a known ID, treat it as a request\r\n\t // Otherwise, treat message as response\r\n\t if (!deferred) {\r\n\t var handled = this.handlers.some(function (handler) {\r\n\t var canMessageBeHandled = false;\r\n\t try {\r\n\t canMessageBeHandled = handler.test(message);\r\n\t }\r\n\t catch (e) {\r\n\t if (!_this.suppressWarnings) {\r\n\t console.warn(\"Proxy(\" + _this.name + \"): Error occurred when handler was testing incoming message:\", JSON.stringify(message, null, ' '), \"Error: \", e);\r\n\t }\r\n\t }\r\n\t if (canMessageBeHandled) {\r\n\t var responseMessagePromise = void 0;\r\n\t try {\r\n\t responseMessagePromise = Promise.resolve(handler.handle(message));\r\n\t }\r\n\t catch (e) {\r\n\t if (!_this.suppressWarnings) {\r\n\t console.warn(\"Proxy(\" + _this.name + \"): Error occurred when handler was processing incoming message:\", JSON.stringify(message, null, ' '), \"Error: \", e);\r\n\t }\r\n\t responseMessagePromise = Promise.resolve();\r\n\t }\r\n\t responseMessagePromise\r\n\t .then(function (responseMessage) {\r\n\t if (!responseMessage) {\r\n\t var warningMessage = \"Handler for message: \" + JSON.stringify(message, null, ' ') + \" did not return a response message. The default response message will be returned instead.\";\r\n\t if (!_this.suppressWarnings) {\r\n\t console.warn(\"Proxy(\" + _this.name + \"): \" + warningMessage);\r\n\t }\r\n\t responseMessage = {\r\n\t warning: warningMessage\r\n\t };\r\n\t }\r\n\t _this.sendResponse(sendingWindow, responseMessage, trackingProperties);\r\n\t });\r\n\t return true;\r\n\t }\r\n\t });\r\n\t /**\r\n\t * TODO: Consider returning an error message if nothing handled the message.\r\n\t * In the case of the Report receiving messages all of them should be handled,\r\n\t * however, in the case of the SDK receiving messages it's likely it won't register handlers\r\n\t * for all events. Perhaps make this an option at construction time.\r\n\t */\r\n\t if (!handled && !this.suppressWarnings) {\r\n\t console.warn(\"Proxy(\" + this.name + \") did not handle message. Handlers: \" + this.handlers.length + \" Message: \" + JSON.stringify(message, null, '') + \".\");\r\n\t }\r\n\t }\r\n\t else {\r\n\t /**\r\n\t * If error message reject promise,\r\n\t * Otherwise, resolve promise\r\n\t */\r\n\t var isErrorMessage = true;\r\n\t try {\r\n\t isErrorMessage = this.isErrorMessage(message);\r\n\t }\r\n\t catch (e) {\r\n\t 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);\r\n\t }\r\n\t if (isErrorMessage) {\r\n\t deferred.reject(message);\r\n\t }\r\n\t else {\r\n\t deferred.resolve(message);\r\n\t }\r\n\t // TODO: Move to .finally clause up where promise is created for better maitenance like original proxy code.\r\n\t delete this.pendingRequestPromises[trackingProperties.id];\r\n\t }\r\n\t };\r\n\t WindowPostMessageProxy.messagePropertyName = \"windowPostMessageProxy\";\r\n\t return WindowPostMessageProxy;\r\n\t}());\r\n\texports.WindowPostMessageProxy = WindowPostMessageProxy;\r\n\n\n/***/ })\n/******/ ])\n});\n;\n//# sourceMappingURL=windowPostMessageProxy.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/window-post-message-proxy/dist/windowPostMessageProxy.js\n// module id = 17\n// module chunks = 0","/*! http-post-message v0.2.3 | (c) 2016 Microsoft Corporation MIT */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"http-post-message\"] = factory();\n\telse\n\t\troot[\"http-post-message\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports) {\n\n\t\"use strict\";\n\tvar HttpPostMessage = (function () {\n\t function HttpPostMessage(windowPostMessageProxy, defaultHeaders, defaultTargetWindow) {\n\t if (defaultHeaders === void 0) { defaultHeaders = {}; }\n\t this.defaultHeaders = defaultHeaders;\n\t this.defaultTargetWindow = defaultTargetWindow;\n\t this.windowPostMessageProxy = windowPostMessageProxy;\n\t }\n\t // TODO: See if it's possible to share tracking properties interface?\n\t // The responsibility of knowing how to configure windowPostMessageProxy for http should\n\t // live in this http class, but the configuration would need ITrackingProperties\n\t // interface which lives in WindowPostMessageProxy. Use type as workaround\n\t HttpPostMessage.addTrackingProperties = function (message, trackingProperties) {\n\t message.headers = message.headers || {};\n\t if (trackingProperties && trackingProperties.id) {\n\t message.headers.id = trackingProperties.id;\n\t }\n\t return message;\n\t };\n\t HttpPostMessage.getTrackingProperties = function (message) {\n\t return {\n\t id: message.headers && message.headers.id\n\t };\n\t };\n\t HttpPostMessage.isErrorMessage = function (message) {\n\t if (typeof (message && message.statusCode) !== 'number') {\n\t return false;\n\t }\n\t return !(200 <= message.statusCode && message.statusCode < 300);\n\t };\n\t HttpPostMessage.prototype.get = function (url, headers, targetWindow) {\n\t if (headers === void 0) { headers = {}; }\n\t if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }\n\t return this.send({\n\t method: \"GET\",\n\t url: url,\n\t headers: headers\n\t }, targetWindow);\n\t };\n\t HttpPostMessage.prototype.post = function (url, body, headers, targetWindow) {\n\t if (headers === void 0) { headers = {}; }\n\t if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }\n\t return this.send({\n\t method: \"POST\",\n\t url: url,\n\t headers: headers,\n\t body: body\n\t }, targetWindow);\n\t };\n\t HttpPostMessage.prototype.put = function (url, body, headers, targetWindow) {\n\t if (headers === void 0) { headers = {}; }\n\t if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }\n\t return this.send({\n\t method: \"PUT\",\n\t url: url,\n\t headers: headers,\n\t body: body\n\t }, targetWindow);\n\t };\n\t HttpPostMessage.prototype.patch = function (url, body, headers, targetWindow) {\n\t if (headers === void 0) { headers = {}; }\n\t if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }\n\t return this.send({\n\t method: \"PATCH\",\n\t url: url,\n\t headers: headers,\n\t body: body\n\t }, targetWindow);\n\t };\n\t HttpPostMessage.prototype.delete = function (url, body, headers, targetWindow) {\n\t if (body === void 0) { body = null; }\n\t if (headers === void 0) { headers = {}; }\n\t if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }\n\t return this.send({\n\t method: \"DELETE\",\n\t url: url,\n\t headers: headers,\n\t body: body\n\t }, targetWindow);\n\t };\n\t HttpPostMessage.prototype.send = function (request, targetWindow) {\n\t if (targetWindow === void 0) { targetWindow = this.defaultTargetWindow; }\n\t request.headers = this.assign({}, this.defaultHeaders, request.headers);\n\t if (!targetWindow) {\n\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.\");\n\t }\n\t return this.windowPostMessageProxy.postMessage(targetWindow, request);\n\t };\n\t /**\n\t * Object.assign() polyfill\n\t * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/assign\n\t */\n\t HttpPostMessage.prototype.assign = function (target) {\n\t var sources = [];\n\t for (var _i = 1; _i < arguments.length; _i++) {\n\t sources[_i - 1] = arguments[_i];\n\t }\n\t if (target === undefined || target === null) {\n\t throw new TypeError('Cannot convert undefined or null to object');\n\t }\n\t var output = Object(target);\n\t sources.forEach(function (source) {\n\t if (source !== undefined && source !== null) {\n\t for (var nextKey in source) {\n\t if (Object.prototype.hasOwnProperty.call(source, nextKey)) {\n\t output[nextKey] = source[nextKey];\n\t }\n\t }\n\t }\n\t });\n\t return output;\n\t };\n\t return HttpPostMessage;\n\t}());\n\texports.HttpPostMessage = HttpPostMessage;\n\n\n/***/ }\n/******/ ])\n});\n;\n//# sourceMappingURL=httpPostMessage.js.map\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/http-post-message/dist/httpPostMessage.js\n// module id = 18\n// module chunks = 0","/*! powerbi-router v0.1.5 | (c) 2016 Microsoft Corporation MIT */\n(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"powerbi-router\"] = factory();\n\telse\n\t\troot[\"powerbi-router\"] = factory();\n})(this, function() {\nreturn /******/ (function(modules) { // webpackBootstrap\n/******/ \t// The module cache\n/******/ \tvar installedModules = {};\n/******/\n/******/ \t// The require function\n/******/ \tfunction __webpack_require__(moduleId) {\n/******/\n/******/ \t\t// Check if module is in cache\n/******/ \t\tif(installedModules[moduleId])\n/******/ \t\t\treturn installedModules[moduleId].exports;\n/******/\n/******/ \t\t// Create a new module (and put it into the cache)\n/******/ \t\tvar module = installedModules[moduleId] = {\n/******/ \t\t\texports: {},\n/******/ \t\t\tid: moduleId,\n/******/ \t\t\tloaded: false\n/******/ \t\t};\n/******/\n/******/ \t\t// Execute the module function\n/******/ \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n/******/\n/******/ \t\t// Flag the module as loaded\n/******/ \t\tmodule.loaded = true;\n/******/\n/******/ \t\t// Return the exports of the module\n/******/ \t\treturn module.exports;\n/******/ \t}\n/******/\n/******/\n/******/ \t// expose the modules object (__webpack_modules__)\n/******/ \t__webpack_require__.m = modules;\n/******/\n/******/ \t// expose the module cache\n/******/ \t__webpack_require__.c = installedModules;\n/******/\n/******/ \t// __webpack_public_path__\n/******/ \t__webpack_require__.p = \"\";\n/******/\n/******/ \t// Load entry module and return exports\n/******/ \treturn __webpack_require__(0);\n/******/ })\n/************************************************************************/\n/******/ ([\n/* 0 */\n/***/ function(module, exports, __webpack_require__) {\n\n\t\"use strict\";\n\tvar RouteRecognizer = __webpack_require__(1);\n\tvar Router = (function () {\n\t function Router(handlers) {\n\t this.handlers = handlers;\n\t /**\n\t * TODO: look at generating the router dynamically based on list of supported http methods\n\t * instead of hardcoding the creation of these and the methods.\n\t */\n\t this.getRouteRecognizer = new RouteRecognizer();\n\t this.patchRouteRecognizer = new RouteRecognizer();\n\t this.postRouteRecognizer = new RouteRecognizer();\n\t this.putRouteRecognizer = new RouteRecognizer();\n\t this.deleteRouteRecognizer = new RouteRecognizer();\n\t }\n\t Router.prototype.get = function (url, handler) {\n\t this.registerHandler(this.getRouteRecognizer, \"GET\", url, handler);\n\t return this;\n\t };\n\t Router.prototype.patch = function (url, handler) {\n\t this.registerHandler(this.patchRouteRecognizer, \"PATCH\", url, handler);\n\t return this;\n\t };\n\t Router.prototype.post = function (url, handler) {\n\t this.registerHandler(this.postRouteRecognizer, \"POST\", url, handler);\n\t return this;\n\t };\n\t Router.prototype.put = function (url, handler) {\n\t this.registerHandler(this.putRouteRecognizer, \"PUT\", url, handler);\n\t return this;\n\t };\n\t Router.prototype.delete = function (url, handler) {\n\t this.registerHandler(this.deleteRouteRecognizer, \"DELETE\", url, handler);\n\t return this;\n\t };\n\t /**\n\t * TODO: This method could use some refactoring. There is conflict of interest between keeping clean separation of test and handle method\n\t * Test method only returns boolean indicating if request can be handled, and handle method has opportunity to modify response and return promise of it.\n\t * 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\n\t * Will leave as is an investigate cleaner ways at later time.\n\t */\n\t Router.prototype.registerHandler = function (routeRecognizer, method, url, handler) {\n\t var routeRecognizerHandler = function (request) {\n\t var response = new Response();\n\t return Promise.resolve(handler(request, response))\n\t .then(function (x) { return response; });\n\t };\n\t routeRecognizer.add([\n\t { path: url, handler: routeRecognizerHandler }\n\t ]);\n\t var internalHandler = {\n\t test: function (request) {\n\t if (request.method !== method) {\n\t return false;\n\t }\n\t var matchingRoutes = routeRecognizer.recognize(request.url);\n\t if (matchingRoutes === undefined) {\n\t return false;\n\t }\n\t /**\n\t * Copy parameters from recognized route to the request so they can be used within the handler function\n\t * This isn't ideal because it is side affect which modifies the request instead of strictly testing for true or false\n\t * 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\n\t * even though it's responsibility is related to routing.\n\t */\n\t var route = matchingRoutes[0];\n\t request.params = route.params;\n\t request.queryParams = matchingRoutes.queryParams;\n\t request.handler = route.handler;\n\t return true;\n\t },\n\t handle: function (request) {\n\t return request.handler(request);\n\t }\n\t };\n\t this.handlers.addHandler(internalHandler);\n\t };\n\t return Router;\n\t}());\n\texports.Router = Router;\n\tvar Response = (function () {\n\t function Response() {\n\t this.statusCode = 200;\n\t this.headers = {};\n\t this.body = null;\n\t }\n\t Response.prototype.send = function (statusCode, body) {\n\t this.statusCode = statusCode;\n\t this.body = body;\n\t };\n\t return Response;\n\t}());\n\texports.Response = Response;\n\n\n/***/ },\n/* 1 */\n/***/ function(module, exports, __webpack_require__) {\n\n\tvar __WEBPACK_AMD_DEFINE_RESULT__;/* WEBPACK VAR INJECTION */(function(module) {(function() {\n\t \"use strict\";\n\t function $$route$recognizer$dsl$$Target(path, matcher, delegate) {\n\t this.path = path;\n\t this.matcher = matcher;\n\t this.delegate = delegate;\n\t }\n\t\n\t $$route$recognizer$dsl$$Target.prototype = {\n\t to: function(target, callback) {\n\t var delegate = this.delegate;\n\t\n\t if (delegate && delegate.willAddRoute) {\n\t target = delegate.willAddRoute(this.matcher.target, target);\n\t }\n\t\n\t this.matcher.add(this.path, target);\n\t\n\t if (callback) {\n\t if (callback.length === 0) { throw new Error(\"You must have an argument in the function passed to `to`\"); }\n\t this.matcher.addChild(this.path, target, callback, this.delegate);\n\t }\n\t return this;\n\t }\n\t };\n\t\n\t function $$route$recognizer$dsl$$Matcher(target) {\n\t this.routes = {};\n\t this.children = {};\n\t this.target = target;\n\t }\n\t\n\t $$route$recognizer$dsl$$Matcher.prototype = {\n\t add: function(path, handler) {\n\t this.routes[path] = handler;\n\t },\n\t\n\t addChild: function(path, target, callback, delegate) {\n\t var matcher = new $$route$recognizer$dsl$$Matcher(target);\n\t this.children[path] = matcher;\n\t\n\t var match = $$route$recognizer$dsl$$generateMatch(path, matcher, delegate);\n\t\n\t if (delegate && delegate.contextEntered) {\n\t delegate.contextEntered(target, match);\n\t }\n\t\n\t callback(match);\n\t }\n\t };\n\t\n\t function $$route$recognizer$dsl$$generateMatch(startingPath, matcher, delegate) {\n\t return function(path, nestedCallback) {\n\t var fullPath = startingPath + path;\n\t\n\t if (nestedCallback) {\n\t nestedCallback($$route$recognizer$dsl$$generateMatch(fullPath, matcher, delegate));\n\t } else {\n\t return new $$route$recognizer$dsl$$Target(startingPath + path, matcher, delegate);\n\t }\n\t };\n\t }\n\t\n\t function $$route$recognizer$dsl$$addRoute(routeArray, path, handler) {\n\t var len = 0;\n\t for (var i=0; i z`. For instance, \"199\" is smaller\n\t // then \"200\", even though \"y\" and \"z\" (which are both 9) are larger than \"0\" (the value\n\t // of (`b` and `c`). This is because the leading symbol, \"2\", is larger than the other\n\t // leading symbol, \"1\".\n\t // The rule is that symbols to the left carry more weight than symbols to the right\n\t // when a number is written out as a string. In the above strings, the leading digit\n\t // represents how many 100's are in the number, and it carries more weight than the middle\n\t // number which represents how many 10's are in the number.\n\t // This system of number magnitude works well for route specificity, too. A route written as\n\t // `a/b/c` will be more specific than `x/y/z` as long as `a` is more specific than\n\t // `x`, irrespective of the other parts.\n\t // Because of this similarity, we assign each type of segment a number value written as a\n\t // string. We can find the specificity of compound routes by concatenating these strings\n\t // together, from left to right. After we have looped through all of the segments,\n\t // we convert the string to a number.\n\t specificity.val = '';\n\t\n\t for (var i=0; i 2 && key.slice(keyLength -2) === '[]') {\n\t isArray = true;\n\t key = key.slice(0, keyLength - 2);\n\t if(!queryParams[key]) {\n\t queryParams[key] = [];\n\t }\n\t }\n\t value = pair[1] ? $$route$recognizer$$decodeQueryParamPart(pair[1]) : '';\n\t }\n\t if (isArray) {\n\t queryParams[key].push(value);\n\t } else {\n\t queryParams[key] = value;\n\t }\n\t }\n\t return queryParams;\n\t },\n\t\n\t recognize: function(path) {\n\t var states = [ this.rootState ],\n\t pathLen, i, l, queryStart, queryParams = {},\n\t isSlashDropped = false;\n\t\n\t queryStart = path.indexOf('?');\n\t if (queryStart !== -1) {\n\t var queryString = path.substr(queryStart + 1, path.length);\n\t path = path.substr(0, queryStart);\n\t queryParams = this.parseQueryString(queryString);\n\t }\n\t\n\t path = decodeURI(path);\n\t\n\t if (path.charAt(0) !== \"/\") { path = \"/\" + path; }\n\t\n\t pathLen = path.length;\n\t if (pathLen > 1 && path.charAt(pathLen - 1) === \"/\") {\n\t path = path.substr(0, pathLen - 1);\n\t isSlashDropped = true;\n\t }\n\t\n\t for (i=0; i