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) 6.96 kB
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const v=require("@luzmo/embed"),e=require("vue");function E(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 L(a,i){for(var s=0;s<i.length;s++){const r=i[s];if(typeof r!="string"&&!Array.isArray(r)){for(const t in r)if(t!=="default"&&!(t in a)){const o=Object.getOwnPropertyDescriptor(r,t);o&&Object.defineProperty(a,t,o.get?o:{enumerable:!0,get:()=>r[t]})}}}return Object.freeze(Object.defineProperty(a,Symbol.toStringTag,{value:"Module"}))}const I=E(v),l="5.6.0";class A{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 A,w=["lib-version"],P=e.defineComponent({name:"LuzmoDashboard"}),h=e.defineComponent({...P,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,t=s,o=e.ref(),c=e.ref(l+"-vue-luzmo");e.onMounted(()=>{e.nextTick(()=>{o.value.setAttribute("version",l+"-vue-embed"),o.value.addEventListener("load",n=>t("load",n.detail)),o.value.addEventListener("itemsRendered",n=>t("itemsRendered",n.detail)),o.value.addEventListener("customEvent",n=>t("customEvent",n.detail)),o.value.addEventListener("changedFilters",n=>t("changedFilters",n.detail)),o.value.addEventListener("dashboardAction",n=>t("dashboardAction",n.detail)),o.value.addEventListener("export",n=>t("exported",n.detail))})}),e.onUnmounted(()=>{b._removeComponentContext(this)});function d(){return b.getDashboards()}function m(n){return o.value.getData(n)}function f(){return o.value.getFilters()}function u(n,p){return o.value.setSelectedData(n,p)}function g(n,p){return o.value.setAuthorization(n,p)}function z(n){return o.value.refreshData(n)}function D(){return o.value.reloadDashboard()}function O(n){return o.value.exportDashboard(n)}function C(){return o.value.getAccessibleDashboards()}function j(n){return o.value.setEditMode(n)}function k(n,p){return o.value.addFilters(n,p)}function x(n){return o.value.setPreview(n)}return i({getData:m,getFilters:f,setSelectedData:u,setAuthorization:g,refreshData:z,reloadDashboard:D,exportDashboard:O,getAccessibleDashboards:C,setEditMode:j,addFilters:k,setPreview:x,getDashboards:d,luzmoDashboard:o,libVersion:c}),(n,p)=>(e.openBlock(),e.createElementBlock("luzmo-embed-dashboard",e.mergeProps(r,{ref_key:"luzmoDashboard",ref:o,"lib-version":c.value}),null,16,w))}}),F=["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,t=e.ref(),o=e.ref(l+"-vue-luzmo");e.onMounted(()=>{e.nextTick(()=>{t.value.setAttribute("version",l+"-vue-embed"),t.value.addEventListener("load",u=>r("load",u.detail)),t.value.addEventListener("rendered",u=>r("rendered",u.detail)),t.value.addEventListener("changedFilters",u=>r("changedFilters",u.detail)),t.value.addEventListener("exported",u=>r("exported",u.detail)),t.value.addEventListener("customEvent",u=>r("customEvent",u.detail))})});function c(){return t.value.getData()}function d(){return t.value.getFilters()}function m(){return t.value.refreshData()}function f(u="png"){return t.value.export(u)}return i({getData:c,getFilters:d,refreshData:m,export:f,luzmoVizItemRef:t,libVersion:o}),(u,g)=>(e.openBlock(),e.createElementBlock("luzmo-embed-viz-item",e.mergeProps(u.$props,{ref_key:"luzmoVizItemRef",ref:t,"lib-version":o.value}),null,16,F))}}),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(),t=e.ref(l+"-vue-luzmo");return e.onMounted(()=>{e.nextTick(()=>{r.value.setAttribute("version",l+"-vue-embed")})}),i({luzmoIQChatRef:r,libVersion:t}),(o,c)=>{const d=e.resolveComponent("luzmo-iq-embed-chat");return e.openBlock(),e.createBlock(d,e.mergeProps(o.$props,{ref_key:"luzmoIQChatRef",ref:r,"lib-version":t.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(),t=e.ref(l+"-vue-luzmo");return e.onMounted(()=>{e.nextTick(()=>{r.value.setAttribute("version",l+"-vue-embed")})}),i({luzmoIQAnswerRef:r,libVersion:t}),(o,c)=>{const d=e.resolveComponent("luzmo-iq-embed-answer");return e.openBlock(),e.createBlock(d,e.mergeProps(o.$props,{ref_key:"luzmoIQAnswerRef",ref:r,"lib-version":t.value}),null,16,["lib-version"])}}}),M=L({__proto__:null,LuzmoDashboard:h,LuzmoIqAnswer:S,LuzmoIqChat:y,LuzmoVizItem:_},[I]),q=a=>{const i=Object.entries(M);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=q;Object.keys(v).forEach(a=>{a!=="default"&&!Object.prototype.hasOwnProperty.call(exports,a)&&Object.defineProperty(exports,a,{enumerable:!0,get:()=>v[a]})});