@vizzly/components
Advanced tools
Comparing version 0.0.68 to 0.0.69
import { VizzlyPuppet } from '@vizzly/puppet'; | ||
import { VizzlyComponents } from '../types'; | ||
import * as Result from '../models/Result'; | ||
export declare const useQueryEffect: (api: any, queries: VizzlyPuppet.Query[], component: VizzlyComponents.Component | null, onResultsCallback: (results: VizzlyPuppet.Result[], queries: VizzlyPuppet.Query[]) => void) => void; |
@@ -570,2 +570,20 @@ 'use strict'; | ||
var findTimeDimensionFieldIndex = function findTimeDimensionFieldIndex(resultFields, fieldTitle) { | ||
return resultFields.findIndex(function (resultField) { | ||
return resultField.title == fieldTitle; | ||
}); | ||
}; | ||
var bucketFill = function bucketFill(result, timeDimension) { | ||
var numOfValuesInResult = result.fields.length; | ||
var emptyRow = Array.apply(null, Array(numOfValuesInResult)).map(function () { | ||
return null; | ||
}); | ||
var timeDimensionFieldIndex = findTimeDimensionFieldIndex(result.fields, timeDimension.field); | ||
// Go over the result.content array, and populate | ||
// | ||
return result; | ||
}; | ||
var createQueryResult = function createQueryResult(httpClient) { | ||
@@ -704,5 +722,18 @@ return /*#__PURE__*/function () { | ||
results = _context.sent; | ||
// if query is asking to bucket fill results | ||
// then do that here? | ||
results = results.map(function (result, index) { | ||
var _query$timeDimension; | ||
var query = queries[index]; | ||
if ((_query$timeDimension = query.timeDimension) != null && _query$timeDimension.bucketFill) { | ||
return bucketFill(result, query.timeDimension); | ||
} else { | ||
return result; | ||
} | ||
}); | ||
results && onResultsCallback(results, queries); | ||
case 4: | ||
case 5: | ||
case "end": | ||
@@ -709,0 +740,0 @@ return _context.stop(); |
@@ -1,2 +0,2 @@ | ||
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=t(e),n=require("@vizzly/puppet"),o=require("lodash"),i=t(require("isomorphic-fetch"));function u(){u=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,n){var o=Object.create((e&&e.prototype instanceof p?e:p).prototype),i=new L(n||[]);return o._invoke=function(t,e,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=b(u,r);if(a){if(a===l)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=f(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===l)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(t,r,i),o}function f(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var l={};function p(){}function h(){}function d(){}var v={};s(v,o,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&r.call(y,o)&&(v=y);var g=d.prototype=p.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){var n;this._invoke=function(o,i){function u(){return new e((function(n,u){!function n(o,i,u,a){var s=f(t[o],t,i);if("throw"!==s.type){var c=s.arg,l=c.value;return l&&"object"==typeof l&&r.call(l,"__await")?e.resolve(l.__await).then((function(t){n("next",t,u,a)}),(function(t){n("throw",t,u,a)})):e.resolve(l).then((function(t){c.value=t,u(c)}),(function(t){return n("throw",t,u,a)}))}a(s.arg)}(o,i,n,u)}))}return n=n?n.then(u,u):u()}}function b(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,b(t,e),"throw"===e.method))return l;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return l}var n=f(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,l;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,l):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,l)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:_}}function _(){return{value:void 0,done:!0}}return h.prototype=d,s(g,"constructor",d),s(d,"constructor",h),h.displayName=s(d,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,a,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},w(x.prototype),s(x.prototype,i,(function(){return this})),t.AsyncIterator=x,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var u=new x(c(e,r,n,o),i);return t.isGeneratorFunction(r)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},w(g),s(g,a,"Generator"),s(g,o,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=O,L.prototype={constructor:L,reset:function(t){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),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return u.type="throw",u.arg=t,e.next=r,n&&(e.method="next",e.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(t,e){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"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var u=i?i.completion:{};return u.type=t,u.arg=e,i?(this.method="next",this.next=i.finallyLoc,l):this.complete(u)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),l},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),l}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:O(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),l}},t}function a(t,e,r,n,o,i,u){try{var a=t[i](u),s=a.value}catch(t){return void r(t)}a.done?e(s):Promise.resolve(s).then(n,o)}function s(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,s,"next",t)}function s(t){a(i,n,o,u,s,"throw",t)}u(void 0)}))}}function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var f=function(t){return{id:t.id,dataType:t.type,title:t.title}},l=function(t){return{fields:[].concat(t.fields).map(f)}},p=function(t){var e=t.versions.map((function(t){return{type:t.frontend_context.type,title:t.title,description:t.description,props:t.frontend_context.props,libraryVersion:t.frontend_context.libraryVersion,secureFilters:t.secure_filters.map((function(t){return{field:t.field,op:t.operator}})),savedAt:t.inserted_at}}));return{id:t.id,dataSets:t.data_sets.map(l),versions:e}},h=function(t){return o.last(t.versions)},d=function(t){return function(){var e=s(u().mark((function e(r,n){var o,i;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({path:r,method:"get",headers:c({},n)});case 2:if(i=(o=e.sent).body,200!=o.status){e.next=7;break}return e.abrupt("return",i);case 7:return e.abrupt("return",void 0);case 8:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},v=function(t){return t.content=t.content.map((function(e){return e.map((function(e,r){return function(t,e){if(null===t)return null;switch(e){case"date_time":return new Date(t);case"number":case"string":return t;case"boolean":return!!t}throw"Cannot parse value of unrecognised type."}(e,t.fields[r].dataType)}))})),t},m=function(t){return function(){var e=s(u().mark((function e(r,n,o){var i,a;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({path:"/api/create-result",method:"post",body:{queries:n.map((function(t){return y(t,r)}))},abortSignal:o});case 2:if(a=(i=e.sent).body,200!=i.status){e.next=7;break}return e.abrupt("return",a.results.map(v));case 7:return e.abrupt("return",void 0);case 8:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}()},y=function(t,e){var r=t.timeDimension;return r&&(r=c({},r,{timeZone:n.Utils.DateTime.currentTimezone()})),c({},t,{componentId:e,timeDimension:r})},g=function(t,r,n,i){e.useEffect((function(){var e=new AbortController,a=function(){var o=s(u().mark((function o(){var a;return u().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.createQueryResult(null==n?void 0:n.id,r,e.signal);case 2:(a=o.sent)&&i(a,r);case 4:case"end":return o.stop()}}),o)})));return function(){return o.apply(this,arguments)}}();return n&&!o.isEmpty(r)&&a(),function(){e.abort()}}),[JSON.stringify(n),JSON.stringify(r)])},w=function(t){if(!t)return null;var e,r=function(t){return function(){var e=s(u().mark((function e(r){var n,o,a;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.authToken?{auth:"Bearer "+t.authToken}:{},o=r.headers||{},e.next=4,i(""+t.host+r.path,{method:r.method,headers:c({"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=e.sent,e.next=7,a.json();case 7:return e.abrupt("return",{body:e.sent,status:a.status});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}(t);return{config:t,getComponent:(e=r,function(){var t=s(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",p(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)}}()),getComponentAuth:d(r),createQueryResult:m(r)}},x=function(){throw"Function not initialised."},b=r.createContext({component:null,version:null,apiConfig:null,results:[],queries:[],setVersion:x,setResults:x,setProps:x}),C=function(){return r.useContext(b)},E=function(){return r.useContext(b)},L=function(){return r.useContext(b)},O=function(){return r.useContext(b)},_=function(t,e,r,n,o,i){var u={measure:t,order:e,filter:r,dimension:n,timeDimension:o,limit:i};return j(u)?u:null},j=function(t){return null!==t&&!o.isEmpty(t.measure)},P=function(t,e,r,n){var o=_(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);g(w(t),j(o)?[o]:[],e,n)},k=function(t,e,r,n){var o=_(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);g(w(t),j(o)?[o]:[],e,n)},S=function(t,e,r,n){var o=_(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);g(w(t),j(o)?[o]:[],e,n)},q=function(t,e,r,n){var o=[];r.xMeasure&&o.push(r.xMeasure),r.yMeasure&&o.push(r.yMeasure);var i=_(o,r.order,r.filter,r.dimension,r.timeDimension,r.limit);g(w(t),j(i)?[i]:[],e,n)};exports.AreaChart=function(t){var e=L(),i=e.apiConfig,u=e.component,a=e.setResults,s=e.results,c=e.queries,f=e.version,l=n.mergeProps(t,null==f?void 0:f.props,n.Components.LineChartView.defaultProps);return S(i,u,l,a),o.isEmpty(s)?null:r.createElement(n.Components.AreaChartView,Object.assign({},l,{result:s[0],query:c[0]}))},exports.BarChart=function(t){var e=E(),i=e.apiConfig,u=e.results,a=e.component,s=e.queries,c=e.version,f=e.setResults,l=n.mergeProps(t,null==c?void 0:c.props,n.Components.LineChartView.defaultProps);return k(i,a,l,f),o.isEmpty(u)?null:r.createElement(n.Components.BarChartView,Object.assign({},l,{result:u[0],query:s[0]}))},exports.ComponentContextProvider=function(t){var n=t.children,o=t.apiConfig,i=t.componentId,a=r.useState({apiConfig:o,results:[],queries:[],component:null,version:null}),f=a[0],l=a[1];e.useEffect((function(){!function(){var t=s(u().mark((function t(){var e,r,n;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,null==(e=w(o))?void 0:e.getComponent(i);case 2:(r=t.sent)&&(n=h(r),l(c({},f,{queries:[],results:[],component:r,version:n||null})));case 4:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()()}),[i]);var p=function(t){l(c({},f,{version:t}))},d=c({},f,{setVersion:p,setProps:function(t){p(c({},f.version,{props:t}))},setResults:function(t,e){return l(c({},f,{results:t,queries:e}))}});return r.createElement(b.Provider,{value:d},n)},exports.LineChart=function(t){var e=C(),i=e.apiConfig,u=e.results,a=e.queries,s=e.version,c=e.component,f=e.setResults,l=n.mergeProps(t,null==s?void 0:s.props,n.Components.LineChartView.defaultProps);return P(i,c,l,f),o.isEmpty(u)?null:r.createElement(n.Components.LineChartView,Object.assign({},l,{result:u[0],query:a[0]}))},exports.ScatterChart=function(t){var e=O(),i=e.apiConfig,u=e.setResults,a=e.component,s=e.results,c=e.queries,f=e.version,l=n.mergeProps(t,null==f?void 0:f.props,n.Components.LineChartView.defaultProps);return q(i,a,l,u),o.isEmpty(s)?null:r.createElement(n.Components.ScatterChartView,Object.assign({},l,{result:s[0],query:c[0]}))},exports.createQueryResult=m,exports.useAreaChart=L,exports.useAreaChartQueryEffect=S,exports.useBarChart=E,exports.useBarChartQueryEffect=k,exports.useComponentContext=function(){return r.useContext(b)},exports.useLineChart=C,exports.useLineChartQueryEffect=P,exports.useScatterChart=O,exports.useScatterChartQueryEffect=q; | ||
"use strict";function t(t){return t&&"object"==typeof t&&"default"in t?t.default:t}Object.defineProperty(exports,"__esModule",{value:!0});var e=require("react"),r=t(e),n=require("@vizzly/puppet"),o=require("lodash"),i=t(require("isomorphic-fetch"));function u(){u=function(){return t};var t={},e=Object.prototype,r=e.hasOwnProperty,n="function"==typeof Symbol?Symbol:{},o=n.iterator||"@@iterator",i=n.asyncIterator||"@@asyncIterator",a=n.toStringTag||"@@toStringTag";function s(t,e,r){return Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}),t[e]}try{s({},"")}catch(t){s=function(t,e,r){return t[e]=r}}function c(t,e,r,n){var o=Object.create((e&&e.prototype instanceof p?e:p).prototype),i=new L(n||[]);return o._invoke=function(t,e,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=b(u,r);if(a){if(a===f)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(t,e,r);if("normal"===s.type){if(n=r.done?"completed":"suspendedYield",s.arg===f)continue;return{value:s.arg,done:r.done}}"throw"===s.type&&(n="completed",r.method="throw",r.arg=s.arg)}}}(t,r,i),o}function l(t,e,r){try{return{type:"normal",arg:t.call(e,r)}}catch(t){return{type:"throw",arg:t}}}t.wrap=c;var f={};function p(){}function h(){}function d(){}var v={};s(v,o,(function(){return this}));var m=Object.getPrototypeOf,y=m&&m(m(O([])));y&&y!==e&&r.call(y,o)&&(v=y);var g=d.prototype=p.prototype=Object.create(v);function w(t){["next","throw","return"].forEach((function(e){s(t,e,(function(t){return this._invoke(e,t)}))}))}function x(t,e){var n;this._invoke=function(o,i){function u(){return new e((function(n,u){!function n(o,i,u,a){var s=l(t[o],t,i);if("throw"!==s.type){var c=s.arg,f=c.value;return f&&"object"==typeof f&&r.call(f,"__await")?e.resolve(f.__await).then((function(t){n("next",t,u,a)}),(function(t){n("throw",t,u,a)})):e.resolve(f).then((function(t){c.value=t,u(c)}),(function(t){return n("throw",t,u,a)}))}a(s.arg)}(o,i,n,u)}))}return n=n?n.then(u,u):u()}}function b(t,e){var r=t.iterator[e.method];if(void 0===r){if(e.delegate=null,"throw"===e.method){if(t.iterator.return&&(e.method="return",e.arg=void 0,b(t,e),"throw"===e.method))return f;e.method="throw",e.arg=new TypeError("The iterator does not provide a 'throw' method")}return f}var n=l(r,t.iterator,e.arg);if("throw"===n.type)return e.method="throw",e.arg=n.arg,e.delegate=null,f;var o=n.arg;return o?o.done?(e[t.resultName]=o.value,e.next=t.nextLoc,"return"!==e.method&&(e.method="next",e.arg=void 0),e.delegate=null,f):o:(e.method="throw",e.arg=new TypeError("iterator result is not an object"),e.delegate=null,f)}function C(t){var e={tryLoc:t[0]};1 in t&&(e.catchLoc=t[1]),2 in t&&(e.finallyLoc=t[2],e.afterLoc=t[3]),this.tryEntries.push(e)}function E(t){var e=t.completion||{};e.type="normal",delete e.arg,t.completion=e}function L(t){this.tryEntries=[{tryLoc:"root"}],t.forEach(C,this),this.reset(!0)}function O(t){if(t){var e=t[o];if(e)return e.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length)){var n=-1,i=function e(){for(;++n<t.length;)if(r.call(t,n))return e.value=t[n],e.done=!1,e;return e.value=void 0,e.done=!0,e};return i.next=i}}return{next:_}}function _(){return{value:void 0,done:!0}}return h.prototype=d,s(g,"constructor",d),s(d,"constructor",h),h.displayName=s(d,a,"GeneratorFunction"),t.isGeneratorFunction=function(t){var e="function"==typeof t&&t.constructor;return!!e&&(e===h||"GeneratorFunction"===(e.displayName||e.name))},t.mark=function(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,d):(t.__proto__=d,s(t,a,"GeneratorFunction")),t.prototype=Object.create(g),t},t.awrap=function(t){return{__await:t}},w(x.prototype),s(x.prototype,i,(function(){return this})),t.AsyncIterator=x,t.async=function(e,r,n,o,i){void 0===i&&(i=Promise);var u=new x(c(e,r,n,o),i);return t.isGeneratorFunction(r)?u:u.next().then((function(t){return t.done?t.value:u.next()}))},w(g),s(g,a,"Generator"),s(g,o,(function(){return this})),s(g,"toString",(function(){return"[object Generator]"})),t.keys=function(t){var e=[];for(var r in t)e.push(r);return e.reverse(),function r(){for(;e.length;){var n=e.pop();if(n in t)return r.value=n,r.done=!1,r}return r.done=!0,r}},t.values=O,L.prototype={constructor:L,reset:function(t){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),!t)for(var e in this)"t"===e.charAt(0)&&r.call(this,e)&&!isNaN(+e.slice(1))&&(this[e]=void 0)},stop:function(){this.done=!0;var t=this.tryEntries[0].completion;if("throw"===t.type)throw t.arg;return this.rval},dispatchException:function(t){if(this.done)throw t;var e=this;function n(r,n){return u.type="throw",u.arg=t,e.next=r,n&&(e.method="next",e.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(t,e){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"===t||"continue"===t)&&i.tryLoc<=e&&e<=i.finallyLoc&&(i=null);var u=i?i.completion:{};return u.type=t,u.arg=e,i?(this.method="next",this.next=i.finallyLoc,f):this.complete(u)},complete:function(t,e){if("throw"===t.type)throw t.arg;return"break"===t.type||"continue"===t.type?this.next=t.arg:"return"===t.type?(this.rval=this.arg=t.arg,this.method="return",this.next="end"):"normal"===t.type&&e&&(this.next=e),f},finish:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.finallyLoc===t)return this.complete(r.completion,r.afterLoc),E(r),f}},catch:function(t){for(var e=this.tryEntries.length-1;e>=0;--e){var r=this.tryEntries[e];if(r.tryLoc===t){var n=r.completion;if("throw"===n.type){var o=n.arg;E(r)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(t,e,r){return this.delegate={iterator:O(t),resultName:e,nextLoc:r},"next"===this.method&&(this.arg=void 0),f}},t}function a(t,e,r,n,o,i,u){try{var a=t[i](u),s=a.value}catch(t){return void r(t)}a.done?e(s):Promise.resolve(s).then(n,o)}function s(t){return function(){var e=this,r=arguments;return new Promise((function(n,o){var i=t.apply(e,r);function u(t){a(i,n,o,u,s,"next",t)}function s(t){a(i,n,o,u,s,"throw",t)}u(void 0)}))}}function c(){return(c=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t}).apply(this,arguments)}var l=function(t){return{id:t.id,dataType:t.type,title:t.title}},f=function(t){return{fields:[].concat(t.fields).map(l)}},p=function(t){var e=t.versions.map((function(t){return{type:t.frontend_context.type,title:t.title,description:t.description,props:t.frontend_context.props,libraryVersion:t.frontend_context.libraryVersion,secureFilters:t.secure_filters.map((function(t){return{field:t.field,op:t.operator}})),savedAt:t.inserted_at}}));return{id:t.id,dataSets:t.data_sets.map(f),versions:e}},h=function(t){return o.last(t.versions)},d=function(t){return function(){var e=s(u().mark((function e(r,n){var o,i;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({path:r,method:"get",headers:c({},n)});case 2:if(i=(o=e.sent).body,200!=o.status){e.next=7;break}return e.abrupt("return",i);case 7:return e.abrupt("return",void 0);case 8:case"end":return e.stop()}}),e)})));return function(t,r){return e.apply(this,arguments)}}()},v=function(t){return t.content=t.content.map((function(e){return e.map((function(e,r){return function(t,e){if(null===t)return null;switch(e){case"date_time":return new Date(t);case"number":case"string":return t;case"boolean":return!!t}throw"Cannot parse value of unrecognised type."}(e,t.fields[r].dataType)}))})),t},m=function(t,e){var r;return Array.apply(null,Array(t.fields.length)).map((function(){return null})),r=e.field,t.fields.findIndex((function(t){return t.title==r})),t},y=function(t){return function(){var e=s(u().mark((function e(r,n,o){var i,a;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,t({path:"/api/create-result",method:"post",body:{queries:n.map((function(t){return g(t,r)}))},abortSignal:o});case 2:if(a=(i=e.sent).body,200!=i.status){e.next=7;break}return e.abrupt("return",a.results.map(v));case 7:return e.abrupt("return",void 0);case 8:case"end":return e.stop()}}),e)})));return function(t,r,n){return e.apply(this,arguments)}}()},g=function(t,e){var r=t.timeDimension;return r&&(r=c({},r,{timeZone:n.Utils.DateTime.currentTimezone()})),c({},t,{componentId:e,timeDimension:r})},w=function(t,r,n,i){e.useEffect((function(){var e=new AbortController,a=function(){var o=s(u().mark((function o(){var a;return u().wrap((function(o){for(;;)switch(o.prev=o.next){case 0:return o.next=2,t.createQueryResult(null==n?void 0:n.id,r,e.signal);case 2:(a=(a=o.sent).map((function(t,e){var n,o=r[e];return null!=(n=o.timeDimension)&&n.bucketFill?m(t,o.timeDimension):t})))&&i(a,r);case 5:case"end":return o.stop()}}),o)})));return function(){return o.apply(this,arguments)}}();return n&&!o.isEmpty(r)&&a(),function(){e.abort()}}),[JSON.stringify(n),JSON.stringify(r)])},x=function(t){if(!t)return null;var e,r=function(t){return function(){var e=s(u().mark((function e(r){var n,o,a;return u().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=t.authToken?{auth:"Bearer "+t.authToken}:{},o=r.headers||{},e.next=4,i(""+t.host+r.path,{method:r.method,headers:c({"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=e.sent,e.next=7,a.json();case 7:return e.abrupt("return",{body:e.sent,status:a.status});case 9:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()}(t);return{config:t,getComponent:(e=r,function(){var t=s(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",p(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)}}()),getComponentAuth:d(r),createQueryResult:y(r)}},b=function(){throw"Function not initialised."},C=r.createContext({component:null,version:null,apiConfig:null,results:[],queries:[],setVersion:b,setResults:b,setProps:b}),E=function(){return r.useContext(C)},L=function(){return r.useContext(C)},O=function(){return r.useContext(C)},_=function(){return r.useContext(C)},j=function(t,e,r,n,o,i){var u={measure:t,order:e,filter:r,dimension:n,timeDimension:o,limit:i};return P(u)?u:null},P=function(t){return null!==t&&!o.isEmpty(t.measure)},k=function(t,e,r,n){var o=j(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);w(x(t),P(o)?[o]:[],e,n)},S=function(t,e,r,n){var o=j(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);w(x(t),P(o)?[o]:[],e,n)},q=function(t,e,r,n){var o=j(r.measure,r.order,r.filter,r.dimension,r.timeDimension,r.limit);w(x(t),P(o)?[o]:[],e,n)},A=function(t,e,r,n){var o=[];r.xMeasure&&o.push(r.xMeasure),r.yMeasure&&o.push(r.yMeasure);var i=j(o,r.order,r.filter,r.dimension,r.timeDimension,r.limit);w(x(t),P(i)?[i]:[],e,n)};exports.AreaChart=function(t){var e=O(),i=e.apiConfig,u=e.component,a=e.setResults,s=e.results,c=e.queries,l=e.version,f=n.mergeProps(t,null==l?void 0:l.props,n.Components.LineChartView.defaultProps);return q(i,u,f,a),o.isEmpty(s)?null:r.createElement(n.Components.AreaChartView,Object.assign({},f,{result:s[0],query:c[0]}))},exports.BarChart=function(t){var e=L(),i=e.apiConfig,u=e.results,a=e.component,s=e.queries,c=e.version,l=e.setResults,f=n.mergeProps(t,null==c?void 0:c.props,n.Components.LineChartView.defaultProps);return S(i,a,f,l),o.isEmpty(u)?null:r.createElement(n.Components.BarChartView,Object.assign({},f,{result:u[0],query:s[0]}))},exports.ComponentContextProvider=function(t){var n=t.children,o=t.apiConfig,i=t.componentId,a=r.useState({apiConfig:o,results:[],queries:[],component:null,version:null}),l=a[0],f=a[1];e.useEffect((function(){!function(){var t=s(u().mark((function t(){var e,r,n;return u().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,null==(e=x(o))?void 0:e.getComponent(i);case 2:(r=t.sent)&&(n=h(r),f(c({},l,{queries:[],results:[],component:r,version:n||null})));case 4:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}()()}),[i]);var p=function(t){f(c({},l,{version:t}))},d=c({},l,{setVersion:p,setProps:function(t){p(c({},l.version,{props:t}))},setResults:function(t,e){return f(c({},l,{results:t,queries:e}))}});return r.createElement(C.Provider,{value:d},n)},exports.LineChart=function(t){var e=E(),i=e.apiConfig,u=e.results,a=e.queries,s=e.version,c=e.component,l=e.setResults,f=n.mergeProps(t,null==s?void 0:s.props,n.Components.LineChartView.defaultProps);return k(i,c,f,l),o.isEmpty(u)?null:r.createElement(n.Components.LineChartView,Object.assign({},f,{result:u[0],query:a[0]}))},exports.ScatterChart=function(t){var e=_(),i=e.apiConfig,u=e.setResults,a=e.component,s=e.results,c=e.queries,l=e.version,f=n.mergeProps(t,null==l?void 0:l.props,n.Components.LineChartView.defaultProps);return A(i,a,f,u),o.isEmpty(s)?null:r.createElement(n.Components.ScatterChartView,Object.assign({},f,{result:s[0],query:c[0]}))},exports.createQueryResult=y,exports.useAreaChart=O,exports.useAreaChartQueryEffect=q,exports.useBarChart=L,exports.useBarChartQueryEffect=S,exports.useComponentContext=function(){return r.useContext(C)},exports.useLineChart=E,exports.useLineChartQueryEffect=k,exports.useScatterChart=_,exports.useScatterChartQueryEffect=A; | ||
//# sourceMappingURL=components.cjs.production.min.js.map |
@@ -563,2 +563,20 @@ import React, { useEffect } from 'react'; | ||
var findTimeDimensionFieldIndex = function findTimeDimensionFieldIndex(resultFields, fieldTitle) { | ||
return resultFields.findIndex(function (resultField) { | ||
return resultField.title == fieldTitle; | ||
}); | ||
}; | ||
var bucketFill = function bucketFill(result, timeDimension) { | ||
var numOfValuesInResult = result.fields.length; | ||
var emptyRow = Array.apply(null, Array(numOfValuesInResult)).map(function () { | ||
return null; | ||
}); | ||
var timeDimensionFieldIndex = findTimeDimensionFieldIndex(result.fields, timeDimension.field); | ||
// Go over the result.content array, and populate | ||
// | ||
return result; | ||
}; | ||
var createQueryResult = function createQueryResult(httpClient) { | ||
@@ -697,5 +715,18 @@ return /*#__PURE__*/function () { | ||
results = _context.sent; | ||
// if query is asking to bucket fill results | ||
// then do that here? | ||
results = results.map(function (result, index) { | ||
var _query$timeDimension; | ||
var query = queries[index]; | ||
if ((_query$timeDimension = query.timeDimension) != null && _query$timeDimension.bucketFill) { | ||
return bucketFill(result, query.timeDimension); | ||
} else { | ||
return result; | ||
} | ||
}); | ||
results && onResultsCallback(results, queries); | ||
case 4: | ||
case 5: | ||
case "end": | ||
@@ -702,0 +733,0 @@ return _context.stop(); |
import { VizzlyPuppet } from '@vizzly/puppet'; | ||
export declare const fromRaw: (result: VizzlyPuppet.Result) => VizzlyPuppet.Result; | ||
export declare const bucketFill: (result: VizzlyPuppet.Result, timeDimension: VizzlyPuppet.Query.TimeDimension) => VizzlyPuppet.Result; |
{ | ||
"name": "@vizzly/components", | ||
"author": "James Bowers", | ||
"version": "0.0.68", | ||
"version": "0.0.69", | ||
"license": "MIT", | ||
@@ -77,3 +77,3 @@ "main": "dist/index.js", | ||
"dependencies": { | ||
"@vizzly/puppet": "0.0.21", | ||
"@vizzly/puppet": "0.0.24", | ||
"isomorphic-fetch": "^3.0.0", | ||
@@ -80,0 +80,0 @@ "lodash": "^4.17.21" |
@@ -5,2 +5,3 @@ import { isEmpty } from 'lodash'; | ||
import { VizzlyComponents } from '../types'; | ||
import * as Result from '../models/Result'; | ||
@@ -21,3 +22,3 @@ export const useQueryEffect = ( | ||
const fetch = async () => { | ||
const results = await api.createQueryResult( | ||
let results = await api.createQueryResult( | ||
component?.id, | ||
@@ -28,2 +29,14 @@ queries, | ||
// if query is asking to bucket fill results | ||
// then do that here? | ||
results = results.map((result: VizzlyPuppet.Result, index: number) => { | ||
const query = queries[index]; | ||
if (query.timeDimension?.bucketFill) { | ||
return Result.bucketFill(result, query.timeDimension); | ||
} else { | ||
return result; | ||
} | ||
}); | ||
results && onResultsCallback(results, queries); | ||
@@ -30,0 +43,0 @@ }; |
@@ -15,1 +15,39 @@ import { VizzlyPuppet } from '@vizzly/puppet'; | ||
}; | ||
const findTimeDimensionFieldIndex = ( | ||
resultFields: VizzlyPuppet.Result.Field[], | ||
fieldTitle: VizzlyPuppet.Query.Field | ||
): number => { | ||
return resultFields.findIndex( | ||
(resultField: VizzlyPuppet.Result.Field) => resultField.title == fieldTitle | ||
); | ||
}; | ||
export const bucketFill = ( | ||
result: VizzlyPuppet.Result, | ||
timeDimension: VizzlyPuppet.Query.TimeDimension | ||
): VizzlyPuppet.Result => { | ||
const numOfValuesInResult = result.fields.length; | ||
const emptyRow: any[] = Array.apply(null, Array(numOfValuesInResult)).map( | ||
() => null | ||
); | ||
const timeDimensionFieldIndex = findTimeDimensionFieldIndex( | ||
result.fields, | ||
timeDimension.field | ||
); | ||
const buildEmptyRowWithDateTime = (insertingDate: Date) => { | ||
const newRow = [...emptyRow]; | ||
newRow[timeDimensionFieldIndex] = insertingDate; | ||
return newRow; | ||
}; | ||
buildEmptyRowWithDateTime(new Date()) | ||
// TODO | ||
// Go over the result.content array, and populate | ||
// | ||
return result; | ||
}; |
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
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
230196
2715
Updated@vizzly/puppet@0.0.24