UNPKG

@luzmo/vue-embed

Version:

This is a Vue.js library for embedding [Luzmo](https://luzmo.com) dashboards in your Vue 2 or Vue 3 application.

2 lines (1 loc) 7.03 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("@luzmo/embed"),e=require("vue");function I(a){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(a){for(const s in a)if(s!=="default"){const r=Object.getOwnPropertyDescriptor(a,s);Object.defineProperty(i,s,r.get?r:{enumerable:!0,get:()=>a[s]})}}return i.default=a,Object.freeze(i)}function A(a,i){for(var s=0;s<i.length;s++){const r=i[s];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in a)){const t=Object.getOwnPropertyDescriptor(r,o);t&&Object.defineProperty(a,o,t.get?t:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}const w=I(v),d="5.7.2";class P{constructor(){this._dashboardComponents=[]}getDashboards(){return Promise.resolve(this._dashboardComponents)}_setComponentContext(i){this._dashboardComponents.includes(i)||this._dashboardComponents.push(i)}_removeComponentContext(i){this._dashboardComponents.includes(i)&&(this._dashboardComponents=this._dashboardComponents.filter(s=>s!==i))}}const b=new P,F=["lib-version"],M=e.defineComponent({name:"LuzmoDashboard"}),h=e.defineComponent({...M,props:{dashboardId:{type:String,default:null},dashboardSlug:{type:String,default:null},itemId:{type:String,default:null},language:{type:String,default:"auto"},qeVersion:{type:Number,default:null},editMode:{type:String,default:"view"},screenMode:{type:String,default:"auto"},switchScreenModeOnResize:{type:Boolean,default:!0},itemDimensions:{type:Object,default:()=>({width:"auto",height:"auto"})},theme:String,mainColor:String,accentColor:String,authToken:String,authKey:String,loaderBackground:String,loaderFontColor:String,loaderSpinnerColor:String,loaderSpinnerBackground:String,appServer:{type:String,default:"https://app.luzmo.com/"},timezoneId:String,apiHost:{type:String,default:"https://api.luzmo.com/"},embedMode:{type:String,default:"iframe"}},emits:["customEvent","itemsRendered","load","filters","exported","changedFilters","dashboardAction"],setup(a,{expose:i,emit:s}){const r=a,o=s,t=e.ref(),p=e.ref(d+"-vue-luzmo");e.onMounted(()=>{e.nextTick(()=>{t.value.setAttribute("version",d+"-vue-embed"),t.value.addEventListener("load",n=>o("load",n.detail)),t.value.addEventListener("itemsRendered",n=>o("itemsRendered",n.detail)),t.value.addEventListener("customEvent",n=>o("customEvent",n.detail)),t.value.addEventListener("changedFilters",n=>o("changedFilters",n.detail)),t.value.addEventListener("dashboardAction",n=>o("dashboardAction",n.detail)),t.value.addEventListener("export",n=>o("exported",n.detail))})}),e.onUnmounted(()=>{b._removeComponentContext(this)});function c(){return b.getDashboards()}function m(n){return t.value.getData(n)}function f(){return t.value.getFilters()}function u(n,l){return t.value.setSelectedData(n,l)}function g(n,l){return t.value.setAuthorization(n,l)}function z(n){return t.value.refreshData(n)}function D(){return t.value.reloadDashboard()}function O(n){return t.value.exportDashboard(n)}function E(){return t.value.getAccessibleDashboards()}function C(n){return t.value.setEditMode(n)}function x(n,l){return t.value.addFilters(n,l)}function j(n){return t.value.setPreview(n)}function k(n,l,L){return t.value.sendExportEmail(n,l,L)}return i({addFilters:x,exportDashboard:O,getAccessibleDashboards:E,getDashboards:c,getData:m,getFilters:f,refreshData:z,reloadDashboard:D,sendExportEmail:k,setAuthorization:g,setEditMode:C,setPreview:j,setSelectedData:u,luzmoDashboard:t,libVersion:p}),(n,l)=>(e.openBlock(),e.createElementBlock("luzmo-embed-dashboard",e.mergeProps(r,{ref_key:"luzmoDashboard",ref:t,"lib-version":p.value}),null,16,F))}}),q=["lib-version"],_=e.defineComponent({__name:"luzmo-viz-item",props:{type:{type:String},appServer:{type:String,default:"https://app.luzmo.com"},apiHost:{type:String,default:"https://api.luzmo.com"},slots:{type:Object},options:{type:Object},autKey:{type:String},authToken:{type:String},contextId:{type:String},canFilter:{type:Object},filters:{type:Object},dashboardId:{type:String},itemId:{type:String},selectedData:{type:Object},dashboardContentsVersion:{type:String}},emits:["rendered","load","exported","changedFilters","customEvent"],setup(a,{expose:i,emit:s}){const r=s,o=e.ref(),t=e.ref(d+"-vue-luzmo");e.onMounted(()=>{e.nextTick(()=>{o.value.setAttribute("version",d+"-vue-embed"),o.value.addEventListener("load",u=>r("load",u.detail)),o.value.addEventListener("rendered",u=>r("rendered",u.detail)),o.value.addEventListener("changedFilters",u=>r("changedFilters",u.detail)),o.value.addEventListener("exported",u=>r("exported",u.detail)),o.value.addEventListener("customEvent",u=>r("customEvent",u.detail))})});function p(){return o.value.getData()}function c(){return o.value.getFilters()}function m(){return o.value.refreshData()}function f(u="png"){return o.value.export(u)}return i({getData:p,getFilters:c,refreshData:m,export:f,luzmoVizItemRef:o,libVersion:t}),(u,g)=>(e.openBlock(),e.createElementBlock("luzmo-embed-viz-item",e.mergeProps(u.$props,{ref_key:"luzmoVizItemRef",ref:o,"lib-version":t.value}),null,16,q))}}),y=e.defineComponent({__name:"luzmo-iq-chat",props:{appServer:{type:String,default:"https://app.luzmo.com"},apiHost:{type:String,default:"https://api.luzmo.com"},options:{type:Object},autKey:{type:String},authToken:{type:String},initialSuggestionsDatasetId:{type:String},availableDatasets:{type:Object}},emits:["rendered","load"],setup(a,{expose:i,emit:s}){const r=e.ref(),o=e.ref(d+"-vue-luzmo");return e.onMounted(()=>{e.nextTick(()=>{r.value.setAttribute("version",d+"-vue-embed")})}),i({luzmoIQChatRef:r,libVersion:o}),(t,p)=>{const c=e.resolveComponent("luzmo-iq-embed-chat");return e.openBlock(),e.createBlock(c,e.mergeProps(t.$props,{ref_key:"luzmoIQChatRef",ref:r,"lib-version":o.value}),null,16,["lib-version"])}}}),S=e.defineComponent({__name:"luzmo-iq-answer",props:{appServer:{type:String,default:"https://app.luzmo.com"},apiHost:{type:String,default:"https://api.luzmo.com"},options:{type:Object},autKey:{type:String},authToken:{type:String},messages:{type:Object}},emits:["rendered","load"],setup(a,{expose:i,emit:s}){const r=e.ref(),o=e.ref(d+"-vue-luzmo");return e.onMounted(()=>{e.nextTick(()=>{r.value.setAttribute("version",d+"-vue-embed")})}),i({luzmoIQAnswerRef:r,libVersion:o}),(t,p)=>{const c=e.resolveComponent("luzmo-iq-embed-answer");return e.openBlock(),e.createBlock(c,e.mergeProps(t.$props,{ref_key:"luzmoIQAnswerRef",ref:r,"lib-version":o.value}),null,16,["lib-version"])}}}),B=A({__proto__:null,LuzmoDashboard:h,LuzmoIqAnswer:S,LuzmoIqChat:y,LuzmoVizItem:_},[w]),T=a=>{const i=Object.entries(B);for(const[s,r]of i)a.component(s,r)};exports.LuzmoDashboard=h;exports.LuzmoDashboardService=b;exports.LuzmoIqAnswer=S;exports.LuzmoIqChat=y;exports.LuzmoVizItem=_;exports.default=T;Object.keys(v).forEach(a=>{a!=="default"&&!Object.prototype.hasOwnProperty.call(exports,a)&&Object.defineProperty(exports,a,{enumerable:!0,get:()=>v[a]})});