powerbi-client-react
Version:
React wrapper for powerbi-client library
2 lines • 6.46 kB
JavaScript
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("powerbi-client"),require("lodash.isequal")):"function"==typeof define&&define.amd?define(["react","powerbi-client","lodash.isequal"],t):"object"==typeof exports?exports["powerbi-client-react"]=t(require("react"),require("powerbi-client"),require("lodash.isequal")):e["powerbi-client-react"]=t(e.react,e["powerbi-client"],e["lodash.isequal"])}(self,((e,t,r)=>(()=>{"use strict";var n={695:e=>{e.exports=r},164:e=>{e.exports=t},155:t=>{t.exports=e}},o={};function i(e){var t=o[e];if(void 0!==t)return t.exports;var r=o[e]={exports:{}};return n[e](r,r.exports,i),r.exports}i.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return i.d(t,{a:t}),t},i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};i.r(s),i.d(s,{EmbedType:()=>p,PowerBIEmbed:()=>h});var a,p,c=i(155),l=i(164),u=i(695),d=i.n(u),f=(a=function(e,t){return a=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},a(e,t)},function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}a(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}),b=function(e,t,r){if(r||2===arguments.length)for(var n,o=0,i=t.length;o<i;o++)!n&&o in t||(n||(n=Array.prototype.slice.call(t,0,o)),n[o]=t[o]);return e.concat(n||Array.prototype.slice.call(t))};!function(e){e.Create="create",e.Report="report",e.Dashboard="dashboard",e.Tile="tile",e.Qna="qna",e.Visual="visual"}(p||(p={}));var h=function(e){function t(t){var r=e.call(this,t)||this;return r.containerRef=c.createRef(),r.prevEventHandlerMapString="",r.props.service?r.powerbi=r.props.service:r.powerbi=new l.service.Service(l.factories.hpmFactory,l.factories.wpmpFactory,l.factories.routerFactory),r.powerbi.setSdkInfo("powerbi-client-react","2.0.0"),r}return f(t,e),Object.defineProperty(t.prototype,"embed",{get:function(){return this._embed},set:function(e){this._embed=e,this.invokeGetEmbedCallback()},enumerable:!1,configurable:!0}),t.prototype.componentDidMount=function(){this.containerRef.current&&(this.props.embedConfig.accessToken&&this.props.embedConfig.embedUrl?this.embedEntity():this.embed=this.powerbi.bootstrap(this.containerRef.current,this.props.embedConfig)),this.props.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.props.eventHandlers)},t.prototype.componentDidUpdate=function(e){return t=this,r=void 0,o=function(){return function(e,t){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(a){return function(p){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i&&(i=0,a[0]&&(s=0)),s;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!((o=(o=s.trys).length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,p])}}}(this,(function(t){return this.props.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.props.eventHandlers),d()(this.props.embedConfig,e.embedConfig)||this.embedEntity(),[2]}))},new((n=void 0)||(n=Promise))((function(e,i){function s(e){try{p(o.next(e))}catch(e){i(e)}}function a(e){try{p(o.throw(e))}catch(e){i(e)}}function p(t){var r;t.done?e(t.value):(r=t.value,r instanceof n?r:new n((function(e){e(r)}))).then(s,a)}p((o=o.apply(t,r||[])).next())}));var t,r,n,o},t.prototype.componentWillUnmount=function(){this.containerRef.current&&this.powerbi.reset(this.containerRef.current),this.prevEventHandlerMapString=""},t.prototype.render=function(){return c.createElement("div",{ref:this.containerRef,className:this.props.cssClassName})},t.prototype.embedEntity=function(){this.containerRef.current&&this.props.embedConfig.accessToken&&this.props.embedConfig.embedUrl&&(this.props.phasedEmbedding&&this.props.embedConfig.type===p.Report?this.embed=this.powerbi.load(this.containerRef.current,this.props.embedConfig):(this.props.phasedEmbedding&&console.error("Phased embedding is not supported for type ".concat(this.props.embedConfig.type)),this.props.embedConfig.type===p.Create?this.embed=this.powerbi.createReport(this.containerRef.current,this.props.embedConfig):this.embed=this.powerbi.embed(this.containerRef.current,this.props.embedConfig)))},t.prototype.setEventHandlers=function(e,t){var r=this,n=function(e){if(!e)return"";var t=Array.from(e);return JSON.stringify(t.map((function(e){return[e[0],e[1]?e[1].toString():""]})))}(this.props.eventHandlers);if(this.prevEventHandlerMapString!==n){this.prevEventHandlerMapString=n;var o=l.Embed.allowedEvents,i=e.embedtype;switch(i){case p.Create:break;case p.Report:o=b(b([],o,!0),l.Report.allowedEvents,!0);break;case p.Dashboard:o=b(b([],o,!0),l.Dashboard.allowedEvents,!0);break;case p.Tile:o=b(b([],o,!0),l.Tile.allowedEvents,!0);break;case p.Qna:o=b(b([],o,!0),l.Qna.allowedEvents,!0);break;case p.Visual:o=b(b([],o,!0),l.Visual.allowedEvents,!0);break;default:console.error("Invalid embed type ".concat(i))}var s=[];t.forEach((function(t,n){o.includes(n)?(e.off(n),t&&e.on(n,(function(e){t(e,r.embed)}))):s.push(n)})),s.length&&console.error("Following events are invalid: ".concat(s.join(",")))}},t.prototype.invokeGetEmbedCallback=function(){this.props.getEmbeddedComponent&&this.embed&&this.props.getEmbeddedComponent(this.embed)},t}(c.Component);return s})()));
//# sourceMappingURL=powerbi-client-react.js.map