@vizzly/components
Advanced tools
Comparing version
@@ -1,2 +0,2 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),r=e(t),n=require("lodash"),o=require("@vizzly/puppet"),i=e(require("isomorphic-fetch")),a=require("node-jose");function u(){u=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var o=Object.create((t&&t.prototype instanceof f?t:f).prototype),i=new F(n||[]);return o._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var a=r.delegate;if(a){var u=w(a,r);if(u){if(u===p)continue;return u}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=l(e,t,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(e,r,i),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var p={};function f(){}function d(){}function h(){}var m={};s(m,o,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(O([])));y&&y!==t&&r.call(y,o)&&(m=y);var g=h.prototype=f.prototype=Object.create(m);function x(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(o,i){function a(){return new t((function(n,a){!function n(o,i,a,u){var s=l(e[o],e,i);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==typeof p&&r.call(p,"__await")?t.resolve(p.__await).then((function(e){n("next",e,a,u)}),(function(e){n("throw",e,a,u)})):t.resolve(p).then((function(e){c.value=e,a(c)}),(function(e){return n("throw",e,a,u)}))}u(s.arg)}(o,i,n,a)}))}return n=n?n.then(a,a):a()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return p;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=l(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,p;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function E(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function F(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function O(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:L}}function L(){return{value:void 0,done:!0}}return d.prototype=h,s(g,"constructor",h),s(h,"constructor",d),d.displayName=s(h,a,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,a,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},x(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var a=new b(c(t,r,n,o),i);return e.isGeneratorFunction(r)?a:a.next().then((function(e){return e.done?e.value:a.next()}))},x(g),s(g,a,"Generator"),s(g,o,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=O,F.prototype={constructor:F,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(E),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return a.type="throw",a.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],a=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var u=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(u&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(u){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var a=i?i.completion:{};return a.type=e,a.arg=t,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(a)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),E(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},e}function s(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){return void r(e)}u.done?t(s):Promise.resolve(s).then(n,o)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function a(e){s(i,n,o,a,u,"next",e)}function u(e){s(i,n,o,a,u,"throw",e)}a(void 0)}))}}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e){return{id:e.id,dataType:e.type,title:e.title}},f=function(e){return n.replace(e,"_"," ")},d=function(e){return{id:e.id,fields:[].concat(e.fields).map(p)}},h=function(e){var t=e.versions.map((function(e){return{type:e.frontend_context.type,title:e.title,description:e.description,props:e.frontend_context.props,libraryVersion:e.frontend_context.libraryVersion,secureFilters:e.secure_filters.map((function(e){return{field:e.field,op:e.operator,exampleValue:e.example_value}})),savedAt:e.inserted_at}}));return{id:e.id,dataSets:e.data_sets.map(d),versions:t}},m=function(e){return n.last(e.versions)},v=function(e,t){return n.flatMap([].concat(e),(function(e){var r;return(null==(r=m(e))?void 0:r.libraryVersion)==t?[e]:[]}))},y=function(e){return function(){var t=c(u().mark((function t(r){var n,o;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/component/"+r,method:"get"});case 2:if(o=(n=t.sent).body,200!=n.status){t.next=7;break}return t.abrupt("return",h(o));case 7:return t.abrupt("return",void 0);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},g=function(e){return e.content=e.content.map((function(t){return t.map((function(t,r){return function(e,t){if(null===e)return null;switch(t){case"date_time":return new Date(e);case"number":case"string":return e;case"boolean":return!!e}throw"Cannot parse value of unrecognised type."}(t,e.fields[r].dataType)}))})),e},x=function(e){return function(){var t=c(u().mark((function t(r,n,o){var i,a;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/create-result",method:"post",body:{queries:n.map((function(e){return b(e,r)}))},abortSignal:o});case 2:if(a=(i=t.sent).body,200!=i.status){t.next=7;break}return t.abrupt("return",a.results.map(g));case 7:return t.abrupt("return",void 0);case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()},b=function(e,t){var r,n=e.timeDimension;return n&&(n=l({},n,{timeZone:null!=(r=n.timeZone)?r:o.Utils.DateTime.currentTimezone()})),l({},e,{componentId:t,timeDimension:n})},w=function(e){return function(){var t=c(u().mark((function t(r,n){var o,i;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/organisation/"+r+"/studio-components/"+n,method:"get"});case 2:if(i=(o=t.sent).body,200!=o.status){t.next=7;break}return t.abrupt("return",i.components.map(h));case 7:return t.abrupt("return",void 0);case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()},C=function(e){return function(){var t=c(u().mark((function t(r,n,o){return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/dashboard/"+r+"/studio-component",method:"post",body:{component_id:n,position:o}});case 2:return t.abrupt("return",200==t.sent.status);case 5:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()},E=function(e){return function(){var t=c(u().mark((function t(r,n){return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/dashboard/"+r+"/studio-component/remove",method:"post",body:{position:n}});case 2:return t.abrupt("return",200==t.sent.status);case 5:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()},F=function(e){return function(){var t=c(u().mark((function t(r){var n,o,a;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.authToken?{auth:"Bearer "+e.authToken}:{},o=r.headers||{},t.next=4,i(""+e.host+r.path,{method:r.method,headers:l({"Content-Type":"application/json",Accept:"application/json"},n,o),redirect:"follow",referrerPolicy:"no-referrer",body:r.body?JSON.stringify(r.body):null,signal:r.abortSignal});case 4:return a=t.sent,t.next=7,a.json();case 7:return t.abrupt("return",{body:t.sent,status:a.status});case 9:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},O=function(e,t){return e&&!n.isEmpty(e)||(e=[[]]),[].concat(e).map((function(e){return[].concat(e,t)}))},L=function(e,t,r,n,o,i,a){var u={measure:e,order:t,filter:r,dimension:n,timeDimension:o,limit:i,secureFilter:a||[]};return k(u)?u:null},k=function(e){return null!==e&&!n.isEmpty(e.measure)},S=function(e,t){return l({},e,{secureFilter:t})},P=function(e,r,o,i,a){var s=a.secureFilterExamples,p=a.secureFilterCallback,f=a.localFilters;(r=r.map((function(e){return function(e,t){return function(e,t){return n.isEmpty(e.filter)&&(e.filter=[[]]),l({},e,{filter:O(e.filter,t)})}(e,t.map((function(e){return{field:e.field,op:e.op,value:e.exampleValue}})))}(e,s||[])})))[0]&&(r[0].filter=O(r[0].filter,Object.values(f||{}))),t.useEffect((function(){var t=new AbortController,a=function(){var n=c(u().mark((function n(){var a,s,c;return u().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(a=[],!p){n.next=6;break}return n.next=4,p();case 4:(s=n.sent)&&(a=[].concat(s));case 6:return r=r.map((function(e){return S(e,a)})),n.next=9,e.createQueryResult(o,r,t.signal);case 9:(c=n.sent)&&i(c,r);case 11:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}();return o&&!n.isEmpty(r)&&a(),function(){t.abort()}}),[JSON.stringify(o),JSON.stringify(r)])},j=function(e){if(!e)return null;var t=F(e);return{config:e,getComponent:y(t),createQueryResult:x(t),getStudioComponents:w(t),addComponentToDashboard:C(t),removeComponentFromDashboard:E(t)}},q=require("../package.json").version,_=function(){throw"Function not initialised."},D=r.createContext({component:null,version:null,apiConfig:null,results:[],queries:[],localFilters:{},setLocalFilters:_,setResults:_,setQueries:_,setProps:_,setStyleProps:_,setTitle:_,setChartType:_,setDescription:_,setLibraryVersion:_,setVersion:_,setSavedAt:_,setSecureFilters:_}),V=function(e){var o=e.children,i=e.apiConfig,a=e.componentId,s=r.useState({apiConfig:i,results:[],queries:[],localFilters:{},component:null,version:null}),p=s[0],f=s[1];t.useEffect((function(){!function(){var e=c(u().mark((function e(){var t,r,o;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==(t=j(i))?void 0:t.getComponent(a);case 2:(r=e.sent)&&(o=m(r),n.isEmpty(null==o?void 0:o.secureFilters),f(l({},p,{queries:[],results:[],component:r,version:o||null})));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()}),[a]);var d=l({},p,{setChartType:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],version:l({},e.version,{type:r})}))}(p,f,e)},setDescription:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{description:r})}))}(p,f,e)},setTitle:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{title:r})}))}(p,f,e)},setLibraryVersion:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],version:l({},e.version,{libraryVersion:r})}))}(p,f,e)},setProps:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],version:l({},e.version,{props:l({},r)})}))}(p,f,e)},setStyleProps:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{props:l({},r)})}))}(p,f,e)},setResults:function(e,t){return function(e,t,r,n){t(l({},e,{results:r,queries:n}))}(p,f,e,t)},setQueries:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[].concat(r)}))}(p,f,e)},setVersion:function(e){return function(e,t,r){t(l({},e,{version:r,results:[],queries:[]}))}(p,f,e)},setSavedAt:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{savedAt:r})}))}(p,f,e)},setSecureFilters:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{secureFilters:r}),results:[],queries:[]}))}(p,f,e)},setLocalFilters:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],localFilters:r}))}(p,f,e)}});return r.createElement(D.Provider,{value:d},o)},T=function(){return r.useContext(D)},I=function(){return r.useContext(D)},N=function(){return r.useContext(D)},A=function(){return r.useContext(D)},R=function(){return r.useContext(D)},M=function(e){return[].concat(e).map((function(e){var t=e.field;return L([{field:t,aggregate:"distinct"}],[{field:t,direction:"asc",aggregate:"none"}],[],[t],null,1500,[])}))},Q=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],a=[];r.xMeasure&&a.push(r.xMeasure),r.yMeasure&&a.push(r.yMeasure);var u=L(a,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(u)?[u].concat(i):[],t,n,o)},G=function(e,t,r,o){return e&&r[1]?l({},e,{components:[].concat(e.components).map((function(e,i){if("selectFilter"==e.type)return function(e,t,r,o,i){var a,u=n.findIndex(o[1+t].fields,(function(t){return t.title==e.field})),s=o[1].content.map((function(e){return e[u]}));return l({},e,e,{currentValue:null==(a=r[t])?void 0:a.value,options:s.map((function(e){return{value:e,label:e}})),onChange:function(e){var n=l({},r);null==e.value||NaN==e.value||null==e.value?delete n[t]:n[t]=e,i.setLocalFilters(n)}})}(e,i,t,r,o);throw"Did not recognise add on component "+e.type}))}):null},J=function(e){var t=A(),i=t.apiConfig,a=t.setResults,u=t.component,s=t.results,c=t.queries,l=t.version,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==l?void 0:l.props,o.Components.LineChartView.defaultProps);if(Q(i,null==u?void 0:u.id,d,a,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(s))return null;var h=G(d.addOns,p,s,{setLocalFilters:f});return r.createElement(o.Components.ScatterChartView,Object.assign({},d,{addOns:h,result:s[0],query:c[0]}))},z=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],a=L(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(a)?[a].concat(i):[],t,n,o)},B=function(e){var t=I(),i=t.apiConfig,a=t.results,u=t.component,s=t.queries,c=t.version,l=t.setResults,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==c?void 0:c.props,o.Components.LineChartView.defaultProps);if(z(i,null==u?void 0:u.id,d,l,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(a))return null;var h=G(d.addOns,p,a,{setLocalFilters:f});return r.createElement(o.Components.BarChartView,Object.assign({},d,{addOns:h,result:a[0],query:s[0]}))},K=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],a=L(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(a)?[a].concat(i):[],t,n,o)},U=function(e){var t=T(),i=t.apiConfig,a=t.results,u=t.queries,s=t.version,c=t.component,l=t.setResults,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==s?void 0:s.props,o.Components.LineChartView.defaultProps);if(K(i,null==c?void 0:c.id,d,l,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(a))return null;var h=G(d.addOns,p,a,{setLocalFilters:f});return r.createElement(o.Components.LineChartView,Object.assign({},d,{addOns:h,result:a[0],query:u[0]}))},W=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],a=L(r.measure,r.order,r.filter,r.dimension,null,r.limit);P(j(e),k(a)?[a].concat(i):[],t,n,o)},Y=function(e){var t=R(),i=t.apiConfig,a=t.component,u=t.setResults,s=t.results,c=t.queries,l=t.version,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==l?void 0:l.props,o.Components.LineChartView.defaultProps);if(W(i,null==a?void 0:a.id,d,u,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(s))return null;var h=G(d.addOns,p,s,{setLocalFilters:f});return r.createElement(o.Components.PieChartView,Object.assign({},d,{addOns:h,result:s[0],query:c[0]}))},Z=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],a=L(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(a)?[a].concat(i):[],t,n,o)},H=function(e){var t=N(),i=t.apiConfig,a=t.component,u=t.setResults,s=t.results,c=t.queries,l=t.version,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==l?void 0:l.props,o.Components.LineChartView.defaultProps);if(Z(i,null==a?void 0:a.id,d,u,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(s))return null;var h=G(d.addOns,p,s,{setLocalFilters:f});return r.createElement(o.Components.AreaChartView,Object.assign({},d,{addOns:h,result:s[0],query:c[0]}))},X=function(e){if("scatterChart"==e.type)return r.createElement(J,Object.assign({},e.componentProps));if("barChart"==e.type)return r.createElement(B,Object.assign({},e.componentProps));if("areaChart"==e.type)return r.createElement(H,Object.assign({},e.componentProps));if("lineChart"==e.type)return r.createElement(U,Object.assign({},e.componentProps));if("pieChart"==e.type)return r.createElement(Y,Object.assign({},e.componentProps));throw"Unsupported component in generic component."},$=["lineChart","barChart","areaChart"],ee=function(e,t){var r="",o=t.measure,i=t.dimension,a=t.timeDimension;return o[0]&&i&&(r=n.capitalize(o[0].aggregate)+" of '"+f(o[0].field)+"'",i&&(r+=", grouped by '"+i+"'"),a&&(r+=", on a "+function(e){if("day"==e)return"daily";if("month"==e)return"monthly";if("year"==e)return"annually";if("second"==e)return"per second";if("hour"==e)return"per hour";if("minute"==e)return"per minute";throw"Unsupported titme truncate value."}(a.truncate)+" basis.")),r},te=function(e,t){return $.includes(e)?ee(0,t):"scatterChart"==e?function(e){var t="",r=e.xMeasure,o=e.yMeasure,i=e.dimension;return r&&o&&(t=n.capitalize(r.aggregate)+" of '"+f(r.field)+"' by "+o.aggregate+" of '"+f(o.field)+"'",i&&(t+=", grouped by '"+i+"'.")),t}(t):"pieChart"==e?ee(0,t):(console.warn("Summary requested for unsupported component "+e+"."),"")},re=function(){var e=c(u().mark((function e(t,r,n,o){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=!r,e.t0){e.next=8;break}if(e.t1=r,!e.t1){e.next=7;break}return e.next=6,null==t?void 0:t.addComponentToDashboard(r,o,n);case 6:e.t1=e.sent;case 7:e.t0=e.t1;case 8:return e.abrupt("return",e.t0);case 9:case"end":return e.stop()}}),e)})));return function(t,r,n,o){return e.apply(this,arguments)}}(),ne=function(){var e=c(u().mark((function e(t,r,n){return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=!r,e.t0){e.next=5;break}return e.next=4,t.removeComponentFromDashboard(r,n);case 4:e.t0=e.sent;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}();function oe(e,t){return new Date(e.getTime()+6e4*t)}var ie=function(e){return function(){var t=c(u().mark((function t(r){var n,o;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.privateKey,t.next=3,a.JWK.asKey(n,"pem");case 3:return o=t.sent,t.next=6,a.JWS.createSign({alg:"ES256",format:"compact"},o).update(JSON.stringify(r),"utf8").final();case 6:return t.abrupt("return",t.sent);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},ae=function(e){return c(u().mark((function t(){return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ie(e)({expires:oe(new Date,e.ttlInMinutes).toISOString()});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})))},ue=function(e){return function(){var t=c(u().mark((function t(r){return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ie(e)({filter:r,expires:oe(new Date,e.ttlInMinutes).toISOString()});case 2:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()};exports.AreaChart=H,exports.BarChart=B,exports.ComponentContextProvider=V,exports.LineChart=U,exports.ScatterChart=J,exports.Studio=function(e){var i,a,s=e.organisationId,p=e.studioComponentsTag,f=e.apiConfig,d=j(f),h=function(e,n,o){var i=t.useState(null),a=i[0],s=i[1];return r.useEffect((function(){a||function(){var t=c(u().mark((function t(){var r;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getStudioComponents(n,o);case 2:(r=v(r=t.sent,q))&&s(r);case 5:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()()}),[n,o]),a}(d,s,p),y=function(e,n){var o=r.useState(null),i=o[0],a=o[1];return t.useEffect((function(){n&&function(){var t=c(u().mark((function t(){return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getDashboard();case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()()}),[n]),{dashboard:i,setComponents:function(e){a(l({},i,{components:e}))}}}(d,e.dashboardId),g=y.dashboard,x=y.setComponents,b=t.useState(null),w=b[0],C=b[1],E=null!=w,F=n.mapValues(l({},null==g?void 0:g.components),(function(e){var t=m(e);return function(){return r.createElement(r.Fragment,null,r.createElement(V,{componentId:e.id,apiConfig:f},r.createElement(X,{type:null==t?void 0:t.type,componentProps:null==t?void 0:t.props})))}}));return h?r.createElement(o.Components.StudioView,{onRemove:(a=c(u().mark((function t(r){var n;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=l({},null==g?void 0:g.components),t.next=3,ne(d,e.dashboardId,r);case 3:t.sent&&(delete n[r],x(n));case 5:case"end":return t.stop()}}),t)}))),function(e){return a.apply(this,arguments)}),onSelectComponent:(i=c(u().mark((function t(r){var n,o;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!w){t.next=6;break}return n=h[r],t.next=4,re(d,e.dashboardId,w,n.id);case 4:t.sent&&(x(l({},null==g?void 0:g.components,((o={})[w]=n,o))),C(null));case 6:case"end":return t.stop()}}),t)}))),function(e){return i.apply(this,arguments)}),onSelectComponentPlaceholder:C,componentOptions:[].concat(h).map((function(e){var t=m(e);return{title:null==t?void 0:t.title,summary:te(null==t?void 0:t.type,null==t?void 0:t.props),type:null==t?void 0:t.type}})),templateRenderCallbacks:F,showDrawer:E,onCloseDrawer:function(){return C(null)},templateId:"demo"}):null},exports.auth=function(e){return{accessToken:ae(e),signFilter:ue(e)}},exports.componentSummary=te,exports.createQueryResult=x,exports.httpClient=F,exports.hydrateAddOns=G,exports.useAreaChart=N,exports.useAreaChartQueryEffect=Z,exports.useBarChart=I,exports.useBarChartQueryEffect=z,exports.useComponentContext=function(){return r.useContext(D)},exports.useLineChart=T,exports.useLineChartQueryEffect=K,exports.usePieChart=R,exports.usePieChartQueryEffect=W,exports.useScatterChart=A,exports.useScatterChartQueryEffect=Q; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=require("react"),r=e(t),n=require("lodash"),o=require("@vizzly/puppet"),i=e(require("isomorphic-fetch")),u=require("node-jose");function a(){a=function(){return e};var e={},t=Object.prototype,r=t.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",u=n.toStringTag||"@@toStringTag";function s(e,t,r){return Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{s({},"")}catch(e){s=function(e,t,r){return e[t]=r}}function c(e,t,r,n){var o=Object.create((t&&t.prototype instanceof f?t:f).prototype),i=new E(n||[]);return o._invoke=function(e,t,r){var n="suspendedStart";return function(o,i){if("executing"===n)throw new Error("Generator is already running");if("completed"===n){if("throw"===o)throw i;return{value:void 0,done:!0}}for(r.method=o,r.arg=i;;){var u=r.delegate;if(u){var a=w(u,r);if(a){if(a===p)continue;return a}}if("next"===r.method)r.sent=r._sent=r.arg;else if("throw"===r.method){if("suspendedStart"===n)throw n="completed",r.arg;r.dispatchException(r.arg)}else"return"===r.method&&r.abrupt("return",r.arg);n="executing";var s=l(e,t,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===p)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(e,r,i),o}function l(e,t,r){try{return{type:"normal",arg:e.call(t,r)}}catch(e){return{type:"throw",arg:e}}}e.wrap=c;var p={};function f(){}function d(){}function h(){}var m={};s(m,o,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(O([])));y&&y!==t&&r.call(y,o)&&(m=y);var g=h.prototype=f.prototype=Object.create(m);function x(e){["next","throw","return"].forEach((function(t){s(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){var n;this._invoke=function(o,i){function u(){return new t((function(n,u){!function n(o,i,u,a){var s=l(e[o],e,i);if("throw"!==s.type){var c=s.arg,p=c.value;return p&&"object"==typeof p&&r.call(p,"__await")?t.resolve(p.__await).then((function(e){n("next",e,u,a)}),(function(e){n("throw",e,u,a)})):t.resolve(p).then((function(e){c.value=e,u(c)}),(function(e){return n("throw",e,u,a)}))}a(s.arg)}(o,i,n,u)}))}return n=n?n.then(u,u):u()}}function w(e,t){var r=e.iterator[t.method];if(void 0===r){if(t.delegate=null,"throw"===t.method){if(e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method))return p;t.method="throw",t.arg=new TypeError("The iterator does not provide a 'throw' method")}return p}var n=l(r,e.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,p;var o=n.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function C(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function F(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function E(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(C,this),this.reset(!0)}function O(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var n=-1,i=function t(){for(;++n<e.length;)if(r.call(e,n))return t.value=e[n],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:L}}function L(){return{value:void 0,done:!0}}return d.prototype=h,s(g,"constructor",h),s(h,"constructor",d),d.displayName=s(h,u,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,h):(e.__proto__=h,s(e,u,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},x(b.prototype),s(b.prototype,i,(function(){return this})),e.AsyncIterator=b,e.async=function(t,r,n,o,i){void 0===i&&(i=Promise);var u=new b(c(t,r,n,o),i);return e.isGeneratorFunction(r)?u:u.next().then((function(e){return e.done?e.value:u.next()}))},x(g),s(g,u,"Generator"),s(g,o,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=[];for(var r in e)t.push(r);return t.reverse(),function r(){for(;t.length;){var n=t.pop();if(n in e)return r.value=n,r.done=!1,r}return r.done=!0,r}},e.values=O,E.prototype={constructor:E,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(F),!e)for(var t in this)"t"===t.charAt(0)&&r.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function n(r,n){return u.type="throw",u.arg=e,t.next=r,n&&(t.method="next",t.arg=void 0),!!n}for(var o=this.tryEntries.length-1;o>=0;--o){var i=this.tryEntries[o],u=i.completion;if("root"===i.tryLoc)return n("end");if(i.tryLoc<=this.prev){var a=r.call(i,"catchLoc"),s=r.call(i,"finallyLoc");if(a&&s){if(this.prev<i.catchLoc)return n(i.catchLoc,!0);if(this.prev<i.finallyLoc)return n(i.finallyLoc)}else if(a){if(this.prev<i.catchLoc)return n(i.catchLoc,!0)}else{if(!s)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return n(i.finallyLoc)}}}},abrupt:function(e,t){for(var n=this.tryEntries.length-1;n>=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev<o.finallyLoc){var i=o;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var u=i?i.completion:{};return u.type=e,u.arg=t,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(u)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.finallyLoc===e)return this.complete(r.completion,r.afterLoc),F(r),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var r=this.tryEntries[t];if(r.tryLoc===e){var n=r.completion;if("throw"===n.type){var o=n.arg;F(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,r){return this.delegate={iterator:O(e),resultName:t,nextLoc:r},"next"===this.method&&(this.arg=void 0),p}},e}function s(e,t,r,n,o,i,u){try{var a=e[i](u),s=a.value}catch(e){return void r(e)}a.done?t(s):Promise.resolve(s).then(n,o)}function c(e){return function(){var t=this,r=arguments;return new Promise((function(n,o){var i=e.apply(t,r);function u(e){s(i,n,o,u,a,"next",e)}function a(e){s(i,n,o,u,a,"throw",e)}u(void 0)}))}}function l(){return(l=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e}).apply(this,arguments)}var p=function(e){return{id:e.id,dataType:e.type,title:e.title}},f=function(e){return n.replace(e,"_"," ")},d=function(e){return{id:e.id,fields:[].concat(e.fields).map(p)}},h=function(e){var t=e.versions.map((function(e){return{type:e.frontend_context.type,title:e.title,description:e.description,props:e.frontend_context.props,libraryVersion:e.frontend_context.libraryVersion,secureFilters:e.secure_filters.map((function(e){return{field:e.field,op:e.operator,exampleValue:e.example_value}})),savedAt:e.inserted_at}}));return{id:e.id,dataSets:e.data_sets.map(d),versions:t}},m=function(e){return n.last(e.versions)},v=function(e,t){return n.flatMap([].concat(e),(function(e){var r;return(null==(r=m(e))?void 0:r.libraryVersion)==t?[e]:[]}))},y=function(e){return function(){var t=c(a().mark((function t(r){var n,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/component/"+r,method:"get"});case 2:if(o=(n=t.sent).body,200!=n.status){t.next=7;break}return t.abrupt("return",h(o));case 7:return t.abrupt("return",void 0);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},g=function(e){return e.content=e.content.map((function(t){return t.map((function(t,r){return function(e,t){if(null===e)return null;switch(t){case"date_time":return new Date(e);case"number":case"string":return e;case"boolean":return!!e}throw"Cannot parse value of unrecognised type."}(t,e.fields[r].dataType)}))})),e},x=function(e){return function(){var t=c(a().mark((function t(r,n,o){var i,u;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/create-result",method:"post",body:{queries:n.map((function(e){return b(e,r)}))},abortSignal:o});case 2:if(u=(i=t.sent).body,200!=i.status){t.next=7;break}return t.abrupt("return",u.results.map(g));case 7:return t.abrupt("return",void 0);case 8:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()},b=function(e,t){var r,n=e.timeDimension;return n&&(n=l({},n,{timeZone:null!=(r=n.timeZone)?r:o.Utils.DateTime.currentTimezone()})),l({},e,{componentId:t,timeDimension:n})},w=function(e){return function(){var t=c(a().mark((function t(r,n){var o,i;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/organisation/"+r+"/studio-components/"+n,method:"get"});case 2:if(i=(o=t.sent).body,200!=o.status){t.next=7;break}return t.abrupt("return",i.components.map(h));case 7:return t.abrupt("return",void 0);case 8:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()},C=function(e){return function(){var t=c(a().mark((function t(r,n,o){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/dashboard/"+r+"/studio-component",method:"post",body:{component_id:n,position:o}});case 2:return t.abrupt("return",200==t.sent.status);case 5:case"end":return t.stop()}}),t)})));return function(e,r,n){return t.apply(this,arguments)}}()},F=function(e){return function(){var t=c(a().mark((function t(r,n){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e({path:"/api/dashboard/"+r+"/studio-component/remove",method:"post",body:{position:n}});case 2:return t.abrupt("return",200==t.sent.status);case 5:case"end":return t.stop()}}),t)})));return function(e,r){return t.apply(this,arguments)}}()},E=function(e){return function(){var t=c(a().mark((function t(r){var n,o,u;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.authToken?{auth:"Bearer "+e.authToken}:{},o=r.headers||{},t.next=4,i(""+e.host+r.path,{method:r.method,headers:l({"Content-Type":"application/json",Accept:"application/json"},n,o),redirect:"follow",referrerPolicy:"no-referrer",body:r.body?JSON.stringify(r.body):null,signal:r.abortSignal});case 4:return u=t.sent,t.next=7,u.json();case 7:return t.abrupt("return",{body:t.sent,status:u.status});case 9:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},O=function(e,t){return e&&!n.isEmpty(e)||(e=[[]]),[].concat(e).map((function(e){return[].concat(e,t)}))},L=function(e,t,r,n,o,i,u){var a={measure:e,order:t,filter:r,dimension:n,timeDimension:o,limit:i,secureFilter:u||[]};return k(a)?a:null},k=function(e){return null!==e&&!n.isEmpty(e.measure)},S=function(e,t){return l({},e,{secureFilter:t})},P=function(e,r,o,i,u){var s=u.secureFilterExamples,p=u.secureFilterCallback,f=u.localFilters;(r=r.map((function(e){return function(e,t){return function(e,t){return n.isEmpty(e.filter)&&(e.filter=[[]]),l({},e,{filter:O(e.filter,t)})}(e,t.map((function(e){return{field:e.field,op:e.op,value:e.exampleValue}})))}(e,s||[])})))[0]&&(r[0].filter=O(r[0].filter,Object.values(f||{}))),t.useEffect((function(){var t=new AbortController,u=function(){var n=c(a().mark((function n(){var u,s,c;return a().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:if(u=[],!p){n.next=6;break}return n.next=4,p();case 4:(s=n.sent)&&(u=[].concat(s));case 6:return r=r.map((function(e){return S(e,u)})),n.next=9,e.createQueryResult(o,r,t.signal);case 9:(c=n.sent)&&i(c,r);case 11:case"end":return n.stop()}}),n)})));return function(){return n.apply(this,arguments)}}();return o&&!n.isEmpty(r)&&u(),function(){t.abort()}}),[JSON.stringify(o),JSON.stringify(r)])},j=function(e){if(!e)return null;var t=E(e);return{config:e,getComponent:y(t),createQueryResult:x(t),getStudioComponents:w(t),addComponentToDashboard:C(t),removeComponentFromDashboard:F(t)}},q=require("../package.json").version,_=function(){throw"Function not initialised."},D=r.createContext({component:null,version:null,apiConfig:null,results:[],queries:[],localFilters:{},setLocalFilters:_,setResults:_,setQueries:_,setProps:_,setStyleProps:_,setTitle:_,setChartType:_,setDescription:_,setLibraryVersion:_,setVersion:_,setSavedAt:_,setSecureFilters:_}),V=function(e){var o=e.children,i=e.apiConfig,u=e.componentId,s=r.useState({apiConfig:i,results:[],queries:[],localFilters:{},component:null,version:null}),p=s[0],f=s[1];t.useEffect((function(){!function(){var e=c(a().mark((function e(){var t,r,o;return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,null==(t=j(i))?void 0:t.getComponent(u);case 2:(r=e.sent)&&(o=m(r),n.isEmpty(null==o?void 0:o.secureFilters),f(l({},p,{queries:[],results:[],component:r,version:o||null})));case 4:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}()()}),[u]);var d=l({},p,{setChartType:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],version:l({},e.version,{type:r})}))}(p,f,e)},setDescription:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{description:r})}))}(p,f,e)},setTitle:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{title:r})}))}(p,f,e)},setLibraryVersion:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],version:l({},e.version,{libraryVersion:r})}))}(p,f,e)},setProps:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],version:l({},e.version,{props:l({},r)})}))}(p,f,e)},setStyleProps:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{props:l({},r)})}))}(p,f,e)},setResults:function(e,t){return function(e,t,r,n){t(l({},e,{results:r,queries:n}))}(p,f,e,t)},setQueries:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[].concat(r)}))}(p,f,e)},setVersion:function(e){return function(e,t,r){t(l({},e,{version:r,results:[],queries:[]}))}(p,f,e)},setSavedAt:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{savedAt:r})}))}(p,f,e)},setSecureFilters:function(e){return function(e,t,r){t(l({},e,{version:l({},e.version,{secureFilters:r}),results:[],queries:[]}))}(p,f,e)},setLocalFilters:function(e){return function(e,t,r){t(l({},e,{results:[],queries:[],localFilters:r}))}(p,f,e)}});return r.createElement(D.Provider,{value:d},o)},T=function(){return r.useContext(D)},I=function(){return r.useContext(D)},N=function(){return r.useContext(D)},A=function(){return r.useContext(D)},R=function(){return r.useContext(D)},M=function(e){return[].concat(e).map((function(e){var t=e.field;return L([{field:t,aggregate:"distinct"}],[{field:t,direction:"asc",aggregate:"none"}],[],[t],null,1500,[])}))},Q=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],u=[];r.xMeasure&&u.push(r.xMeasure),r.yMeasure&&u.push(r.yMeasure);var a=L(u,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(a)?[a].concat(i):[],t,n,o)},G=function(e){return null!=e&&NaN!=e&&null!=e},J=function(e,t,r,o){return e&&r[1]?l({},e,{components:[].concat(e.components).map((function(e,i){if("selectFilter"==e.type)return function(e,t,r,o,i){var u,a=n.findIndex(o[1+t].fields,(function(t){return t.title==e.field})),s=o[1].content.map((function(e){return e[a]}));return l({},e,{currentValue:null==(u=r[t])?void 0:u.value,options:s.map((function(e){return{value:e,label:e}})),onChange:function(e){var n=l({},r);G(e.value)?n[t]=e:delete n[t],i.setLocalFilters(n)}})}(e,i,t,r,o);if("dateTimeFilter"==e.type)return function(e,t,r,n){return l({},e,{onChange:function(e){var o=l({},r);G(e.value)?o[t]=e:delete o[t],n.setLocalFilters(o)}})}(e,i,t,o);throw"Did not recognise add on component"}))}):null},z=function(e){var t=A(),i=t.apiConfig,u=t.setResults,a=t.component,s=t.results,c=t.queries,l=t.version,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==l?void 0:l.props,o.Components.LineChartView.defaultProps);if(Q(i,null==a?void 0:a.id,d,u,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(s))return null;var h=J(d.addOns,p,s,{setLocalFilters:f});return r.createElement(o.Components.ScatterChartView,Object.assign({},d,{addOns:h,result:s[0],query:c[0]}))},B=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],u=L(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(u)?[u].concat(i):[],t,n,o)},K=function(e){var t=I(),i=t.apiConfig,u=t.results,a=t.component,s=t.queries,c=t.version,l=t.setResults,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==c?void 0:c.props,o.Components.LineChartView.defaultProps);if(B(i,null==a?void 0:a.id,d,l,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(u))return null;var h=J(d.addOns,p,u,{setLocalFilters:f});return r.createElement(o.Components.BarChartView,Object.assign({},d,{addOns:h,result:u[0],query:s[0]}))},U=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],u=L(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(u)?[u].concat(i):[],t,n,o)},W=function(e){var t=T(),i=t.apiConfig,u=t.results,a=t.queries,s=t.version,c=t.component,l=t.setResults,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==s?void 0:s.props,o.Components.LineChartView.defaultProps);if(U(i,null==c?void 0:c.id,d,l,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(u))return null;var h=J(d.addOns,p,u,{setLocalFilters:f});return r.createElement(o.Components.LineChartView,Object.assign({},d,{addOns:h,result:u[0],query:a[0]}))},Y=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],u=L(r.measure,r.order,r.filter,r.dimension,null,r.limit);P(j(e),k(u)?[u].concat(i):[],t,n,o)},Z=function(e){var t=R(),i=t.apiConfig,u=t.component,a=t.setResults,s=t.results,c=t.queries,l=t.version,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==l?void 0:l.props,o.Components.LineChartView.defaultProps);if(Y(i,null==u?void 0:u.id,d,a,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(s))return null;var h=J(d.addOns,p,s,{setLocalFilters:f});return r.createElement(o.Components.PieChartView,Object.assign({},d,{addOns:h,result:s[0],query:c[0]}))},H=function(e,t,r,n,o){var i=r.addOns?M(r.addOns.components):[],u=L(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);P(j(e),k(u)?[u].concat(i):[],t,n,o)},X=function(e){var t=N(),i=t.apiConfig,u=t.component,a=t.setResults,s=t.results,c=t.queries,l=t.version,p=t.localFilters,f=t.setLocalFilters,d=o.mergeProps(e,null==l?void 0:l.props,o.Components.LineChartView.defaultProps);if(H(i,null==u?void 0:u.id,d,a,{secureFilterCallback:e.secureFilterCallback,localFilters:p}),n.isEmpty(s))return null;var h=J(d.addOns,p,s,{setLocalFilters:f});return r.createElement(o.Components.AreaChartView,Object.assign({},d,{addOns:h,result:s[0],query:c[0]}))},$=function(e){if("scatterChart"==e.type)return r.createElement(z,Object.assign({},e.componentProps));if("barChart"==e.type)return r.createElement(K,Object.assign({},e.componentProps));if("areaChart"==e.type)return r.createElement(X,Object.assign({},e.componentProps));if("lineChart"==e.type)return r.createElement(W,Object.assign({},e.componentProps));if("pieChart"==e.type)return r.createElement(Z,Object.assign({},e.componentProps));throw"Unsupported component in generic component."},ee=["lineChart","barChart","areaChart"],te=function(e,t){var r="",o=t.measure,i=t.dimension,u=t.timeDimension;return o[0]&&i&&(r=n.capitalize(o[0].aggregate)+" of '"+f(o[0].field)+"'",i&&(r+=", grouped by '"+i+"'"),u&&(r+=", on a "+function(e){if("day"==e)return"daily";if("month"==e)return"monthly";if("year"==e)return"annually";if("second"==e)return"per second";if("hour"==e)return"per hour";if("minute"==e)return"per minute";throw"Unsupported titme truncate value."}(u.truncate)+" basis.")),r},re=function(e,t){return ee.includes(e)?te(0,t):"scatterChart"==e?function(e){var t="",r=e.xMeasure,o=e.yMeasure,i=e.dimension;return r&&o&&(t=n.capitalize(r.aggregate)+" of '"+f(r.field)+"' by "+o.aggregate+" of '"+f(o.field)+"'",i&&(t+=", grouped by '"+i+"'.")),t}(t):"pieChart"==e?te(0,t):(console.warn("Summary requested for unsupported component "+e+"."),"")},ne=function(){var e=c(a().mark((function e(t,r,n,o){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=!r,e.t0){e.next=8;break}if(e.t1=r,!e.t1){e.next=7;break}return e.next=6,null==t?void 0:t.addComponentToDashboard(r,o,n);case 6:e.t1=e.sent;case 7:e.t0=e.t1;case 8:return e.abrupt("return",e.t0);case 9:case"end":return e.stop()}}),e)})));return function(t,r,n,o){return e.apply(this,arguments)}}(),oe=function(){var e=c(a().mark((function e(t,r,n){return a().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(e.t0=!r,e.t0){e.next=5;break}return e.next=4,t.removeComponentFromDashboard(r,n);case 4:e.t0=e.sent;case 5:return e.abrupt("return",e.t0);case 6:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}();function ie(e,t){return new Date(e.getTime()+6e4*t)}var ue=function(e){return function(){var t=c(a().mark((function t(r){var n,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=e.privateKey,t.next=3,u.JWK.asKey(n,"pem");case 3:return o=t.sent,t.next=6,u.JWS.createSign({alg:"ES256",format:"compact"},o).update(JSON.stringify(r),"utf8").final();case 6:return t.abrupt("return",t.sent);case 8:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()},ae=function(e){return c(a().mark((function t(){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ue(e)({expires:ie(new Date,e.ttlInMinutes).toISOString()});case 2:return t.abrupt("return",t.sent);case 3:case"end":return t.stop()}}),t)})))},se=function(e){return function(){var t=c(a().mark((function t(r){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,ue(e)({filter:r,expires:ie(new Date,e.ttlInMinutes).toISOString()});case 2:return t.abrupt("return",t.sent);case 4:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}()};exports.AreaChart=X,exports.BarChart=K,exports.ComponentContextProvider=V,exports.LineChart=W,exports.ScatterChart=z,exports.Studio=function(e){var i,u,s=e.organisationId,p=e.studioComponentsTag,f=e.apiConfig,d=j(f),h=function(e,n,o){var i=t.useState(null),u=i[0],s=i[1];return r.useEffect((function(){u||function(){var t=c(a().mark((function t(){var r;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getStudioComponents(n,o);case 2:(r=v(r=t.sent,q))&&s(r);case 5:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()()}),[n,o]),u}(d,s,p),y=function(e,n){var o=r.useState(null),i=o[0],u=o[1];return t.useEffect((function(){n&&function(){var t=c(a().mark((function t(){return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,e.getDashboard();case 2:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()()}),[n]),{dashboard:i,setComponents:function(e){u(l({},i,{components:e}))}}}(d,e.dashboardId),g=y.dashboard,x=y.setComponents,b=t.useState(null),w=b[0],C=b[1],F=null!=w,E=n.mapValues(l({},null==g?void 0:g.components),(function(e){var t=m(e);return function(){return r.createElement(r.Fragment,null,r.createElement(V,{componentId:e.id,apiConfig:f},r.createElement($,{type:null==t?void 0:t.type,componentProps:null==t?void 0:t.props})))}}));return h?r.createElement(o.Components.StudioView,{onRemove:(u=c(a().mark((function t(r){var n;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return n=l({},null==g?void 0:g.components),t.next=3,oe(d,e.dashboardId,r);case 3:t.sent&&(delete n[r],x(n));case 5:case"end":return t.stop()}}),t)}))),function(e){return u.apply(this,arguments)}),onSelectComponent:(i=c(a().mark((function t(r){var n,o;return a().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!w){t.next=6;break}return n=h[r],t.next=4,ne(d,e.dashboardId,w,n.id);case 4:t.sent&&(x(l({},null==g?void 0:g.components,((o={})[w]=n,o))),C(null));case 6:case"end":return t.stop()}}),t)}))),function(e){return i.apply(this,arguments)}),onSelectComponentPlaceholder:C,componentOptions:[].concat(h).map((function(e){var t=m(e);return{title:null==t?void 0:t.title,summary:re(null==t?void 0:t.type,null==t?void 0:t.props),type:null==t?void 0:t.type}})),templateRenderCallbacks:E,showDrawer:F,onCloseDrawer:function(){return C(null)},templateId:"demo"}):null},exports.auth=function(e){return{accessToken:ae(e),signFilter:se(e)}},exports.componentSummary=re,exports.createQueryResult=x,exports.httpClient=E,exports.hydrateAddOns=J,exports.useAreaChart=N,exports.useAreaChartQueryEffect=H,exports.useBarChart=I,exports.useBarChartQueryEffect=B,exports.useComponentContext=function(){return r.useContext(D)},exports.useLineChart=T,exports.useLineChartQueryEffect=U,exports.usePieChart=R,exports.usePieChartQueryEffect=Y,exports.useScatterChart=A,exports.useScatterChartQueryEffect=Q; | ||
//# sourceMappingURL=components.cjs.production.min.js.map |
@@ -1270,2 +1270,9 @@ import React, { useEffect, useState } from 'react'; | ||
var isTruthy = function isTruthy(value) { | ||
if (value == null) return false; | ||
if (value == NaN) return false; | ||
if (value == undefined) return false; | ||
return true; | ||
}; | ||
var hydrateSelectFilterAddOn = function hydrateSelectFilterAddOn(component, componentIndex, localFilters, results, callbacks) { | ||
@@ -1280,3 +1287,3 @@ var _localFilters$compone; | ||
}); | ||
return _extends({}, component, component, { | ||
return _extends({}, component, { | ||
currentValue: (_localFilters$compone = localFilters[componentIndex]) == null ? void 0 : _localFilters$compone.value, | ||
@@ -1292,6 +1299,22 @@ options: optionValues.map(function (value) { | ||
if (filter.value == null || filter.value == NaN || filter.value == undefined) { | ||
if (isTruthy(filter.value)) { | ||
newFilters[componentIndex] = filter; | ||
} else { | ||
delete newFilters[componentIndex]; | ||
} | ||
callbacks.setLocalFilters(newFilters); | ||
} | ||
}); | ||
}; | ||
var hydrateDateTimeFilterAddOn = function hydrateDateTimeFilterAddOn(component, componentIndex, localFilters, callbacks) { | ||
return _extends({}, component, { | ||
onChange: function onChange(filter) { | ||
var newFilters = _extends({}, localFilters); | ||
if (isTruthy(filter.value)) { | ||
newFilters[componentIndex] = filter; | ||
} else { | ||
newFilters[componentIndex] = filter; | ||
delete newFilters[componentIndex]; | ||
} | ||
@@ -1312,3 +1335,7 @@ | ||
throw "Did not recognise add on component " + component.type; | ||
if (component.type == 'dateTimeFilter') { | ||
return hydrateDateTimeFilterAddOn(component, componentIndex, localFilters, callbacks); | ||
} | ||
throw "Did not recognise add on component"; | ||
}) | ||
@@ -1315,0 +1342,0 @@ }); |
@@ -9,3 +9,3 @@ import { VizzlyPuppet } from '@vizzly/puppet'; | ||
declare const hydrateAddOns: (addOns: VizzlyPuppet.AddOns.Wrapper | null, localFilters: LocalFilters, results: VizzlyPuppet.Result[], callbacks: Callbacks) => { | ||
components: { | ||
components: ({ | ||
currentValue: any; | ||
@@ -25,3 +25,13 @@ options: { | ||
fontStyle: "normal" | "italic" | "oblique" | "initial" | "inherit"; | ||
}[]; | ||
} | { | ||
onChange: (filter: VizzlyPuppet.Query.Filter) => void; | ||
type: "dateTimeFilter"; | ||
field: string | null; | ||
xPadding: number; | ||
yPadding: number; | ||
fontColor: string; | ||
fontFamily: string; | ||
fontSize: number; | ||
fontStyle: "normal" | "italic" | "oblique" | "initial" | "inherit"; | ||
})[]; | ||
position: "underHeading" | "topRight"; | ||
@@ -28,0 +38,0 @@ align: "start" | "end" | "center"; |
{ | ||
"name": "@vizzly/components", | ||
"author": "James Bowers", | ||
"version": "0.0.112", | ||
"version": "0.0.113", | ||
"license": "MIT", | ||
@@ -78,3 +78,3 @@ "main": "dist/index.js", | ||
"@types/node-jose": "^1.1.10", | ||
"@vizzly/puppet": "0.0.77", | ||
"@vizzly/puppet": "0.0.79", | ||
"isomorphic-fetch": "^3.0.0", | ||
@@ -81,0 +81,0 @@ "lodash": "^4.17.21", |
@@ -14,4 +14,12 @@ import { VizzlyPuppet } from '@vizzly/puppet'; | ||
const isTruthy = (value: any) => { | ||
if (value == null) return false; | ||
if (value == NaN) return false; | ||
if (value == undefined) return false; | ||
return true; | ||
}; | ||
const hydrateSelectFilterAddOn = ( | ||
component: VizzlyPuppet.AddOns.AddOn, | ||
component: VizzlyPuppet.AddOns.SelectFilter.Props, | ||
componentIndex: number, | ||
@@ -30,4 +38,2 @@ localFilters: LocalFilters, | ||
...component, | ||
...component, | ||
currentValue: localFilters[componentIndex]?.value, | ||
@@ -41,10 +47,28 @@ options: optionValues.map((value) => ({ | ||
if ( | ||
filter.value == null || | ||
filter.value == NaN || | ||
filter.value == undefined | ||
) { | ||
if (isTruthy(filter.value)) { | ||
newFilters[componentIndex] = filter; | ||
} else { | ||
delete newFilters[componentIndex]; | ||
} | ||
callbacks.setLocalFilters(newFilters); | ||
}, | ||
}; | ||
}; | ||
const hydrateDateTimeFilterAddOn = ( | ||
component: VizzlyPuppet.AddOns.DateTimeFilter.Props, | ||
componentIndex: number, | ||
localFilters: LocalFilters, | ||
callbacks: Callbacks | ||
) => { | ||
return { | ||
...component, | ||
onChange: (filter: VizzlyPuppet.Query.Filter) => { | ||
let newFilters = { ...localFilters }; | ||
if (isTruthy(filter.value)) { | ||
newFilters[componentIndex] = filter; | ||
} else { | ||
newFilters[componentIndex] = filter; | ||
delete newFilters[componentIndex]; | ||
} | ||
@@ -78,3 +102,12 @@ | ||
throw `Did not recognise add on component ${component.type}`; | ||
if (component.type == 'dateTimeFilter') { | ||
return hydrateDateTimeFilterAddOn( | ||
component as any, | ||
componentIndex, | ||
localFilters, | ||
callbacks | ||
); | ||
} | ||
throw `Did not recognise add on component`; | ||
}), | ||
@@ -81,0 +114,0 @@ }; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
490826
1.39%5599
1.5%Updated