@vizzly/services 0.15.0-dev-dc8abbc27d404a01b1c730481930e726e875c32b → 0.15.0-dev-3cedf551bbb0d18e14a8fe6473fe9b8d5ce6736b
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/index.cjs.js +2 -2
- package/dist/esm/index.esm.js +44 -32
- package/package.json +1 -1
package/dist/cjs/index.cjs.js
CHANGED
|
@@ -125,7 +125,7 @@ https://docs.vizzly.co/services/initializing
|
|
|
125
125
|
This might be expected behavior if you have set it up correctly. If so, you will need
|
|
126
126
|
to bump the timeout which was set to ${o}ms.
|
|
127
127
|
|
|
128
|
-
${`Instance Id; ${e}`}`),this.name="TimeoutWaitingForVizzlyInstance"}}const Qd={convert:!1,stripUnknown:!1,allowUnknown:!0},BT=(t,e)=>{const o=m.object({definition:e?Gd(e):m.object().required(),parentDashboardId:m.string().required(),metadata:m.object()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)},ST=(t,e)=>{const o=m.object({dashboardId:m.string().required(),definition:e?Gd(e):m.object().required(),metadata:m.object().optional(),deleted:m.boolean().optional(),name:m.string().optional()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)};var ja=(t=>(t.SAVING="saving",t.SAVED="saved",t.DELETED="deleted",t))(ja||{});const Cs=(t,e)=>[[...t,e],t.length],Zd=(t,e,o,n,b,a,O,A,c,R)=>{let v=[],N=[],s=[],d=[];const u=iz(R.filterConfig,t,R.timeRangeOptions,R.variables),z=Ao(o,R.variables),M=tM(u,z);if(a){let q;if(!BA(c.supportedTimeTruncFunctions,a.truncate))throw`Query engine does not support the time trunc function ${a.truncate}.`;[N,q]=Cs(N,{type:"field",value:a.field,function:a.truncate}),v=[...v,{functionId:a.truncate,field:rt(t,a.field)}],s=[...s,{index:q}]}return b.forEach(q=>{let l;[N,l]=Cs(N,{type:"field",value:q?.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}],s=[...s,{index:l}]}),e.forEach(q=>{if(!R6(c.supportedAggregates,q.function))throw`Query engine does not support the query function ${q.function}.`;[N]=Cs(N,{type:"field",value:q.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}]}),n.forEach(q=>{const l=N.findIndex(f=>{if(f.type=="field"){const y=f.function==q.function;return f.value==q.field&&y}return!1});l>=0&&(d=[...d,{index:l,direction:q.direction}])}),n.length===0&&N.forEach((q,l)=>{q.type==="field"&&typeof q.value=="string"&&rt(t,q.value).dataType==="date_time"&&q.function&&c.supportedTimeTruncFunctions[q.function]&&(d=[...d,{index:l,direction:"asc"}])}),N=N.map(q=>{if(q.type=="field"&&typeof q.value=="string"){const l=rt(t,q.value);if($O(l))return UO({function:q.function,field:q.value},l,c,t,wT({group:s}),R)}return q}),{query:{type:"query",dataSetId:t.id,measure:N,group:s,filter:M,order:d,limit:O,offset:A},measureDescription:v}},x2=Zd,wT=t=>t.group.length>0,xT=(t,e)=>({query:t,resultFields:e.fields.map(o=>({id:o.id,publicName:o.publicName,dataType:o.dataType,fieldId:o.id,function:"none",outputDataType:o.dataType}))}),Jd=(t,e,o)=>({query:{type:"preparedQuery",preparedQueryType:"uniqueArrayValues",dataSetId:t,fieldId:e.id,filter:o||{type:"andWhere",value:[]}},resultFields:[{id:e.id,publicName:e.publicName,dataType:e.dataType,fieldId:e.id,function:"none",outputDataType:"string"}]}),XT=(t,e,o,n)=>{let b=[{field:e,function:"count"}],a=n??[],O=o??[],A=[{field:e,function:"none"}];return{dataSetId:t.id,measure:b,order:a,filter:O,dimension:A,timeDimension:null,limit:5e3,offset:0}},CT=(t,e,o)=>!e||e==="none"?o.dataType:t.supportedAggregates[e]?"number":t.supportedTimeTruncFunctions[e]?.dataTypeOutput?t.supportedTimeTruncFunctions[e]?.dataTypeOutput:(t.supportedTransformationFunctions[e],o.dataType),Jo=(t,e)=>t.map(o=>o.map(({field:n,functionId:b})=>({id:Vi({field:n.id,function:b}),fieldId:n.id,function:b,publicName:n.publicName,dataType:n.dataType,outputDataType:CT(e,b,n)}))),ZO=(t,e,o,n)=>{const b=e.map(a=>{const O=B2(t,a.dataSetId);if(!O)throw"Data set not found for query attributes query";return Zd(O,a.measure,a.filter,a.order,a.dimension,a.timeDimension,a.limit,a.offset,o,n)});return{queries:b.map(a=>a.query),resultFields:Jo([...b].map(a=>a.measureDescription),o)}},ET=(t,e,o,n)=>{let b=[...t.appliesToFields].map(a=>{const O=B2(e,a.dataSetId);if(!O)throw"Data set not found for additional filter query";const A=rt(O,a.fieldId);if(A.dataType=="string[]"){const c=oA(t,a),R=iz(n.filterConfig,O,n.timeRangeOptions,n.variables),v=tM(R,c),{query:N,resultFields:s}=Jd(a.dataSetId,A,v);return{queries:[N],resultFields:[s]}}else{const c=oA(t,a),R=XT(O,a.fieldId,[],DT(A)),v=ZO(e,[R],o,n);return{resultFields:v.resultFields,queries:v.queries.map(N=>({...N,filter:c}))}}});return{queries:b.flatMap(a=>a.queries),resultFields:b.flatMap(a=>a.resultFields)}};function oA(t,e){const o=t.optionsFilters?t.optionsFilters[e.dataSetId]:void 0;return o?ef(o,e.fieldId)||{type:"andWhere",value:[]}:{type:"andWhere",value:[]}}function ef(t,e){if(t.type==="where"){const o=$u(t);return o&&o.value===e?null:t}if(t.type==="andWhere"||t.type==="orWhere"){const o=t.value.map(n=>ef(n,e)).filter(n=>n!==null);return o.length===0?null:o.length===1&&o[0].type===t.type?o[0]:{type:t.type,value:o}}return t}function DT(t){return t?.dataType==="string"||t?.dataType==="number"?[{field:t.id,direction:"asc",function:"none"}]:[]}const it=(t,e,o,n)=>{const{query:b,measureDescription:a}=x2(e,t.measure,t.filter,t.order,t.dimension,t.timeDimension||null,t.limit,t.offset,o,n),O=Jo([a],o);return{queries:[b],resultFields:O}},IT=it,PT=it,rA=it,FT=it,kT=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},jT=(t,e,o,n)=>{let b=[...t.measure||[],...t.xMeasure||[],...t.zMeasure||[]];const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},$T=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},UT=(t,e,o,n)=>{const{line:b,bar:a}=$T(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},GT=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},VT=(t,e,o,n)=>{const{line:b,bar:a}=GT(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},HT=it,YT=it,KT=it,QT=it,ZT=it,JT=(t,e,o,n)=>ZO([e],[{measure:t.measure,dataSetId:e.id,dimension:t.dimension,limit:t.limit,filter:[],order:[],timeDimension:null}],o,n),eB=it,tB=it,oB=it,rB=it,nB=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},iB=(t,e,o,n)=>{let{query:b,measureDescription:a}=x2(e,t.measure,t.filter,[],[],null,1,t.offset,o,n);return b.measure=[{type:"number",value:0},...b.measure],a=[{field:{id:"single-stat-bumper-field",canBeDimension:!1,canBeMeasure:!1,publicName:"",dataType:"number",allowedOperators:[]},functionId:"none"},...a],{query:b,measureDescription:a}},bB=(t,e,o,n)=>e.deltaTimeDimension?x2(t,e.measure,e.filter,[{field:e.deltaTimeDimension.field,direction:"asc",function:e.deltaTimeDimension.truncate}],[],e.deltaTimeDimension,e.limit,e.offset,o,n):null,pB=(t,e,o,n)=>{const b=iB(t,e,o,n);let a=null;return"deltaTimeDimension"in t&&(a=bB(e,t,o,n)),{queries:a?[b.query,a.query]:[b.query],measureDescription:a?[b.measureDescription,a.measureDescription]:[b.measureDescription]}},nA=(t,e,o,n)=>{const{queries:b,measureDescription:a}=pB(t,e,o,n),O=Jo(a,o);return{queries:b,resultFields:O}},aB=it,MB=(t,e,o,n)=>{let b={...t},a={...e};return t.comparison&&(a=X_(e,t.comparison),b={...b,dimension:[...t.dimension,{field:t.comparison.id,function:"none",pivot:"x"}]}),it(b,a,o,n)},zB=(t,e,o,n)=>{switch(t.type){case"areaChart":return IT(t,e,o,n);case"barChart":return PT(t,e,o,n);case"barChartV2":return rA(t,e,o,n);case"horizontalBarChart":return YT(t,e,o,n);case"horizontalBarChartV2":return KT(t,e,o,n);case"lineChart":return QT(t,e,o,n);case"lineChartV2":return ZT(t,e,o,n);case"areaChartV2":return rA(t,e,o,n);case"comboChartV2":return VT(t,e,o,n);case"pieChart":return eB(t,e,o,n);case"sunburstChart":return aB(t,e,o,n);case"dataTable":return tB(t,e,o,n);case"basicTable":return FT(t,e,o,n);case"comboChart":return UT(t,e,o,n);case"singleStat":return nA(t,e,o,n);case"progress":return nA(t,e,o,n);case"scatterChart":return nB(t,e,o,n);case"bubbleChart":return kT(t,e,o,n);case"bubbleChartV2":return jT(t,e,o,n);case"mercatorMap":return JT(t,e,o,n);case"funnelChart":return HT(t,e,o,n);case"richText":return rB(t,e,o,n);case"waterfallChart":return MB(t,e,o,n);case"radarChart":return oB(t,e,o,n);default:throw"Unsupported view when building query."}},JO=(t,e,o)=>{let n=[],b=[];if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="preAggregated"){const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for pre aggregated query";const[O]=a.preAggregated,{query:A,resultFields:c}=xT(t[0],a),R=B2(o.dataSets,O),v=iz(o.filterConfig,R,o.timeRangeOptions,o.variables);n=[{...A,filter:{[R.id]:v}}],b=[c]}else if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="uniqueArrayValues"){n=[t[0]];const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for view attributes query";const O=rt(a,t[0].fieldId),{query:A,resultFields:c}=Jd(t[0].dataSetId,O);n=[A],b=[c]}else if(Array.isArray(t)){const{queries:a,resultFields:O}=ZO(o.dataSets,t,e,o);n=a,b=O}else if("type"in t&&("order"in t||"measure"in t)){const a=B2(o.dataSets,t.dataSetId);if(!a)throw"Data set not found for view attributes query";let{queries:O,resultFields:A}=zB(t,a,e,{...o,filterConfig:{...o.filterConfig,viewFilters:t.filter}});n=O,b=A}else if(t.type!="custom"){let{queries:a,resultFields:O}=ET(t,o.dataSets,e,o);n=a,b=O}return o.timeZone&&(n=n.map(a=>({...a,timeZone:o.timeZone}))),n=n.map(a=>a.type==="query"?{...a,filter:Rr(a.filter,B2(o.dataSets,a.dataSetId),e,o)}:a),{queries:n,resultFields:b}};let bO={};const cB=(t,e,o)=>{const n=JSON.stringify(t);let b=new Date;b.setSeconds(b.getSeconds()+o),G1("Browser cache new object set.",n),bO[n]={item:e,expires:b}},sB=t=>{const e=JSON.stringify(t),o=bO[e];if(!o)return G1("Browser cache miss.",t),null;G1("Browser cache hit.",t);const{item:n,expires:b}=o;return new Date<b?n:(delete bO[e],null)},OB=20,$a=t=>Array.isArray(t)?t.length==0:typeof t=="object"?$a(Object.keys(t)):!1,e3=async(t,e,o,n)=>{let b={};t.forEach((c,R)=>{const v=sB(n(c));v&&(G1("Query result received from the cache."),b[R]=v)}),t.forEach((c,R)=>{e(c)||(G1("Query is not runnable."),b[R]=null)});const a=t.filter((c,R)=>e(c)&&b[R]===void 0);let O=[];if(!$a(a)){const c=await o(a);c===null?O=null:c.results?O=c.results:O=c}return O===null||$a(O)&&$a(b)?null:[...t].map((c,R)=>{let v=b[R];if(e(c)&&v==null&&(v=O?.shift()||null,cB(n(c),v,OB)),v===void 0)throw"A result went missing...";return v})},lB=async(t,e,o,n)=>{const b=QO(e),{status:a,body:O}=await b({path:"/api/v2/create-results",method:"post",mode:"cors",body:{queries:t,virtualFields:{},dynamicConfig:typeof e=="object"?e.dynamicConfig:void 0,identityConfigIntegritySignature:o},abortSignal:n}),A=O;return a==200?A:null},AB=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,A=>!0,async A=>await lB(A,t.queryEngineEndpoint,t.dataAccessToken,o.abortSignal),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})};var uB=fo,dB=function(){return uB.Date.now()},fB=dB,qB=/\s/;function WB(t){for(var e=t.length;e--&&qB.test(t.charAt(e)););return e}var hB=WB,mB=hB,gB=/^\s+/;function yB(t){return t&&t.slice(0,mB(t)+1).replace(gB,"")}var RB=yB,LB=GM,vB=AO,_B="[object Symbol]";function NB(t){return typeof t=="symbol"||vB(t)&&LB(t)==_B}var TB=NB,BB=RB,iA=Lb,SB=TB,bA=NaN,wB=/^[-+]0x[0-9a-f]+$/i,xB=/^0b[01]+$/i,XB=/^0o[0-7]+$/i,CB=parseInt;function EB(t){if(typeof t=="number")return t;if(SB(t))return bA;if(iA(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=iA(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=BB(t);var o=xB.test(t);return o||XB.test(t)?CB(t.slice(2),o?2:8):wB.test(t)?bA:+t}var DB=EB,IB=Lb,Es=fB,pA=DB,PB="Expected a function",FB=Math.max,kB=Math.min;function jB(t,e,o){var n,b,a,O,A,c,R=0,v=!1,N=!1,s=!0;if(typeof t!="function")throw new TypeError(PB);e=pA(e)||0,IB(o)&&(v=!!o.leading,N="maxWait"in o,a=N?FB(pA(o.maxWait)||0,e):a,s="trailing"in o?!!o.trailing:s);function d(T){var X=n,C=b;return n=b=void 0,R=T,O=t.apply(C,X),O}function u(T){return R=T,A=setTimeout(q,e),v?d(T):O}function z(T){var X=T-c,C=T-R,g=e-X;return N?kB(g,a-C):g}function M(T){var X=T-c,C=T-R;return c===void 0||X>=e||X<0||N&&C>=a}function q(){var T=Es();if(M(T))return l(T);A=setTimeout(q,z(T))}function l(T){return A=void 0,s&&n?d(T):(n=b=void 0,O)}function f(){A!==void 0&&clearTimeout(A),R=0,n=c=b=A=void 0}function y(){return A===void 0?O:l(Es())}function L(){var T=Es(),X=M(T);if(n=arguments,b=this,c=T,X){if(A===void 0)return u(c);if(N)return clearTimeout(A),A=setTimeout(q,e),d(c)}return A===void 0&&(A=setTimeout(q,e)),O}return L.cancel=f,L.flush=y,L}var $B=jB,UB=$B,GB=Lb,VB="Expected a function";function HB(t,e,o){var n=!0,b=!0;if(typeof t!="function")throw new TypeError(VB);return GB(o)&&(n="leading"in o?!!o.leading:n,b="trailing"in o?!!o.trailing:b),UB(t,e,{leading:n,maxWait:e,trailing:b})}var YB=HB;const KB=pM(YB);let Ua={};const aA=[];let Ds={};const QB=async(t,e,o)=>{Ds[t.id]||(Ds[t.id]=KB(e,5e3,{leading:!0}));let n=Ds[t.id];if(G1("Fetching data for in-browser query engine. DataSet;",t.id,"CacheKey;",o),Ua[o])return G1("Returning data for in-browser query engine from the cache."),Ua[o];{const b=await n(t);return!b&&!aA.includes(t.id)&&(aA.push(t.id),console.error(`Failed to download data for data set ${t.id}`)),b&&n.cancel(),G1(`Fetching data from cacheKey: ${o}`),Ua[o]=b,b}};class ZB extends Error{constructor(e){super(e),this.name="MissingVizzlyInMemoryDb"}}const pO=()=>{const t=window.VizzlyInMemoryDb;if(!t)throw new ZB(`VizzlyInMemoryDb missing! This means that 'window.VizzlyInMemoryDb' was not set. This is required for the in-browser vizzly setup.
|
|
128
|
+
${`Instance Id; ${e}`}`),this.name="TimeoutWaitingForVizzlyInstance"}}const Qd={convert:!1,stripUnknown:!1,allowUnknown:!0},BT=(t,e)=>{const o=m.object({definition:e?Gd(e):m.object().required(),parentDashboardId:m.string().required(),metadata:m.object()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)},ST=(t,e)=>{const o=m.object({dashboardId:m.string().required(),definition:e?Gd(e):m.object().required(),metadata:m.object().optional(),deleted:m.boolean().optional(),name:m.string().optional()}).validate(t,Qd);if(o.error)throw new Oz(o.error.message)};var ja=(t=>(t.SAVING="saving",t.SAVED="saved",t.DELETED="deleted",t))(ja||{});const Cs=(t,e)=>[[...t,e],t.length],Zd=(t,e,o,n,b,a,O,A,c,R)=>{let v=[],N=[],s=[],d=[];const u=iz(R.filterConfig,t,R.timeRangeOptions,R.variables),z=Ao(o,R.variables),M=tM(u,z);if(a){let q;if(!BA(c.supportedTimeTruncFunctions,a.truncate))throw`Query engine does not support the time trunc function ${a.truncate}.`;[N,q]=Cs(N,{type:"field",value:a.field,function:a.truncate}),v=[...v,{functionId:a.truncate,field:rt(t,a.field)}],s=[...s,{index:q}]}return b.forEach(q=>{let l;[N,l]=Cs(N,{type:"field",value:q?.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}],s=[...s,{index:l}]}),e.forEach(q=>{if(!R6(c.supportedAggregates,q.function))throw`Query engine does not support the query function ${q.function}.`;[N]=Cs(N,{type:"field",value:q.field,function:q.function}),v=[...v,{functionId:q.function,field:rt(t,q.field)}]}),n.forEach(q=>{const l=N.findIndex(f=>{if(f.type=="field"){const y=f.function==q.function;return f.value==q.field&&y}return!1});l>=0&&(d=[...d,{index:l,direction:q.direction}])}),n.length===0&&N.forEach((q,l)=>{q.type==="field"&&typeof q.value=="string"&&rt(t,q.value).dataType==="date_time"&&q.function&&c.supportedTimeTruncFunctions[q.function]&&(d=[...d,{index:l,direction:"asc"}])}),N=N.map(q=>{if(q.type=="field"&&typeof q.value=="string"){const l=rt(t,q.value);if($O(l))return UO({function:q.function,field:q.value},l,c,t,wT({group:s}),R)}return q}),{query:{type:"query",dataSetId:t.id,measure:N,group:s,filter:M,order:d,limit:O,offset:A},measureDescription:v}},x2=Zd,wT=t=>t.group.length>0,xT=(t,e)=>({query:t,resultFields:e.fields.map(o=>({id:o.id,publicName:o.publicName,dataType:o.dataType,fieldId:o.id,function:"none",outputDataType:o.dataType}))}),Jd=(t,e,o)=>({query:{type:"preparedQuery",preparedQueryType:"uniqueArrayValues",dataSetId:t,fieldId:e.id,filter:o||{type:"andWhere",value:[]}},resultFields:[{id:e.id,publicName:e.publicName,dataType:e.dataType,fieldId:e.id,function:"none",outputDataType:"string"}]}),XT=(t,e,o,n)=>{let b=[{field:e,function:"count"}],a=n??[],O=o??[],A=[{field:e,function:"none"}];return{dataSetId:t.id,measure:b,order:a,filter:O,dimension:A,timeDimension:null,limit:5e3,offset:0}},CT=(t,e,o)=>!e||e==="none"?o.dataType:t.supportedAggregates[e]?"number":t.supportedTimeTruncFunctions[e]?.dataTypeOutput?t.supportedTimeTruncFunctions[e]?.dataTypeOutput:(t.supportedTransformationFunctions[e],o.dataType),Jo=(t,e)=>t.map(o=>o.map(({field:n,functionId:b})=>({id:Vi({field:n.id,function:b}),fieldId:n.id,function:b,publicName:n.publicName,dataType:n.dataType,outputDataType:CT(e,b,n)}))),ZO=(t,e,o,n)=>{const b=e.map(a=>{const O=B2(t,a.dataSetId);if(!O)throw"Data set not found for query attributes query";return Zd(O,a.measure,a.filter,a.order,a.dimension,a.timeDimension,a.limit,a.offset,o,n)});return{queries:b.map(a=>a.query),resultFields:Jo([...b].map(a=>a.measureDescription),o)}},ET=(t,e,o,n)=>{let b=[...t.appliesToFields].map(a=>{const O=B2(e,a.dataSetId);if(!O)throw"Data set not found for additional filter query";const A=rt(O,a.fieldId);if(A.dataType=="string[]"){const c=oA(t,a),R=iz(n.filterConfig,O,n.timeRangeOptions,n.variables),v=tM(R,c),{query:N,resultFields:s}=Jd(a.dataSetId,A,v);return{queries:[N],resultFields:[s]}}else{const c=oA(t,a),R=XT(O,a.fieldId,[],DT(A)),v=ZO(e,[R],o,n);return{resultFields:v.resultFields,queries:v.queries.map(N=>({...N,filter:c}))}}});return{queries:b.flatMap(a=>a.queries),resultFields:b.flatMap(a=>a.resultFields)}};function oA(t,e){const o=t.optionsFilters?t.optionsFilters[e.dataSetId]:void 0;return o?ef(o,e.fieldId)||{type:"andWhere",value:[]}:{type:"andWhere",value:[]}}function ef(t,e){if(t.type==="where"){const o=$u(t);return o&&o.value===e?null:t}if(t.type==="andWhere"||t.type==="orWhere"){const o=t.value.map(n=>ef(n,e)).filter(n=>n!==null);return o.length===0?null:o.length===1&&o[0].type===t.type?o[0]:{type:t.type,value:o}}return t}function DT(t){return t?.dataType==="string"||t?.dataType==="number"?[{field:t.id,direction:"asc",function:"none"}]:[]}const it=(t,e,o,n)=>{const{query:b,measureDescription:a}=x2(e,t.measure,t.filter,t.order,t.dimension,t.timeDimension||null,t.limit,t.offset,o,n),O=Jo([a],o);return{queries:[b],resultFields:O}},IT=it,PT=it,rA=it,FT=it,kT=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},jT=(t,e,o,n)=>{let b=[...t.measure||[],...t.xMeasure||[],...t.zMeasure||[]];const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},$T=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},UT=(t,e,o,n)=>{const{line:b,bar:a}=$T(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},GT=(t,e,o,n)=>{let b=x2(e,t.lineMeasure,t.filter,t.order,t.lineDimension,t.timeDimension,t.limit,t.offset,o,n);return{bar:x2(e,t.barMeasure,t.filter,t.order,t.barDimension,t.timeDimension,t.limit,t.offset,o,n),line:b}},VT=(t,e,o,n)=>{const{line:b,bar:a}=GT(t,e,o,n),O=[b.query,a.query],A=Jo([b.measureDescription,a.measureDescription],o);return{queries:O,resultFields:A}},HT=it,YT=it,KT=it,QT=it,ZT=it,JT=(t,e,o,n)=>ZO([e],[{measure:t.measure,dataSetId:e.id,dimension:t.dimension,limit:t.limit,filter:[],order:[],timeDimension:null}],o,n),eB=it,tB=it,oB=it,rB=it,nB=(t,e,o,n)=>{let b=[];t.xMeasure&&b.push(t.xMeasure),t.yMeasure&&b.push(t.yMeasure);const{query:a,measureDescription:O}=x2(e,b,t.filter,t.order,t.dimension,t.timeDimension,t.limit,t.offset,o,n),A=Jo([O],o);return{queries:[a],resultFields:A}},iB=(t,e,o,n)=>{let{query:b,measureDescription:a}=x2(e,t.measure,t.filter,[],[],null,1,t.offset,o,n);return b.measure=[{type:"number",value:0},...b.measure],a=[{field:{id:"single-stat-bumper-field",canBeDimension:!1,canBeMeasure:!1,publicName:"",dataType:"number",allowedOperators:[]},functionId:"none"},...a],{query:b,measureDescription:a}},bB=(t,e,o,n)=>e.deltaTimeDimension?x2(t,e.measure,e.filter,[{field:e.deltaTimeDimension.field,direction:"asc",function:e.deltaTimeDimension.truncate}],[],e.deltaTimeDimension,e.limit,e.offset,o,n):null,pB=(t,e,o,n)=>{const b=iB(t,e,o,n);let a=null;return"deltaTimeDimension"in t&&(a=bB(e,t,o,n)),{queries:a?[b.query,a.query]:[b.query],measureDescription:a?[b.measureDescription,a.measureDescription]:[b.measureDescription]}},nA=(t,e,o,n)=>{const{queries:b,measureDescription:a}=pB(t,e,o,n),O=Jo(a,o);return{queries:b,resultFields:O}},aB=it,MB=(t,e,o,n)=>{let b={...t},a={...e};return t.comparison&&(a=X_(e,t.comparison),b={...b,dimension:[...t.dimension,{field:t.comparison.id,function:"none",pivot:"x"}]}),it(b,a,o,n)},zB=(t,e,o,n)=>{switch(t.type){case"areaChart":return IT(t,e,o,n);case"barChart":return PT(t,e,o,n);case"barChartV2":return rA(t,e,o,n);case"horizontalBarChart":return YT(t,e,o,n);case"horizontalBarChartV2":return KT(t,e,o,n);case"lineChart":return QT(t,e,o,n);case"lineChartV2":return ZT(t,e,o,n);case"areaChartV2":return rA(t,e,o,n);case"comboChartV2":return VT(t,e,o,n);case"pieChart":return eB(t,e,o,n);case"sunburstChart":return aB(t,e,o,n);case"dataTable":return tB(t,e,o,n);case"basicTable":return FT(t,e,o,n);case"comboChart":return UT(t,e,o,n);case"singleStat":return nA(t,e,o,n);case"progress":return nA(t,e,o,n);case"scatterChart":return nB(t,e,o,n);case"bubbleChart":return kT(t,e,o,n);case"bubbleChartV2":return jT(t,e,o,n);case"mercatorMap":return JT(t,e,o,n);case"funnelChart":return HT(t,e,o,n);case"richText":return rB(t,e,o,n);case"waterfallChart":return MB(t,e,o,n);case"radarChart":return oB(t,e,o,n);default:throw"Unsupported view when building query."}},JO=(t,e,o)=>{let n=[],b=[];if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="preAggregated"){const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for pre aggregated query";const[O]=a.preAggregated,{query:A,resultFields:c}=xT(t[0],a),R=B2(o.dataSets,O),v=iz(o.filterConfig,R,o.timeRangeOptions,o.variables);n=[{...A,filter:{[R.id]:v}}],b=[c]}else if(Array.isArray(t)&&"type"in t[0]&&t[0].type=="preparedQuery"&&t[0].preparedQueryType=="uniqueArrayValues"){n=[t[0]];const a=B2(o.dataSets,t[0].dataSetId);if(!a)throw"Data set not found for view attributes query";const O=rt(a,t[0].fieldId),{query:A,resultFields:c}=Jd(t[0].dataSetId,O);n=[A],b=[c]}else if(Array.isArray(t)){const{queries:a,resultFields:O}=ZO(o.dataSets,t,e,o);n=a,b=O}else if("type"in t&&("order"in t||"measure"in t)){const a=B2(o.dataSets,t.dataSetId);if(!a)throw"Data set not found for view attributes query";let{queries:O,resultFields:A}=zB(t,a,e,{...o,filterConfig:{...o.filterConfig,viewFilters:t.filter}});n=O,b=A}else if(t.type!="custom"){let{queries:a,resultFields:O}=ET(t,o.dataSets,e,o);n=a,b=O}return o.timeZone&&(n=n.map(a=>({...a,timeZone:o.timeZone}))),n=n.map(a=>{if(a.type==="query"){const O=Rr(a.filter,B2(o.dataSets,a.dataSetId),e,o),A=o.dataSets.find(R=>R.id===a.dataSetId),c=o.hiddenDashboardFilters?.(A);return{...a,filter:c?{type:"andWhere",value:[O,c]}:O}}return a}),{queries:n,resultFields:b}};let bO={};const cB=(t,e,o)=>{const n=JSON.stringify(t);let b=new Date;b.setSeconds(b.getSeconds()+o),G1("Browser cache new object set.",n),bO[n]={item:e,expires:b}},sB=t=>{const e=JSON.stringify(t),o=bO[e];if(!o)return G1("Browser cache miss.",t),null;G1("Browser cache hit.",t);const{item:n,expires:b}=o;return new Date<b?n:(delete bO[e],null)},OB=20,$a=t=>Array.isArray(t)?t.length==0:typeof t=="object"?$a(Object.keys(t)):!1,e3=async(t,e,o,n)=>{let b={};t.forEach((c,R)=>{const v=sB(n(c));v&&(G1("Query result received from the cache."),b[R]=v)}),t.forEach((c,R)=>{e(c)||(G1("Query is not runnable."),b[R]=null)});const a=t.filter((c,R)=>e(c)&&b[R]===void 0);let O=[];if(!$a(a)){const c=await o(a);c===null?O=null:c.results?O=c.results:O=c}return O===null||$a(O)&&$a(b)?null:[...t].map((c,R)=>{let v=b[R];if(e(c)&&v==null&&(v=O?.shift()||null,cB(n(c),v,OB)),v===void 0)throw"A result went missing...";return v})},lB=async(t,e,o,n)=>{const b=QO(e),{status:a,body:O}=await b({path:"/api/v2/create-results",method:"post",mode:"cors",body:{queries:t,virtualFields:{},dynamicConfig:typeof e=="object"?e.dynamicConfig:void 0,identityConfigIntegritySignature:o},abortSignal:n}),A=O;return a==200?A:null},AB=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,A=>!0,async A=>await lB(A,t.queryEngineEndpoint,t.dataAccessToken,o.abortSignal),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})};var uB=fo,dB=function(){return uB.Date.now()},fB=dB,qB=/\s/;function WB(t){for(var e=t.length;e--&&qB.test(t.charAt(e)););return e}var hB=WB,mB=hB,gB=/^\s+/;function yB(t){return t&&t.slice(0,mB(t)+1).replace(gB,"")}var RB=yB,LB=GM,vB=AO,_B="[object Symbol]";function NB(t){return typeof t=="symbol"||vB(t)&&LB(t)==_B}var TB=NB,BB=RB,iA=Lb,SB=TB,bA=NaN,wB=/^[-+]0x[0-9a-f]+$/i,xB=/^0b[01]+$/i,XB=/^0o[0-7]+$/i,CB=parseInt;function EB(t){if(typeof t=="number")return t;if(SB(t))return bA;if(iA(t)){var e=typeof t.valueOf=="function"?t.valueOf():t;t=iA(e)?e+"":e}if(typeof t!="string")return t===0?t:+t;t=BB(t);var o=xB.test(t);return o||XB.test(t)?CB(t.slice(2),o?2:8):wB.test(t)?bA:+t}var DB=EB,IB=Lb,Es=fB,pA=DB,PB="Expected a function",FB=Math.max,kB=Math.min;function jB(t,e,o){var n,b,a,O,A,c,R=0,v=!1,N=!1,s=!0;if(typeof t!="function")throw new TypeError(PB);e=pA(e)||0,IB(o)&&(v=!!o.leading,N="maxWait"in o,a=N?FB(pA(o.maxWait)||0,e):a,s="trailing"in o?!!o.trailing:s);function d(T){var X=n,C=b;return n=b=void 0,R=T,O=t.apply(C,X),O}function u(T){return R=T,A=setTimeout(q,e),v?d(T):O}function z(T){var X=T-c,C=T-R,g=e-X;return N?kB(g,a-C):g}function M(T){var X=T-c,C=T-R;return c===void 0||X>=e||X<0||N&&C>=a}function q(){var T=Es();if(M(T))return l(T);A=setTimeout(q,z(T))}function l(T){return A=void 0,s&&n?d(T):(n=b=void 0,O)}function f(){A!==void 0&&clearTimeout(A),R=0,n=c=b=A=void 0}function y(){return A===void 0?O:l(Es())}function L(){var T=Es(),X=M(T);if(n=arguments,b=this,c=T,X){if(A===void 0)return u(c);if(N)return clearTimeout(A),A=setTimeout(q,e),d(c)}return A===void 0&&(A=setTimeout(q,e)),O}return L.cancel=f,L.flush=y,L}var $B=jB,UB=$B,GB=Lb,VB="Expected a function";function HB(t,e,o){var n=!0,b=!0;if(typeof t!="function")throw new TypeError(VB);return GB(o)&&(n="leading"in o?!!o.leading:n,b="trailing"in o?!!o.trailing:b),UB(t,e,{leading:n,maxWait:e,trailing:b})}var YB=HB;const KB=pM(YB);let Ua={};const aA=[];let Ds={};const QB=async(t,e,o)=>{Ds[t.id]||(Ds[t.id]=KB(e,5e3,{leading:!0}));let n=Ds[t.id];if(G1("Fetching data for in-browser query engine. DataSet;",t.id,"CacheKey;",o),Ua[o])return G1("Returning data for in-browser query engine from the cache."),Ua[o];{const b=await n(t);return!b&&!aA.includes(t.id)&&(aA.push(t.id),console.error(`Failed to download data for data set ${t.id}`)),b&&n.cancel(),G1(`Fetching data from cacheKey: ${o}`),Ua[o]=b,b}};class ZB extends Error{constructor(e){super(e),this.name="MissingVizzlyInMemoryDb"}}const pO=()=>{const t=window.VizzlyInMemoryDb;if(!t)throw new ZB(`VizzlyInMemoryDb missing! This means that 'window.VizzlyInMemoryDb' was not set. This is required for the in-browser vizzly setup.
|
|
129
129
|
|
|
130
130
|
Please ensure you have added the script tag to load the in-browser query engine.
|
|
131
131
|
|
|
@@ -133,4 +133,4 @@ For example, this should be added within the <head> tag;
|
|
|
133
133
|
<script src="https://static.app.vizzly.co/query-engine/0.8.29/vizzly-in-memory-db.umd.js"><\/script>
|
|
134
134
|
|
|
135
135
|
Note, you can change the version of the in-memory database by changing '0.8.3' to the version you require.
|
|
136
|
-
`);return t},JB=async(t,e)=>{if("measure"in t&&t.measure.length===0)return[[]];const o={id:e.id,fields:e.fields.map(b=>({id:b.id,address:["_",e.id,b.id],dataType:b.dataType})),joins:[]};return(await pO().queryV2(t,o))?.[0]?.values||[]},tf=(t,e)=>`${t}::${e}`,eS=async(t,e,o)=>{const n=[...t].map(async a=>{const[O]=Ku(e,a.dataSetId),A=tf(o,a.dataSetId);return Ua[A]&&O?{content:await JB(a,O),hasMoreResults:!1}:(console.warn("Returning an empty result."),{content:[],hasMoreResults:null})});return{results:await Promise.all(n)}},tS=async(t,e,o,n)=>(await pO().init(e.map(b=>({id:b?.id,fields:b?.fields.map(a=>({id:a.id,dataType:a.dataType}))}))),await Promise.all([...t].flatMap(async b=>{const[a]=Ku(e,b.dataSetId);if(a){const O=await QB(a,o,tf(n,b.dataSetId)),A={id:a?.id,fields:a?.fields.map(c=>({id:c.id,dataType:c.dataType}))};await pO().ingest(A,O||[])}return[]})),await eS(t,e,n)),oS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,bM,o);let a=await e3(n,A=>!0,async A=>await tS(A,o.dataSets,t.loadData,t.cacheKeyNamespace),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null&&(a=n.map(()=>null)),[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})},rS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,O=>(O.type=="preparedQuery"&&sO("Custom query engine does not support prepared queries."),O.type=="query"),async O=>{const A=await t.runQueries(O,{...o,dataAccessToken:t.dataAccessToken});return A==null?{results:O.map(()=>null)}:{results:A.map((c,R)=>Array.isArray(c)?{fields:b[R],content:c,hasMoreResults:null}:c)}},O=>({query:O,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null?n.map(()=>null):a};async function Is(t,e,o){return t.type=="vizzlyQueryEngine"?await AB(t,e,o):t.type=="vizzlyJsQueryEngine"?await oS(t,e,o):t.type=="custom"?await rS(t,e,o):[]}const nS=(t,e,o,n,b,a,O,A,c,R)=>{let v=X7(t.dashboardAccess)+`:::${JSON.stringify(R)}`;if(a)return async(N,s)=>await Is({type:"custom",queryEngineConfig:e,runQueries:a,dataAccessToken:t.dataAccess?.signature,cacheKeyNamespace:v},N,{abortSignal:s.abortSignal,dataSets:s.dataSets,filterConfig:s.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b});if(O)return async(N,s)=>await Is({type:"vizzlyJsQueryEngine",loadData:O,cacheKeyNamespace:v},N,{abortSignal:s.abortSignal,dataSets:s.dataSets,filterConfig:s.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b});if(A&&t.dataAccess?.signature)return async(N,s)=>await Is({type:"vizzlyQueryEngine",queryEngineConfig:e,dataAccessToken:t.dataAccess?.signature,queryEngineEndpoint:A,cacheKeyNamespace:v},N,{abortSignal:s.abortSignal,dataSets:s.dataSets,filterConfig:s.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b});throw"Missing required props."},iS=(t,e)=>{const o=new Date(t.getTime()-e*24*60*60*1e3);return new Date(o.getFullYear(),o.getMonth(),o.getDate())},aO=t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),Ps={today:!1,past_1_day:!0,yesterday:!0,past_3_days:!0,past_7_days:!0,past_30_days:!0,past_90_days:!0,past_3_months:!1,past_6_months:!1,past_12_months:!1,past_18_months:!1},bS=(t,e)=>{const o=aO(t),n=new Date(o);return n.setDate(n.getDate()+1),n.setMilliseconds(n.getMilliseconds()-1),{description:e,range:{before:n,after:o}}},pS=(t,e)=>({description:e,range:{before:aO(t),after:aO(iS(t,1))}}),bo=(t,e,o)=>{const n=new Date;let b=new Date(n);return e>0&&b.setMonth(n.getMonth()-e),t>0&&(b=new Date(n.getTime()-t*24*60*60*1e3)),{description:o,range:{before:n,after:b}}},aS=t=>({today:bS(new Date,t("filter.today","Today")),past_1_day:bo(1,0,t("filter.past_1_day","Last 24 hours")),yesterday:pS(new Date,t("filter.yesterday","Yesterday")),past_3_days:bo(3,0,t("filter.past_3_days","Last 3 days")),past_7_days:bo(7,0,t("filter.past_7_days","Last 7 days")),past_30_days:bo(30,0,t("filter.past_30_days","Last 30 days")),past_90_days:bo(90,0,t("filter.past_90_days","Last 90 days")),past_3_months:bo(0,3,t("filter.past_3_months","Last 3 months")),past_6_months:bo(0,6,t("filter.past_6_months","Last 6 months")),past_12_months:bo(0,12,t("filter.past_12_months","Last 12 months")),past_18_months:bo(0,18,t("filter.past_18_months","Last 18 months"))}),MS=(t,e)=>{const o=aS(t),n=Object.keys(Ps).map(A=>A in o?`_vizzly_${A}`:A),b=n.indexOf("_vizzly_today");b>-1&&(n.splice(b,1),n.unshift("_vizzly_today"));let a={},O={};for(const A of n){const c=A.replace("_vizzly_",""),R=o[c],v=e?.[c];typeof v=="boolean"?v&&(O[A]=R):v!=null?O[A]=v:Ps[c]!==!1&&(O[A]=R)}if(e)for(const[A,c]of Object.entries(e))A in Ps||(n.push(A),O[A]=c);for(const A of n)A in O&&(a[A]=O[A]);return a},zS=(t,e)=>{const o=d7(t);if(o&&e.dashboardAccess.scope==="read")return{type:"exact",globalLibrary:o};if(o&&e.dashboardAccess.scope==="read_write"&&e.dashboardAccess.accessType!=="admin")return{type:"exact",globalLibrary:u7(t)[0]};if(o&&e.dashboardAccess.accessType==="admin")return{type:"exact",globalLibrary:o};throw"No strategy found."},$i="default";N2.VizzlyApiClientLogger.UserAgentProduct="Services";const cS={apiHost:"https://api.vizzly.co"};class Ho{static{this._instanceStore={}}static{this.DEFAULT_INSTANCE_ID=$i}static{this.eventBus=[]}constructor(e,o,n,b,a,O){this.programmaticDashboard=a,this.dataSets=n,this.queryEngineConfig=o,this.identityConfig=e,this.vizzlyAPIClient=gm(e,b,O)}getDataSets(){return this.dataSets}static async load(e,o=cS){G1("Starting load process for the services package.");const{queryEngine:n,dataSets:b,identity:a,programmaticDashboard:O,extraCustomFields:A}=e,c=new G7(n,a,b,A,o),{queryEngineConfig:R,dataSets:v,identityConfig:N,dashboardStorageStrategy:s}=await c.load(),d=new Pe(N,R,v,s,O,{host:o.apiHost});return Pe._instanceStore[o.instanceId||$i]=d,Pe.queryEngine=n,G1("Loaded services package and added it to the instance store."),d}static use(e=$i){const o=Pe._instanceStore[e];if(!o)throw new Kd(e);return o}static async waitToUse(e=$i,o=1e4){const n=Ho._instanceStore,b=e;return new Promise((a,O)=>{if(n.hasOwnProperty(b)){a(n[b]);return}const A=setTimeout(()=>{clearTimeout(A),O(new TT(e,o))},o),c=setInterval(()=>{n.hasOwnProperty(b)&&(clearTimeout(A),clearInterval(c),a(n[b]))},10)})}static clearInstances(){Pe._instanceStore={},R1.setQueryEngineConfig(null)}async createDashboard(e){BT(e,this.queryEngineConfig);const n=this.vizzlyAPIClient.getDashboardManager(),{dashboard:b}=await n.create({metadata:e.metadata||e.meta,definition:e.definition,parentDashboardId:e.parentDashboardId,permissions:[{scope:"read_write"}],usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateDashboard(e){ST(e,this.queryEngineConfig);const b=await this.vizzlyAPIClient.getDashboardManager().update({dashboardId:e.dashboardId,metadata:e.metadata||e.meta,definition:e.definition,deleted:e.deleted,abortSignal:e.abortSignal,name:e.name,usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateScheduledReport(e,o,n){const a=await this.vizzlyAPIClient.getAPIs().vizzlyApi.saveScheduledReport({scheduledReportId:o,cronSchedule:n,dashboardAccessToken:e});if(a.status===200)return n===null?!0:a.body}async getScheduledReports(e){if(this.vizzlyAPIClient){const n=await this.vizzlyAPIClient.getAPIs().vizzlyApi.getScheduledReports({dashboardAccessToken:e});if(n.status===200)return n.body}return{reports:[]}}async getDashboards(e){const a=(await this.vizzlyAPIClient.getDashboardManager().getDashboards(e?.abortController?{abortSignal:e?.abortController.signal}:{})).flatMap(O=>Ho.upcastDashboard(O,this.dataSets,this.queryEngineConfig));return this.programmaticDashboard?p7(a,n7(await this.programmaticDashboard(this.dataSets),this.dataSets)):a}async createGlobalLibrary(e){return await this.vizzlyAPIClient.getGlobalLibraryManager().create(e)}async getGlobalLibraries(e){const b=await this.vizzlyAPIClient.getGlobalLibraryManager().getGlobalLibraries(e?.abortController?{abortSignal:e?.abortController.signal}:{});this.globalLibraryPermissions=b.permissions;const a=b.global_libraries.map(A=>M7(A));return[zS(a,this.getIdentityConfig()).globalLibrary]}getViewConfiguration(){return{queryEngineConfig:this.queryEngineConfig}}getIdentityConfig(){return this.identityConfig}async query(e,o){G1("[Services] Querying data with queries:",e);let n=$i;o?.instanceId&&(n=o.instanceId);const b=Ho._instanceStore[n],a=nS(b.identityConfig,b.queryEngineConfig,MS(LN,o?.dateFilterOptions),o?.variables||{},o?.aliasFields||{},o?.runQueries,o?.data,o?.queryEngineEndpoint,void 0,{instanceId:n});return{results:await(async()=>{try{return await a(e,{abortSignal:o?.abortController?.signal,dataSets:this.dataSets,filterConfig:o?.filterConfig})}catch(A){return dt("[Services] Error fetching data on query:",A),null}})()}}static upcastDashboard(e,o,n){try{const b=Bs(e,n);return[Pa(b,o,e.definition?.customFields||{})]}catch(b){return dt(`Failed to upcast dashboard ${e.id}. This dashboard will not be available for use.`,b),[]}}static filterDashboards(e,o){let n=P0.cloneDeep(e);return o.onlyParentDashboards&&(n=n.filter(b=>b.parentDashboardId===null)),o.onlyChildDashboards&&(n=n.filter(b=>b.parentDashboardId!==null)),o.onlyChildDashboardsForParent&&(n=n.filter(b=>b.parentDashboardId===o.onlyChildDashboardsForParent)),o.onlyAllowScope&&(n=n.filter(b=>b.permission?.scope===o.onlyAllowScope)),o.onlyDashboardsIncludingMetadata&&(n=n.filter(b=>{const a=Object.keys(o.onlyDashboardsIncludingMetadata||{});return P0.every(a,O=>b.metadata[O]===o?.onlyDashboardsIncludingMetadata?.[O])})),n}async updateGlobalLibrary(e){try{return await this.vizzlyAPIClient.getGlobalLibraryManager().update(e)}catch(o){dt("Error updating global library:",o)}}static async eventBusController(e,o){try{const n=Ho.use();if((e.action==="addComponentToLibrary"||e.action==="deleteComponentFromLibrary")&&n.globalLibraryPermissions){Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:ja.SAVING}});const[b]=await Promise.all([await n.getGlobalLibraries({abortController:o?.abortController})]);let a=KO(b);e.action==="addComponentToLibrary"&&(a=c7(b,e.component,e.customFields)),e.action==="deleteComponentFromLibrary"&&(a=l7(b,e.component));const O=z7(n.globalLibraryPermissions,[a]);N6("library and tokens for update",{libraryForUpdate:a,tokenForLibrary:O});const A={globalLibraryId:a.id,library:a.library,abortSignal:o?.abortController?.signal,globalLibrarySessionToken:O};if(await n.updateGlobalLibrary(A)){let R=ja.SAVED;e.action==="deleteComponentFromLibrary"&&(R=ja.DELETED),Pe.publish({data:{action:"newViewsInGlobalLibrary"}}),Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:R}})}}}catch(n){dt("Error handling event:",n)}}static publish(e){Pe.eventBus.map(o=>{o(e)}),Pe.eventBusController(e.data).catch(o=>{dt("Failed to handle event:",o)})}static subscription(e){return Pe.eventBus.push(e),()=>{Pe.eventBus=Pe.eventBus.filter(o=>o!==e)}}static{this.Row=Hd}static{this.Cell=iO}static{this.Dashboard=Y7}static{this.Editor=Q7}static{this.Header=Yd}static{this.Library=K7}static{this.View=R1}static{this.AreaChart=bT}static{this.AreaChartV2=pT}static{this.LineChart=aT}static{this.LineChartV2=MT}static{this.BarChart=zT}static{this.BarChartV2=cT}static{this.PieChart=sT}static{this.BubbleChart=OT}static{this.BubbleChartV2=lT}static{this.ScatterChart=uT}static{this.ComboChart=dT}static{this.ComboChartV2=fT}static{this.PivotTable=qT}static{this.BasicTable=WT}static{this.HorizontalBarChart=hT}static{this.HorizontalBarChartV2=mT}static{this.MercatorMap=gT}static{this.SingleStat=yT}static{this.Progress=RT}static{this.RichText=LT}static{this.WaterfallChart=vT}static{this.FunnelChart=NT}static{this.SunburstChart=AT}static{this.RadarChart=_T}}typeof window<"u"&&!window.Vizzly&&(window.Vizzly=Ho);const Pe=typeof window<"u"&&window.Vizzly||Ho;exports.Vizzly=Pe;exports.VizzlyInstanceNotLoaded=Kd;
|
|
136
|
+
`);return t},JB=async(t,e)=>{if("measure"in t&&t.measure.length===0)return[[]];const o={id:e.id,fields:e.fields.map(b=>({id:b.id,address:["_",e.id,b.id],dataType:b.dataType})),joins:[]};return(await pO().queryV2(t,o))?.[0]?.values||[]},tf=(t,e)=>`${t}::${e}`,eS=async(t,e,o)=>{const n=[...t].map(async a=>{const[O]=Ku(e,a.dataSetId),A=tf(o,a.dataSetId);return Ua[A]&&O?{content:await JB(a,O),hasMoreResults:!1}:(console.warn("Returning an empty result."),{content:[],hasMoreResults:null})});return{results:await Promise.all(n)}},tS=async(t,e,o,n)=>(await pO().init(e.map(b=>({id:b?.id,fields:b?.fields.map(a=>({id:a.id,dataType:a.dataType}))}))),await Promise.all([...t].flatMap(async b=>{const[a]=Ku(e,b.dataSetId);if(a){const O=await QB(a,o,tf(n,b.dataSetId)),A={id:a?.id,fields:a?.fields.map(c=>({id:c.id,dataType:c.dataType}))};await pO().ingest(A,O||[])}return[]})),await eS(t,e,n)),oS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,bM,o);let a=await e3(n,A=>!0,async A=>await tS(A,o.dataSets,t.loadData,t.cacheKeyNamespace),A=>({query:A,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null&&(a=n.map(()=>null)),[...n].map((A,c)=>{if(a===null)return null;const R=a[c];return R==null?null:{content:R.content,fields:b[c],hasMoreResults:R.hasMoreResults}})},rS=async(t,e,o)=>{const{queries:n,resultFields:b}=JO(e,t.queryEngineConfig,o),a=await e3(n,O=>(O.type=="preparedQuery"&&sO("Custom query engine does not support prepared queries."),O.type=="query"),async O=>{const A=await t.runQueries(O,{...o,dataAccessToken:t.dataAccessToken});return A==null?{results:O.map(()=>null)}:{results:A.map((c,R)=>Array.isArray(c)?{fields:b[R],content:c,hasMoreResults:null}:c)}},O=>({query:O,cacheKeyNamespace:t.cacheKeyNamespace}));return a===null?n.map(()=>null):a};async function Is(t,e,o){return t.type=="vizzlyQueryEngine"?await AB(t,e,o):t.type=="vizzlyJsQueryEngine"?await oS(t,e,o):t.type=="custom"?await rS(t,e,o):[]}const nS=(t,e,o,n,b,a,O,A,c,R,v)=>{let N=X7(t.dashboardAccess)+`:::${JSON.stringify(R)}`;if(a)return async(s,d)=>await Is({type:"custom",queryEngineConfig:e,runQueries:a,dataAccessToken:t.dataAccess?.signature,cacheKeyNamespace:N},s,{abortSignal:d.abortSignal,dataSets:d.dataSets,filterConfig:d.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b,hiddenDashboardFilters:v});if(O)return async(s,d)=>await Is({type:"vizzlyJsQueryEngine",loadData:O,cacheKeyNamespace:N},s,{abortSignal:d.abortSignal,dataSets:d.dataSets,filterConfig:d.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b,hiddenDashboardFilters:v});if(A&&t.dataAccess?.signature)return async(s,d)=>await Is({type:"vizzlyQueryEngine",queryEngineConfig:e,dataAccessToken:t.dataAccess?.signature,queryEngineEndpoint:A,cacheKeyNamespace:N},s,{abortSignal:d.abortSignal,dataSets:d.dataSets,filterConfig:d.filterConfig||{},timeRangeOptions:o,timeZone:c,variables:n,aliasFields:b,hiddenDashboardFilters:v});throw"Missing required props."},iS=(t,e)=>{const o=new Date(t.getTime()-e*24*60*60*1e3);return new Date(o.getFullYear(),o.getMonth(),o.getDate())},aO=t=>new Date(t.getFullYear(),t.getMonth(),t.getDate()),Ps={today:!1,past_1_day:!0,yesterday:!0,past_3_days:!0,past_7_days:!0,past_30_days:!0,past_90_days:!0,past_3_months:!1,past_6_months:!1,past_12_months:!1,past_18_months:!1},bS=(t,e)=>{const o=aO(t),n=new Date(o);return n.setDate(n.getDate()+1),n.setMilliseconds(n.getMilliseconds()-1),{description:e,range:{before:n,after:o}}},pS=(t,e)=>({description:e,range:{before:aO(t),after:aO(iS(t,1))}}),bo=(t,e,o)=>{const n=new Date;let b=new Date(n);return e>0&&b.setMonth(n.getMonth()-e),t>0&&(b=new Date(n.getTime()-t*24*60*60*1e3)),{description:o,range:{before:n,after:b}}},aS=t=>({today:bS(new Date,t("filter.today","Today")),past_1_day:bo(1,0,t("filter.past_1_day","Last 24 hours")),yesterday:pS(new Date,t("filter.yesterday","Yesterday")),past_3_days:bo(3,0,t("filter.past_3_days","Last 3 days")),past_7_days:bo(7,0,t("filter.past_7_days","Last 7 days")),past_30_days:bo(30,0,t("filter.past_30_days","Last 30 days")),past_90_days:bo(90,0,t("filter.past_90_days","Last 90 days")),past_3_months:bo(0,3,t("filter.past_3_months","Last 3 months")),past_6_months:bo(0,6,t("filter.past_6_months","Last 6 months")),past_12_months:bo(0,12,t("filter.past_12_months","Last 12 months")),past_18_months:bo(0,18,t("filter.past_18_months","Last 18 months"))}),MS=(t,e)=>{const o=aS(t),n=Object.keys(Ps).map(A=>A in o?`_vizzly_${A}`:A),b=n.indexOf("_vizzly_today");b>-1&&(n.splice(b,1),n.unshift("_vizzly_today"));let a={},O={};for(const A of n){const c=A.replace("_vizzly_",""),R=o[c],v=e?.[c];typeof v=="boolean"?v&&(O[A]=R):v!=null?O[A]=v:Ps[c]!==!1&&(O[A]=R)}if(e)for(const[A,c]of Object.entries(e))A in Ps||(n.push(A),O[A]=c);for(const A of n)A in O&&(a[A]=O[A]);return a},zS=(t,e)=>{const o=d7(t);if(o&&e.dashboardAccess.scope==="read")return{type:"exact",globalLibrary:o};if(o&&e.dashboardAccess.scope==="read_write"&&e.dashboardAccess.accessType!=="admin")return{type:"exact",globalLibrary:u7(t)[0]};if(o&&e.dashboardAccess.accessType==="admin")return{type:"exact",globalLibrary:o};throw"No strategy found."},$i="default";N2.VizzlyApiClientLogger.UserAgentProduct="Services";const cS={apiHost:"https://api.vizzly.co"};class Ho{static{this._instanceStore={}}static{this.DEFAULT_INSTANCE_ID=$i}static{this.eventBus=[]}constructor(e,o,n,b,a,O){this.programmaticDashboard=a,this.dataSets=n,this.queryEngineConfig=o,this.identityConfig=e,this.vizzlyAPIClient=gm(e,b,O)}getDataSets(){return this.dataSets}static async load(e,o=cS){G1("Starting load process for the services package.");const{queryEngine:n,dataSets:b,identity:a,programmaticDashboard:O,extraCustomFields:A}=e,c=new G7(n,a,b,A,o),{queryEngineConfig:R,dataSets:v,identityConfig:N,dashboardStorageStrategy:s}=await c.load(),d=new Pe(N,R,v,s,O,{host:o.apiHost});return Pe._instanceStore[o.instanceId||$i]=d,Pe.queryEngine=n,G1("Loaded services package and added it to the instance store."),d}static use(e=$i){const o=Pe._instanceStore[e];if(!o)throw new Kd(e);return o}static async waitToUse(e=$i,o=1e4){const n=Ho._instanceStore,b=e;return new Promise((a,O)=>{if(n.hasOwnProperty(b)){a(n[b]);return}const A=setTimeout(()=>{clearTimeout(A),O(new TT(e,o))},o),c=setInterval(()=>{n.hasOwnProperty(b)&&(clearTimeout(A),clearInterval(c),a(n[b]))},10)})}static clearInstances(){Pe._instanceStore={},R1.setQueryEngineConfig(null)}async createDashboard(e){BT(e,this.queryEngineConfig);const n=this.vizzlyAPIClient.getDashboardManager(),{dashboard:b}=await n.create({metadata:e.metadata||e.meta,definition:e.definition,parentDashboardId:e.parentDashboardId,permissions:[{scope:"read_write"}],usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateDashboard(e){ST(e,this.queryEngineConfig);const b=await this.vizzlyAPIClient.getDashboardManager().update({dashboardId:e.dashboardId,metadata:e.metadata||e.meta,definition:e.definition,deleted:e.deleted,abortSignal:e.abortSignal,name:e.name,usage_metadata:e.definition?Ul(e.definition,this.dataSets):void 0}),a=Bs(b,this.queryEngineConfig);return Pa(a,this.dataSets,b.definition?.customFields||{})}async updateScheduledReport(e,o,n){const a=await this.vizzlyAPIClient.getAPIs().vizzlyApi.saveScheduledReport({scheduledReportId:o,cronSchedule:n,dashboardAccessToken:e});if(a.status===200)return n===null?!0:a.body}async getScheduledReports(e){if(this.vizzlyAPIClient){const n=await this.vizzlyAPIClient.getAPIs().vizzlyApi.getScheduledReports({dashboardAccessToken:e});if(n.status===200)return n.body}return{reports:[]}}async getDashboards(e){const a=(await this.vizzlyAPIClient.getDashboardManager().getDashboards(e?.abortController?{abortSignal:e?.abortController.signal}:{})).flatMap(O=>Ho.upcastDashboard(O,this.dataSets,this.queryEngineConfig));return this.programmaticDashboard?p7(a,n7(await this.programmaticDashboard(this.dataSets),this.dataSets)):a}async createGlobalLibrary(e){return await this.vizzlyAPIClient.getGlobalLibraryManager().create(e)}async getGlobalLibraries(e){const b=await this.vizzlyAPIClient.getGlobalLibraryManager().getGlobalLibraries(e?.abortController?{abortSignal:e?.abortController.signal}:{});this.globalLibraryPermissions=b.permissions;const a=b.global_libraries.map(A=>M7(A));return[zS(a,this.getIdentityConfig()).globalLibrary]}getViewConfiguration(){return{queryEngineConfig:this.queryEngineConfig}}getIdentityConfig(){return this.identityConfig}async query(e,o){G1("[Services] Querying data with queries:",e);let n=$i;o?.instanceId&&(n=o.instanceId);const b=Ho._instanceStore[n],a=nS(b.identityConfig,b.queryEngineConfig,MS(LN,o?.dateFilterOptions),o?.variables||{},o?.aliasFields||{},o?.runQueries,o?.data,o?.queryEngineEndpoint,void 0,{instanceId:n});return{results:await(async()=>{try{return await a(e,{abortSignal:o?.abortController?.signal,dataSets:this.dataSets,filterConfig:o?.filterConfig})}catch(A){return dt("[Services] Error fetching data on query:",A),null}})()}}static upcastDashboard(e,o,n){try{const b=Bs(e,n);return[Pa(b,o,e.definition?.customFields||{})]}catch(b){return dt(`Failed to upcast dashboard ${e.id}. This dashboard will not be available for use.`,b),[]}}static filterDashboards(e,o){let n=P0.cloneDeep(e);return o.onlyParentDashboards&&(n=n.filter(b=>b.parentDashboardId===null)),o.onlyChildDashboards&&(n=n.filter(b=>b.parentDashboardId!==null)),o.onlyChildDashboardsForParent&&(n=n.filter(b=>b.parentDashboardId===o.onlyChildDashboardsForParent)),o.onlyAllowScope&&(n=n.filter(b=>b.permission?.scope===o.onlyAllowScope)),o.onlyDashboardsIncludingMetadata&&(n=n.filter(b=>{const a=Object.keys(o.onlyDashboardsIncludingMetadata||{});return P0.every(a,O=>b.metadata[O]===o?.onlyDashboardsIncludingMetadata?.[O])})),n}async updateGlobalLibrary(e){try{return await this.vizzlyAPIClient.getGlobalLibraryManager().update(e)}catch(o){dt("Error updating global library:",o)}}static async eventBusController(e,o){try{const n=Ho.use();if((e.action==="addComponentToLibrary"||e.action==="deleteComponentFromLibrary")&&n.globalLibraryPermissions){Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:ja.SAVING}});const[b]=await Promise.all([await n.getGlobalLibraries({abortController:o?.abortController})]);let a=KO(b);e.action==="addComponentToLibrary"&&(a=c7(b,e.component,e.customFields)),e.action==="deleteComponentFromLibrary"&&(a=l7(b,e.component));const O=z7(n.globalLibraryPermissions,[a]);N6("library and tokens for update",{libraryForUpdate:a,tokenForLibrary:O});const A={globalLibraryId:a.id,library:a.library,abortSignal:o?.abortController?.signal,globalLibrarySessionToken:O};if(await n.updateGlobalLibrary(A)){let R=ja.SAVED;e.action==="deleteComponentFromLibrary"&&(R=ja.DELETED),Pe.publish({data:{action:"newViewsInGlobalLibrary"}}),Pe.publish({data:{action:"updateToGlobalLibraryStatus",state:R}})}}}catch(n){dt("Error handling event:",n)}}static publish(e){Pe.eventBus.map(o=>{o(e)}),Pe.eventBusController(e.data).catch(o=>{dt("Failed to handle event:",o)})}static subscription(e){return Pe.eventBus.push(e),()=>{Pe.eventBus=Pe.eventBus.filter(o=>o!==e)}}static{this.Row=Hd}static{this.Cell=iO}static{this.Dashboard=Y7}static{this.Editor=Q7}static{this.Header=Yd}static{this.Library=K7}static{this.View=R1}static{this.AreaChart=bT}static{this.AreaChartV2=pT}static{this.LineChart=aT}static{this.LineChartV2=MT}static{this.BarChart=zT}static{this.BarChartV2=cT}static{this.PieChart=sT}static{this.BubbleChart=OT}static{this.BubbleChartV2=lT}static{this.ScatterChart=uT}static{this.ComboChart=dT}static{this.ComboChartV2=fT}static{this.PivotTable=qT}static{this.BasicTable=WT}static{this.HorizontalBarChart=hT}static{this.HorizontalBarChartV2=mT}static{this.MercatorMap=gT}static{this.SingleStat=yT}static{this.Progress=RT}static{this.RichText=LT}static{this.WaterfallChart=vT}static{this.FunnelChart=NT}static{this.SunburstChart=AT}static{this.RadarChart=_T}}typeof window<"u"&&!window.Vizzly&&(window.Vizzly=Ho);const Pe=typeof window<"u"&&window.Vizzly||Ho;exports.Vizzly=Pe;exports.VizzlyInstanceNotLoaded=Kd;
|
package/dist/esm/index.esm.js
CHANGED
|
@@ -29031,15 +29031,24 @@ const it = (t, e, o, n) => {
|
|
|
29031
29031
|
);
|
|
29032
29032
|
n = a, b = O;
|
|
29033
29033
|
}
|
|
29034
|
-
return o.timeZone && (n = n.map((a) => ({ ...a, timeZone: o.timeZone }))), n = n.map((a) =>
|
|
29035
|
-
|
|
29036
|
-
|
|
29037
|
-
|
|
29038
|
-
|
|
29039
|
-
|
|
29040
|
-
|
|
29041
|
-
|
|
29042
|
-
|
|
29034
|
+
return o.timeZone && (n = n.map((a) => ({ ...a, timeZone: o.timeZone }))), n = n.map((a) => {
|
|
29035
|
+
if (a.type === "query") {
|
|
29036
|
+
const O = Rr(
|
|
29037
|
+
a.filter,
|
|
29038
|
+
B2(o.dataSets, a.dataSetId),
|
|
29039
|
+
e,
|
|
29040
|
+
o
|
|
29041
|
+
), A = o.dataSets.find((R) => R.id === a.dataSetId), c = o.hiddenDashboardFilters?.(A);
|
|
29042
|
+
return {
|
|
29043
|
+
...a,
|
|
29044
|
+
filter: c ? {
|
|
29045
|
+
type: "andWhere",
|
|
29046
|
+
value: [O, c]
|
|
29047
|
+
} : O
|
|
29048
|
+
};
|
|
29049
|
+
}
|
|
29050
|
+
return a;
|
|
29051
|
+
}), { queries: n, resultFields: b };
|
|
29043
29052
|
};
|
|
29044
29053
|
let bO = {};
|
|
29045
29054
|
const cB = (t, e, o) => {
|
|
@@ -29331,64 +29340,67 @@ Note, you can change the version of the in-memory database by changing '0.8.3' t
|
|
|
29331
29340
|
async function Is(t, e, o) {
|
|
29332
29341
|
return t.type == "vizzlyQueryEngine" ? await AB(t, e, o) : t.type == "vizzlyJsQueryEngine" ? await oS(t, e, o) : t.type == "custom" ? await rS(t, e, o) : [];
|
|
29333
29342
|
}
|
|
29334
|
-
const nS = (t, e, o, n, b, a, O, A, c, R) => {
|
|
29335
|
-
let
|
|
29343
|
+
const nS = (t, e, o, n, b, a, O, A, c, R, v) => {
|
|
29344
|
+
let N = x7(t.dashboardAccess) + `:::${JSON.stringify(R)}`;
|
|
29336
29345
|
if (a)
|
|
29337
|
-
return async (
|
|
29346
|
+
return async (s, d) => await Is(
|
|
29338
29347
|
{
|
|
29339
29348
|
type: "custom",
|
|
29340
29349
|
queryEngineConfig: e,
|
|
29341
29350
|
runQueries: a,
|
|
29342
29351
|
dataAccessToken: t.dataAccess?.signature,
|
|
29343
|
-
cacheKeyNamespace:
|
|
29352
|
+
cacheKeyNamespace: N
|
|
29344
29353
|
},
|
|
29345
|
-
|
|
29354
|
+
s,
|
|
29346
29355
|
{
|
|
29347
|
-
abortSignal:
|
|
29348
|
-
dataSets:
|
|
29349
|
-
filterConfig:
|
|
29356
|
+
abortSignal: d.abortSignal,
|
|
29357
|
+
dataSets: d.dataSets,
|
|
29358
|
+
filterConfig: d.filterConfig || {},
|
|
29350
29359
|
timeRangeOptions: o,
|
|
29351
29360
|
timeZone: c,
|
|
29352
29361
|
variables: n,
|
|
29353
|
-
aliasFields: b
|
|
29362
|
+
aliasFields: b,
|
|
29363
|
+
hiddenDashboardFilters: v
|
|
29354
29364
|
}
|
|
29355
29365
|
);
|
|
29356
29366
|
if (O)
|
|
29357
|
-
return async (
|
|
29367
|
+
return async (s, d) => await Is(
|
|
29358
29368
|
{
|
|
29359
29369
|
type: "vizzlyJsQueryEngine",
|
|
29360
29370
|
loadData: O,
|
|
29361
|
-
cacheKeyNamespace:
|
|
29371
|
+
cacheKeyNamespace: N
|
|
29362
29372
|
},
|
|
29363
|
-
|
|
29373
|
+
s,
|
|
29364
29374
|
{
|
|
29365
|
-
abortSignal:
|
|
29366
|
-
dataSets:
|
|
29367
|
-
filterConfig:
|
|
29375
|
+
abortSignal: d.abortSignal,
|
|
29376
|
+
dataSets: d.dataSets,
|
|
29377
|
+
filterConfig: d.filterConfig || {},
|
|
29368
29378
|
timeRangeOptions: o,
|
|
29369
29379
|
timeZone: c,
|
|
29370
29380
|
variables: n,
|
|
29371
|
-
aliasFields: b
|
|
29381
|
+
aliasFields: b,
|
|
29382
|
+
hiddenDashboardFilters: v
|
|
29372
29383
|
}
|
|
29373
29384
|
);
|
|
29374
29385
|
if (A && t.dataAccess?.signature)
|
|
29375
|
-
return async (
|
|
29386
|
+
return async (s, d) => await Is(
|
|
29376
29387
|
{
|
|
29377
29388
|
type: "vizzlyQueryEngine",
|
|
29378
29389
|
queryEngineConfig: e,
|
|
29379
29390
|
dataAccessToken: t.dataAccess?.signature,
|
|
29380
29391
|
queryEngineEndpoint: A,
|
|
29381
|
-
cacheKeyNamespace:
|
|
29392
|
+
cacheKeyNamespace: N
|
|
29382
29393
|
},
|
|
29383
|
-
|
|
29394
|
+
s,
|
|
29384
29395
|
{
|
|
29385
|
-
abortSignal:
|
|
29386
|
-
dataSets:
|
|
29387
|
-
filterConfig:
|
|
29396
|
+
abortSignal: d.abortSignal,
|
|
29397
|
+
dataSets: d.dataSets,
|
|
29398
|
+
filterConfig: d.filterConfig || {},
|
|
29388
29399
|
timeRangeOptions: o,
|
|
29389
29400
|
timeZone: c,
|
|
29390
29401
|
variables: n,
|
|
29391
|
-
aliasFields: b
|
|
29402
|
+
aliasFields: b,
|
|
29403
|
+
hiddenDashboardFilters: v
|
|
29392
29404
|
}
|
|
29393
29405
|
);
|
|
29394
29406
|
throw "Missing required props.";
|
package/package.json
CHANGED
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
"fix-type-alias": "tsc-alias -p tsconfig.types.json",
|
|
31
31
|
"prepare": "yarn build"
|
|
32
32
|
},
|
|
33
|
-
"version": "0.15.0-dev-
|
|
33
|
+
"version": "0.15.0-dev-3cedf551bbb0d18e14a8fe6473fe9b8d5ce6736b",
|
|
34
34
|
"dependencies": {
|
|
35
35
|
"@vizzly/api-client": "0.0.57",
|
|
36
36
|
"@vizzly/joi": "^17.11.0",
|