UNPKG

powerbi-client-vue-js

Version:
2 lines (1 loc) 9.65 kB
(function(n,s){typeof exports=="object"&&typeof module<"u"?s(exports,require("vue"),require("powerbi-client")):typeof define=="function"&&define.amd?define(["exports","vue","powerbi-client"],s):(n=typeof globalThis<"u"?globalThis:n||self,s(n.PowerbiClientVue={},n.Vue,n.powerbiClient))})(this,function(n,s,r){"use strict";const f={name:"powerbi-client-vue-js",version:"1.1.2",description:"VueJS wrapper for powerbi-client library",files:["dist"],main:"./dist/powerbi-client-vue-js.es.js",module:"./dist/powerbi-client-vue-js.umd.js",types:"./dist/types/src/public-api.d.ts",scripts:{dev:"vite",build:"vite build && vue-tsc --declaration --emitDeclarationOnly",preview:"vite preview",lint:"eslint ./src --ext .ts",test:"jest src",demo:"cd demo && npm run dev","install:demo":"cd demo && npm install"},keywords:["microsoft","powerbi","embedded","vue-js"],repository:{type:"git",url:"https://github.com/microsoft/powerbi-client-vue-js"},license:"MIT",publishConfig:{tag:"beta"},dependencies:{"powerbi-client":"^2.23.1","powerbi-report-authoring":"^1.1.3",vue:"^3.4.21"},devDependencies:{"@types/jest":"^28.1.3","@typescript-eslint/eslint-plugin":"^7.5.0","@typescript-eslint/parser":"^7.5.0","@vitejs/plugin-vue":"^5.0.4","@vue/test-utils":"^2.0.0",eslint:"^8.57.0","eslint-plugin-vue":"^9.22.0",jest:"^26.6.3","ts-jest":"^26.5.6",typescript:"^4.5.4",vite:"^5.1.5","vue-tsc":"^0.34.7"}};function h(t,e){if(t.size!==e.size)return!1;for(const[i,d]of t){if(!e.has(i))return!1;const a=e.get(i);if(JSON.stringify(a)!==JSON.stringify(d))return!1}return!0}const m="powerbi-client-vue-js",b=f.version,o=s.defineComponent({name:"PowerBIBase",props:{cssClassName:{type:String},service:{type:r.service.Service}},data(){const t=this.service?this.service:new r.service.Service(r.factories.hpmFactory,r.factories.wpmpFactory,r.factories.routerFactory);return t.setSdkInfo(m,b),{powerbi:t,prevEventHandlerMap:new Map([]),embed:void 0}},methods:{setEventHandlers(t,e){if(h(this.prevEventHandlerMap,e))return;this.prevEventHandlerMap=e;let i=r.Embed.allowedEvents;const d=t.embedtype;switch(d){case"create":break;case"report":i=[...i,...r.Report.allowedEvents];break;case"dashboard":i=[...i,...r.Dashboard.allowedEvents];break;case"tile":i=[...i,...r.Tile.allowedEvents];break;case"qna":i=[...i,...r.Qna.allowedEvents];break;case"visual":i=[...i,...r.Visual.allowedEvents];break;default:console.error(`Invalid embed type ${d}`)}const a=[];e.forEach((l,c)=>{i.includes(c)?(t.off(c),l&&t.on(c,H=>{l(H,t)})):a.push(c)}),a.length&&console.error(`Following events are invalid: ${a.join(",")}`)}}}),p=s.defineComponent({name:"PowerBIReportEmbed",emits:["report-obj"],props:{embedConfig:{type:Object,required:!0},phasedEmbedding:{type:Boolean,default:!1},eventHandlers:{type:Map}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"reportContainer"})},watch:{embedConfig:function(t,e){e&&(this.embedOrBootstrap(),this.callSetEventHandlers())},eventHandlers:function(){this.callSetEventHandlers()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.embedOrBootstrap(),this.callSetEventHandlers()},methods:{embedOrBootstrap(){var t,e;(t=this.config)!=null&&t.accessToken&&((e=this.config)!=null&&e.embedUrl)?this.embedReport():this.embed=this.powerbi.bootstrap(this.$refs.containerRef,this.config)},embedReport(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.phasedEmbedding?this.powerbi.load(this.$refs.containerRef,this.config):this.powerbi.embed(this.$refs.containerRef,this.config),this.$emit("report-obj",this.getReport())},callSetEventHandlers(){this.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.eventHandlers)},getReport(){return this.embed}}}),u=s.defineComponent({name:"PowerBIDashboardEmbed",props:{embedConfig:{type:Object,required:!0},eventHandlers:{type:Map}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"dashboardContainer"})},watch:{embedConfig:function(t,e){e&&(this.embedOrBootstrap(),this.callSetEventHandlers())},eventHandlers:function(){this.callSetEventHandlers()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.embedOrBootstrap(),this.callSetEventHandlers()},methods:{embedOrBootstrap(){var t,e;(t=this.config)!=null&&t.accessToken&&((e=this.config)!=null&&e.embedUrl)?this.embedDashboard():this.embed=this.powerbi.bootstrap(this.$refs.containerRef,this.config)},embedDashboard(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.powerbi.embed(this.$refs.containerRef,this.config)},callSetEventHandlers(){this.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.eventHandlers)},getDashboard(){return this.embed}}}),v=s.defineComponent({name:"PowerBITileEmbed",props:{embedConfig:{type:Object,required:!0},eventHandlers:{type:Map,required:!1}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"tileContainer"})},watch:{embedConfig:function(t,e){e&&(this.embedOrBootstrap(),this.callSetEventHandlers())},eventHandlers:function(){this.callSetEventHandlers()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.embedOrBootstrap(),this.callSetEventHandlers()},methods:{embedOrBootstrap(){var t,e;(t=this.embedConfig)!=null&&t.accessToken&&((e=this.embedConfig)!=null&&e.embedUrl)?this.embedTile():this.embed=this.powerbi.bootstrap(this.$refs.containerRef,this.embedConfig)},embedTile(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.powerbi.embed(this.$refs.containerRef,this.embedConfig)},callSetEventHandlers(){this.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.eventHandlers)},getTile(){return this.embed}}}),g=s.defineComponent({name:"PowerBIPaginatedReportEmbed",props:{embedConfig:{type:Object,required:!0}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"paginatedReportContainer"})},watch:{embedConfig:function(t,e){e&&this.embedPaginatedReport()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.embedPaginatedReport()},methods:{embedPaginatedReport(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.powerbi.embed(this.$refs.containerRef,this.config)}}}),w=s.defineComponent({name:"PowerBIVisualEmbed",props:{embedConfig:{type:Object,required:!0},eventHandlers:{type:Map}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"visualContainer"})},watch:{embedConfig:function(t,e){e&&(this.embedOrBootstrap(),this.callSetEventHandlers())},eventHandlers:function(){this.callSetEventHandlers()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.embedOrBootstrap(),this.callSetEventHandlers()},methods:{embedOrBootstrap(){var t,e;(t=this.config)!=null&&t.accessToken&&((e=this.config)!=null&&e.embedUrl)?this.embedVisual():this.embed=this.powerbi.bootstrap(this.$refs.containerRef,this.config)},embedVisual(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.powerbi.embed(this.$refs.containerRef,this.config)},callSetEventHandlers(){this.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.eventHandlers)},getVisual(){return this.embed}}}),E=s.defineComponent({name:"PowerBIQnaEmbed",props:{embedConfig:{type:Object,required:!0},eventHandlers:{type:Map}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"qnaContainer"})},watch:{embedConfig:function(t,e){e&&(this.embedOrBootstrap(),this.callSetEventHandlers())},eventHandlers:function(){this.callSetEventHandlers()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.embedOrBootstrap(),this.callSetEventHandlers()},methods:{embedOrBootstrap(){var t,e;(t=this.config)!=null&&t.accessToken&&((e=this.config)!=null&&e.embedUrl)?this.embedQna():this.embed=this.powerbi.bootstrap(this.$refs.containerRef,this.config)},embedQna(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.powerbi.embed(this.$refs.containerRef,this.config)},callSetEventHandlers(){this.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.eventHandlers)},getQna(){return this.embed}}}),R=s.defineComponent({name:"PowerBICreateReport",props:{embedConfig:{type:Object,required:!0},eventHandlers:{type:Map}},mixins:[o],render(){return s.h("div",{ref:"containerRef",class:this.cssClassName,id:"createReportContainer"})},watch:{embedConfig:function(t,e){e&&(this.createEmbedReport(),this.callSetEventHandlers())},eventHandlers:function(){this.callSetEventHandlers()}},computed:{config(){return s.toRaw(this.embedConfig)}},mounted(){this.$refs.containerRef&&this.createEmbedReport(),this.callSetEventHandlers()},methods:{createEmbedReport(){if(!this.$refs.containerRef){console.error("HTML container is not rendered or available");return}this.embed=this.powerbi.createReport(this.$refs.containerRef,this.config)},callSetEventHandlers(){this.eventHandlers&&this.embed&&this.setEventHandlers(this.embed,this.eventHandlers)},getCreateObj(){return this.embed}}});n.PowerBICreateReport=R,n.PowerBIDashboardEmbed=u,n.PowerBIPaginatedReportEmbed=g,n.PowerBIQnaEmbed=E,n.PowerBIReportEmbed=p,n.PowerBITileEmbed=v,n.PowerBIVisualEmbed=w,Object.defineProperty(n,Symbol.toStringTag,{value:"Module"})});