turnilo
Version:
Business intelligence, data exploration and visualization web application for Druid, formerly known as Swiv and Pivot
2 lines • 30.7 kB
JavaScript
(window.webpackJsonp=window.webpackJsonp||[]).push([[5],{480:function(e,t,n){"use strict";n.d(t,"d",(function(){return c})),n.d(t,"e",(function(){return s})),n.d(t,"a",(function(){return i})),n.d(t,"f",(function(){return o})),n.d(t,"b",(function(){return l})),n.d(t,"c",(function(){return u}));var a=n(18),r=n(6);const c=e=>e.data[0],s=e=>e[r.l],i=e=>e.data,o=Object(a.c)(s,i),l=Object(a.c)(c,s),u=Object(a.c)(l,i)},481:function(e,t,n){"use strict";n.d(t,"c",(function(){return c})),n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return i})),n.d(t,"e",(function(){return o})),n.d(t,"f",(function(){return l})),n.d(t,"d",(function(){return u}));var a=n(8);function r(e,t){return Object(a.d)(e.dataCube.dimensions,t.reference)}function c({splits:{splits:e}}){return e.last()}function s(e){return r(e,c(e))}function i(e){return c(e).reference}function o({splits:{splits:e}}){return 1===e.count()?null:e.first()}function l(e){return null!==o(e)}function u(e){const t=o(e);return t&&r(e,t)}},483:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(0),r=n.n(a),c=n(3);const s=({title:e})=>{const t=Object(c.a)(8*e.length,80,300);return r.a.createElement("div",{className:"title",style:{minWidth:t}},e)}},486:function(e,t,n){"use strict";n.d(t,"b",(function(){return r})),n.d(t,"a",(function(){return c}));var a=n(82);function r(e,t=5){return e.ticks(t).filter(e=>0!==e)}function c([e,t],n){return isNaN(e)||isNaN(t)?null:a.k().domain([Math.min(e,0),Math.max(t,0)]).nice(5).range([n,0])}},487:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),r=n.n(a),c=n(19),s=n(490);const i=e=>{const{series:t,datum:n,showPrevious:a}=e;if(!a)return r.a.createElement(r.a.Fragment,null,t.formatValue(n));const i=t.selectValue(n),o=t.selectValue(n,c.b.PREVIOUS),l=t.formatter();return r.a.createElement(s.a,{lowerIsBetter:t.measure.lowerIsBetter,formatter:l,current:i,previous:o})}},488:function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var a=n(0),r=n.n(a),c=n(6),s=n(483),i=n(51),o=n(1),l=n(3),u=n(84),m=n(116),d=n(163);class f extends r.a.Component{constructor(...e){super(...e),Object(o.a)(this,"modalRef",void 0),Object(o.a)(this,"setModalRef",e=>{this.modalRef=e}),Object(o.a)(this,"onMouseDown",e=>{const t=e.target;Object(l.h)(t,this.modalRef)||this.props.onClose()})}render(){const{className:e,children:t,left:n,top:a}=this.props;return r.a.createElement(r.a.Fragment,null,r.a.createElement(m.a,{mouseDown:this.onMouseDown}),r.a.createElement(u.a,{left:n,top:a},r.a.createElement("div",{className:Object(l.b)("modal-bubble",e),ref:this.setModalRef},t,r.a.createElement(d.a,{direction:"up"}))))}}const g=({title:e,children:t,left:n,top:a,acceptHighlight:o,dropHighlight:l})=>r.a.createElement(f,{className:"highlight-modal",left:n,top:a,onClose:l},r.a.createElement(s.a,{title:e}),r.a.createElement("div",{className:"value"},t),r.a.createElement("div",{className:"actions"},r.a.createElement(i.a,{type:"primary",className:"accept mini",onClick:o,title:c.m.select}),r.a.createElement(i.a,{type:"secondary",className:"drop mini",onClick:l,title:c.m.cancel})))},489:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return l}));var a=n(0),r=n.n(a),c=n(84),s=n(483),i=n(163);const o=e=>{const{left:t,top:n,title:a,content:s}=e;return r.a.createElement(c.a,{left:t,top:n+-10},r.a.createElement("div",{className:"segment-bubble"},r.a.createElement(l,{title:a,content:s}),r.a.createElement(i.a,{direction:"up"})))},l=({title:e,content:t})=>r.a.createElement("div",{className:"segment-bubble-text"},r.a.createElement(s.a,{title:e}),t?r.a.createElement("div",{className:"content"},t):null)},490:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(0),r=n.n(a),c=n(484);const s=({lowerIsBetter:e,formatter:t,current:n,previous:a})=>{const s=t(n),i=t(a);return r.a.createElement(r.a.Fragment,null,r.a.createElement("strong",{className:"current-value"},s),r.a.createElement("span",{className:"previous-value"},i),r.a.createElement(c.a,{formatter:t,currentValue:n,previousValue:a,lowerIsBetter:e}))}},493:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(0),r=n.n(a),c=n(3);const s=e=>{const{orientation:t,stage:n,ticks:a,scale:s}=e;return r.a.createElement("g",{className:Object(c.b)("grid-lines",t),transform:n.getTransform()},a.map(e=>{const a=Object(c.k)(s(e)),i=function(e,t,n){switch(e){case"horizontal":return{x1:0,x2:n.width,y1:t,y2:t};case"vertical":return{x1:t,x2:t,y1:0,y2:n.height}}}(t,a,n);return r.a.createElement("line",Object.assign({key:String(e)},i))}))}},495:function(e,t,n){"use strict";n.d(t,"a",(function(){return o})),n.d(t,"b",(function(){return l}));var a=n(4),r=n(2),c=n(54),s=n(7),i=n(502);function o(e,t){if(r.TimeRange.isTimeRange(e)){const n=new c.a(e),r=a.a.of(n);return new s.c({reference:t,values:r})}if(r.NumberRange.isNumberRange(e)){const n=new s.e(e),r=a.a.of(n);return new s.d({reference:t,values:r})}throw new Error("Expected Number or Time range, got: "+e)}function l(e){if(!Object(i.a)(e))throw new Error("Expected Number or FixedTime Filter Clause. Got "+e);const t=e.values.first();return r.Range.fromJS(t)}},502:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(7);function r(e){return e instanceof a.c||e instanceof a.d}},503:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(10),r=n(0),c=n.n(r),s=n(19),i=n(484);function o({color:e,name:t,series:n,datum:r,hasComparison:o}){const l={color:e,name:t,value:n.formatValue(r)};return o?Object(a.a)(Object(a.a)({},l),{},{previous:n.formatValue(r,s.b.PREVIOUS),delta:c.a.createElement(i.a,{currentValue:n.selectValue(r),previousValue:n.selectValue(r,s.b.PREVIOUS),lowerIsBetter:n.measure.lowerIsBetter,formatter:n.formatter()})}):l}},505:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),r=n.n(a),c=n(19),s=n(484);const i=({series:e,datum:t,showPrevious:n})=>r.a.createElement("div",{className:"vis-measure-label"},r.a.createElement("span",{className:"measure-title"},e.title()),r.a.createElement("span",{className:"colon"},": "),r.a.createElement("span",{className:"measure-value"},e.formatValue(t)),n&&function(e,t){const n=t.selectValue(e,c.b.CURRENT),a=t.selectValue(e,c.b.PREVIOUS),i=t.formatter();return r.a.createElement(r.a.Fragment,null,r.a.createElement("span",{className:"measure-previous-value"},i(a)),r.a.createElement(s.a,{formatter:i,lowerIsBetter:t.measure.lowerIsBetter,currentValue:n,previousValue:a}))}(t,e))},506:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(0),r=n.n(a),c=n(3);const s=({formatter:e,stage:t,tickSize:n,ticks:a,scale:s,topLineExtend:i=0,hideZero:o})=>{const l=o?a.filter(e=>0!==e):a,u=l.map(e=>{const t=Object(c.k)(s(e));return r.a.createElement("line",{className:"tick",key:String(e),x1:0,y1:t,x2:n,y2:t})}),m=n+2,d=l.map(t=>{const n=s(t);return r.a.createElement("text",{className:"tick",key:String(t),x:m,y:n,dy:"0.31em"},e(t))});return r.a.createElement("g",{className:"vertical-axis",transform:t.getTransform()},r.a.createElement("line",{className:"border",x1:.5,y1:-i,x2:.5,y2:t.height}),u,d)}},509:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(0),r=n.n(a);const c=({colorEntries:e})=>{const t=e.map(({color:e,name:t,value:n,previous:a,delta:c})=>{const s={background:e};return r.a.createElement("tr",{key:t},r.a.createElement("td",null,r.a.createElement("div",{className:"color-swab",style:s})),r.a.createElement("td",{className:"color-name"},t),r.a.createElement("td",{className:"color-value"},n),a&&r.a.createElement("td",{className:"color-previous"},a),c&&r.a.createElement("td",{className:"color-delta"},c))});return r.a.createElement("table",{className:"color-swabs"},r.a.createElement("tbody",null,t))}},515:function(e,t,n){"use strict";n.d(t,"b",(function(){return s})),n.d(t,"a",(function(){return i}));var a=n(82),r=n(19),c=n(9);function s(e,t){const n=t=>Object(c.s)(e.selectValue(t));return t?[n,t=>Object(c.s)(e.selectValue(t,r.b.PREVIOUS))]:[n]}function i(e,t){return t.reduce((t,n)=>{const r=a.b(e,n);return a.b([...r,...t])},[0,0])}},520:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(1),r=n(0),c=n.n(r);function s(e,t){const{top:n,left:a,stage:r,margin:c=10}=e;if(!t){return{top:n+c,left:a+c}}const s=r.y+r.height,i=r.x+r.width;return{top:t.bottom>s?n-c-t.height:t.top<r.y?n+t.height:n+c,left:t.right>i?a-c-t.width:t.left<r.x?a+t.width:a+c}}class i extends c.a.Component{constructor(...e){super(...e),Object(a.a)(this,"self",c.a.createRef()),Object(a.a)(this,"state",{})}componentDidMount(){this.setState({rect:this.self.current.getBoundingClientRect()})}render(){const{children:e}=this.props;return c.a.createElement("div",{className:"tooltip-within-stage",style:s(this.props,this.state.rect),ref:this.self},e)}}},523:function(e,t,n){"use strict";n.d(t,"a",(function(){return j}));var a=n(0),r=n.n(a),c=n(485),s=n(518),i=n(504),o=n(165),l=n(100),u=n(41),m=n(115),d=n(481),f=n(498),g=n(499),h=n(500),b=n(501);const p=e=>{const{saveSplit:t,containerStage:n,split:c,dimension:s,onClose:i,openOn:o}=e,[u,m]=Object(a.useState)(()=>c.bucket&&Object(l.f)(c.bucket)),d=Object(b.c)({split:c,dimension:s,granularity:u});return r.a.createElement(b.a,{openOn:o,containerStage:n,onClose:i,onSave:()=>{const e=Object(b.b)({dimension:s,split:c,granularity:u});t(c,e)},dimension:s,isValid:d},r.a.createElement(f.a,{granularity:u,dimension:s,granularityChange:m}))},E=e=>{const{openOn:t,containerStage:n,onClose:c,dimension:s,saveSplit:i,split:l,essence:d}=e,f=[new u.a(s),...d.seriesSortOns(!0).toArray()],{customization:{visualizationColors:{series:p}}}=Object(m.b)(),E=Object(a.useMemo)(()=>Object(o.b)(p.length),[p.length]),[v,O]=Object(a.useState)(l.sort),[S,j]=Object(a.useState)(l.limit),y=Object(b.c)({split:l,dimension:s,limit:S,sort:v});return r.a.createElement(b.a,{openOn:t,containerStage:n,onClose:c,onSave:()=>{const e=Object(b.b)({dimension:s,split:l,limit:S,sort:v});i(l,e)},dimension:s,isValid:y},r.a.createElement(h.a,{direction:v.direction,selected:u.c.fromSort(v,d),options:f,onChange:O}),r.a.createElement(g.a,{selectedLimit:S,limits:E,includeNone:!1,onLimitSelect:j}))},v=e=>{const{essence:t,split:n}=e;return n.equals(Object(d.c)(t))?r.a.createElement(p,e):r.a.createElement(E,e)},O=e=>r.a.createElement(s.b,Object.assign({splitMenuComponent:v},e)),S=e=>r.a.createElement(i.b,Object.assign({},e,{splitTileComponent:O})),j=e=>r.a.createElement(c.c,Object.assign({},e,{splitTilesRow:S}))},530:function(e,t,n){"use strict";n.d(t,"a",(function(){return s})),n.d(t,"b",(function(){return i}));var a=n(0),r=n.n(a),c=n(3);const s=({stage:e,tickLength:t})=>r.a.createElement("line",{className:"grid-border grid-bottom-border",transform:e.getTransform(),x1:0,x2:e.width+t,y1:Object(c.k)(e.height-1),y2:Object(c.k)(e.height-1)}),i=({stage:e})=>r.a.createElement("line",{className:"grid-border grid-right-border",transform:e.getTransform(),x1:Object(c.k)(e.width-1),x2:Object(c.k)(e.width-1),y1:0,y2:e.height})},531:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(0),r=n.n(a);function c(e){const{left:t,bottom:n=0,right:a,top:c=0}=e,s={width:Math.max(t,0)},i={left:t,top:c,bottom:n,width:Math.max(a-t,0)},o={left:a};return r.a.createElement("div",{className:"highlighter"},r.a.createElement("div",{className:"whiteout left",style:s}),r.a.createElement("div",{className:"frame",style:i}),r.a.createElement("div",{className:"whiteout right",style:o}))}},575:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return Le}));var a=n(1),r=n(0),c=n.n(r),s=n(274),i=n(522),o=n(523),l=n(485),u=n(166),m=n(8),d=n(480),f=n(115);const g=e=>{const{customization:{visualizationColors:t}}=Object(f.b)(),{values:n}=e;return c.a.createElement("div",{className:"legend-values"},c.a.createElement("table",{className:"legend-values-table"},c.a.createElement("tbody",null,n.map((e,n)=>{const a={background:t.series[n]};return c.a.createElement("tr",{key:e,className:"legend-value"},c.a.createElement("td",{className:"legend-value-color-cell"},c.a.createElement("div",{className:"legend-value-color",style:a})),c.a.createElement("td",{className:"legend-value-label"},c.a.createElement("span",{className:"legend-value-name"},e)))}))))},h=e=>{const{values:t,title:n}=e;return c.a.createElement("div",{className:"line-chart-legend"},c.a.createElement("div",{className:"legend-header"},n),c.a.createElement(g,{values:t}))},b=e=>{const{essence:t,dataset:n}=e,a=t.splits.splits.first(),r=Object(m.d)(t.dataCube.dimensions,a.reference),s=a.getTitle(r),i=Object(d.c)(n).map(e=>String(a.selectValue(e)));return c.a.createElement(h,{values:i,title:s})};var p=n(481),E=n(26),v=n(6);function O(e,t){const n=e.width-2*v.n,a=n/1,r=(e.height-30)/t,c=Math.floor(Math.min(a,r)),s=Math.max(200,c);return new E.a({x:v.n,y:0,width:n,height:s})}var S,j=n(505),y=n(486);function x(e){const t=e.currentTarget,n=e.clientX||0,a=e.clientY||0,{left:r,top:c}=(s=t)===window?{top:0,left:0}:s.getBoundingClientRect();var s;return[n-r,a-c]}!function(e){e[e.HOVER=0]="HOVER",e[e.DRAGGING=1]="DRAGGING",e[e.HIGHLIGHT=2]="HIGHLIGHT"}(S||(S={}));const N=e=>e&&e.kind===S.HOVER,k=(e,t,n)=>({kind:S.DRAGGING,start:t,end:n,key:e}),w=e=>e&&e.kind===S.DRAGGING,R=e=>e&&e.kind===S.HIGHLIGHT;var C=n(530),H=n(493),z=n(506);const V=e=>{const{formatter:t,gridStage:n,axisStage:a,xScale:r,yScale:s,xTicks:i}=e;return c.a.createElement(c.a.Fragment,null,c.a.createElement(H.a,{orientation:"horizontal",scale:s,ticks:Object(y.b)(s),stage:n}),c.a.createElement(H.a,{orientation:"vertical",scale:r,ticks:i,stage:n}),c.a.createElement(z.a,{tickSize:5,stage:a,formatter:t,ticks:Object(y.b)(s),scale:s}),c.a.createElement(C.a,{stage:n,tickLength:5}))};var T=n(83),I=n(488),D=n(495);const M=e=>{const{rect:{left:t,top:n},interaction:a,timezone:r,dropHighlight:s,acceptHighlight:i,xScale:o}=e,l=Object(D.b)(a.clause),u=o(l.midpoint());return c.a.createElement(I.a,{title:Object(T.d)(l,r),left:t+u,top:n+80,dropHighlight:s,acceptHighlight:i})};var G=n(489),F=n(520);const A=e=>{const{content:t,interaction:n,xScale:a,timezone:r,stage:s}=e,{range:i}=n,o=a(i.midpoint());return c.a.createElement(F.a,{key:o,top:60,left:o,stage:s},c.a.createElement(G.b,{title:Object(T.d)(i,r),content:t}))};var B=n(2),L=n(531),U=n(11);function P(e,t,n){const[a,r]=function(e,t,n){return e>t?[t,e]:t>e?[e,t]:[e,J(e,n)]}(e,t,n);return B.Range.fromJS({start:a,end:r})}function J(e,t){return e instanceof Date?U.second.shift(e,t,1):e+1}var X=n(502);const K=e=>{const{stage:t,timezone:n,interaction:a,xScale:r}=e,s=function(e,t){if(w(e))return P(e.start,e.end,t);if(R(e)){const{clause:t}=e;if(!Object(X.a)(t))throw new Error("Expected FixedTime or Number Filter clause. Got: "+t);return B.Range.fromJS(t.values.first())}return null}(a,n);if(!s)return null;const i=r(s.start),o=r(s.end);return c.a.createElement("div",{style:t.getLeftTopWidthHeight()},c.a.createElement(L.a,{left:i,right:o}))},W=e=>{const{stage:t,interaction:n,container:a,xScale:r,timezone:s,visualisationStage:i,hoverContent:o,dropHighlight:l,acceptHighlight:u}=e;return c.a.createElement(c.a.Fragment,null,c.a.createElement(K,{stage:t,interaction:n,timezone:s,xScale:r}),N(n)&&c.a.createElement(A,{stage:i,interaction:n,xScale:r,content:o,timezone:s}),R(n)&&c.a.createElement(M,{rect:a.current.getBoundingClientRect(),interaction:n,xScale:r,timezone:s,dropHighlight:l,acceptHighlight:u}))},Y=e=>{const{stage:t,hover:{range:n},yScale:a,xScale:r}=e,s=r(n.midpoint()),[i,o]=a.range();return c.a.createElement("line",{transform:t.getTransform(),x1:s,x2:s,y1:0,y2:t.height,className:"hover-guide"})};const q=e=>x(e)[0];class $ extends c.a.Component{constructor(...e){super(...e),Object(a.a)(this,"container",c.a.createRef())}render(){const{hoverContent:e,interactions:t,timezone:n,yDomain:a,visualisationStage:r,chartStage:s,chartId:i,children:o,label:l,formatter:u,xScale:m,xTicks:d}=this.props,{interaction:f,dropHighlight:g,acceptHighlight:h,mouseLeave:b,dragStart:p,handleHover:E}=t,[,v]=m.range(),O=s.within({top:36,right:s.width-v}),S=s.within({top:36,left:v}),j=Object(y.a)(a,O.height),x=f&&f.key===i;return c.a.createElement(c.a.Fragment,null,c.a.createElement("div",{className:"line-base-chart",ref:this.container,style:s.getWidthHeight()},c.a.createElement("svg",{className:"chart-stage",viewBox:s.getViewBox()},c.a.createElement(V,{axisStage:S,formatter:u,gridStage:O,xScale:m,xTicks:d,yScale:j}),o({yScale:j,lineStage:O}),x&&N(f)&&c.a.createElement(Y,{hover:f,stage:O,yScale:j,xScale:m})),c.a.createElement("div",{style:O.getWidthHeight(),className:"event-region",onMouseDown:e=>p(i,q(e)),onMouseMove:e=>E(i,q(e)),onMouseLeave:b}),l,x&&c.a.createElement(W,{container:this.container,stage:O,visualisationStage:r,interaction:f,hoverContent:e,dropHighlight:g,acceptHighlight:h,xScale:m,timezone:n})))}}var Z=n(19),Q=n(9),_=n(82),ee=n(165),te=n(18);function ne(e,t){return e&&t&&e.end.valueOf()!==t.start.valueOf()}function ae(e){const t=e.end.valueOf()-e.start.valueOf();return e.midpoint().valueOf()+t}function re(e){const t=e.end.valueOf()-e.start.valueOf();return e.midpoint().valueOf()-t}function ce(e,t,n){return Object(te.i)(e,(a,r)=>{const c=t(a),s=c.midpoint().valueOf(),i=n(a),o=isNaN(i)?0:i;return Object(te.d)(function(e,t,n){const a=e[t-1];if(!a)return!1;const r=e[t];return ne(n(a),n(r))}(e,r,t)&&[re(c),0],[s,o],function(e,t,n){const a=e[t+1];return!!a&&ne(n(e[t]),n(a))}(e,r,t)&&[ae(c),0])})}const se=e=>{const{customization:{visualizationColors:t}}=Object(f.b)(),n=t.main,{color:a=n,dashed:r,getX:s,getY:i,dataset:o,showArea:l,stage:u,xScale:m,yScale:d}=e,g=_.a().y0(d(0)),h=_.e(),b=ce(o,s,i),p=b.map(([e,t])=>[m(e),d(t)]),E=b.length>1,v=1===b.length;return c.a.createElement("g",{className:"chart-line",transform:u.getTransform()},E&&c.a.createElement("path",{className:"line",d:h(p),stroke:a,strokeDasharray:r?"4 2":void 0}),E&&l&&c.a.createElement("path",{className:"area",fill:Object(ee.a)(t),d:g(p)}),v&&c.a.createElement("circle",{className:"singleton",cx:p[0][0],cy:p[0][1],r:"2",style:{fill:a}}))},ie=e=>{const{showArea:t,essence:n,series:a,getX:r,stage:s,dataset:i,xScale:o,yScale:l,color:u}=e,m=n.hasComparison();return c.a.createElement(c.a.Fragment,{key:a.reactKey()},c.a.createElement(se,{key:"current",xScale:o,yScale:l,getX:r,getY:e=>Object(Q.s)(a.selectValue(e)),showArea:t,color:u,dashed:!1,dataset:i,stage:s}),m&&c.a.createElement(se,{key:"previous",xScale:o,yScale:l,getX:r,getY:e=>Object(Q.s)(a.selectValue(e,Z.b.PREVIOUS)),showArea:t,color:u,dashed:!0,dataset:i,stage:s}))},oe=e=>c.a.createElement(ie,Object.assign({},e,{showArea:!1})),le=e=>c.a.createElement(ie,Object.assign({},e,{showArea:!0}));var ue=n(515);var me=n(503),de=n(509),fe=n(487);function ge(e,t,n,a,r){const{data:c}=e,s=Object(p.e)(a),i=Object(p.b)(a),o=a.hasComparison();return c.map((e,a)=>{const c=String(s.selectValue(e)),l=r.series[a],u=function(e,t,n){const a=Object(d.e)(e);return null!=a?a.findDatumByAttribute(t,n):null}(e,i,t);return u?Object(me.a)({color:l,name:c,series:n,datum:u,hasComparison:o}):{color:l,name:c,value:"-"}})}const he=e=>{const{customization:{visualizationColors:t}}=Object(f.b)(),{essence:n,range:a,series:r,dataset:s}=e;if(Object(p.f)(n)){const e=ge(s,a,r,n,t);return c.a.createElement(de.a,{colorEntries:e})}return c.a.createElement(c.a.Fragment,null,function(e,t,n,a){const r=Object(p.a)(a),s=e.findDatumByAttribute(r.name,t);return s?c.a.createElement(fe.a,{series:n,datum:s,showPrevious:a.hasComparison()}):null}(s,a,r,n))},be=e=>{const{customization:{visualizationColors:t}}=Object(f.b)(),{chartId:n,interactions:a,visualisationStage:r,chartStage:s,essence:i,series:o,xScale:l,xTicks:u,dataset:m}=e,g=i.hasComparison(),h=Object(d.b)(m),{interaction:b}=a,E=N(b)&&c.a.createElement(he,{essence:i,dataset:h,range:b.range,series:o}),v=c.a.createElement(j.a,{series:o,datum:Object(d.d)(m),showPrevious:g}),O=Object(p.c)(i),S=e=>O.selectValue(e),y=function(e,t,n){const a=Object(ue.b)(n,t.hasComparison());return Object(p.f)(t)?e.data.reduce((e,t)=>{const n=Object(d.e)(t);if(!n)return e;const r=Object(ue.a)(n.data,a);return _.b([...e,...r])},[0,0]):Object(ue.a)(e.data,a)}(h,i,o);if(Object(p.f)(i)){const e=Object(p.e)(i);return c.a.createElement($,{visualisationStage:r,chartId:n,interactions:a,hoverContent:E,timezone:i.timezone,label:v,xScale:l,xTicks:u,chartStage:s,formatter:o.formatter(),yDomain:y},({yScale:n,lineStage:a})=>c.a.createElement(c.a.Fragment,null,h.data.map((r,s)=>{const u=e.selectValue(r),m=t.series[s];return c.a.createElement(oe,{key:String(u),xScale:l,yScale:n,getX:S,color:m,dataset:Object(d.f)(r),stage:a,essence:i,series:o})})))}return c.a.createElement($,{chartId:o.plywoodKey(),visualisationStage:r,interactions:a,hoverContent:E,timezone:i.timezone,label:v,chartStage:s,yDomain:y,formatter:o.formatter(),xScale:l,xTicks:u},({yScale:e,lineStage:t})=>c.a.createElement(le,{xScale:l,yScale:e,getX:S,dataset:h.data,stage:t,essence:i,series:o}))},pe=e=>{const{interactions:t,xScale:n,xTicks:a,essence:r,dataset:s,stage:i}=e,o=r.getConcreteSeries().toArray(),l=O(i,r.series.count());return c.a.createElement(c.a.Fragment,null,Object(p.f)(r)&&c.a.createElement(u.a,null,c.a.createElement(b,{dataset:s,essence:r})),o.map(e=>{const o=e.reactKey();return c.a.createElement(be,{interactions:t,key:o,chartId:o,dataset:s,essence:r,series:e,chartStage:l,visualisationStage:i,xScale:n,xTicks:a})}))},Ee=e=>{const{essence:t}=e,n=t.getConcreteSeries().toArray().map(e=>e.title());return c.a.createElement(h,{values:n,title:"Series"})};var ve=n(32);const Oe=e=>{const{essence:t,datum:n}=e;if(Object(p.f)(t)){const e=Object(p.e)(t),a=Object(p.d)(t),r=e.selectValue(n);return c.a.createElement("div",{className:"split-chart-label"},c.a.createElement("span",{className:"split-chart-dimension-title"},a.title),c.a.createElement("span",{className:"split-chart-value"},": ",Object(T.b)(r,t.timezone)))}return null},Se=e=>{const{customization:{visualizationColors:t}}=Object(f.b)(),{datum:n,hasComparison:a,series:r}=e,s=r.map((e,r)=>{const c=t.series[r],s=e.title();return Object(me.a)({color:c,name:s,hasComparison:a,datum:n,series:e})});return c.a.createElement(de.a,{colorEntries:s})},je=e=>{const{essence:t,dataset:n,interaction:{range:a}}=e,r=t.getConcreteSeries().toArray(),s=t.hasComparison(),i=Object(p.b)(t),o=n.findDatumByAttribute(i,a)||{};return 1===r.length?c.a.createElement(fe.a,{series:r[0],datum:o,showPrevious:s}):c.a.createElement(Se,{datum:o,series:r,hasComparison:s})},ye=e=>{const{customization:{visualizationColors:t}}=Object(f.b)(),{chartId:n,interactions:a,visualisationStage:r,chartStage:s,essence:i,xScale:o,xTicks:l,selectDatum:u,dataset:m}=e,{interaction:g}=a,h=u(m),b=Object(d.e)(h),E=i.getConcreteSeries(),v=c.a.createElement(Oe,{essence:i,datum:h}),O=N(g)&&c.a.createElement(je,{interaction:g,essence:i,dataset:b}),S=Object(p.c)(i),j=e=>S.selectValue(e),y=function(e,t){const n=t.hasComparison(),a=t.getConcreteSeries().toArray(),r=Object(te.i)(a,e=>Object(ue.b)(e,n));return Object(ue.a)(e.data,r)}(b,i);if(1===E.count()){const e=E.first();return c.a.createElement($,{chartId:n,interactions:a,hoverContent:O,timezone:i.timezone,label:v,xScale:o,xTicks:l,chartStage:s,formatter:e.formatter(),yDomain:y,visualisationStage:r},({yScale:t,lineStage:n})=>c.a.createElement(le,{xScale:o,yScale:t,getX:j,dataset:b.data,stage:n,essence:i,series:e}))}return c.a.createElement($,{chartId:n,visualisationStage:r,timezone:i.timezone,hoverContent:O,interactions:a,label:v,xScale:o,xTicks:l,chartStage:s,formatter:ve.g,yDomain:y},({yScale:e,lineStage:n})=>c.a.createElement(c.a.Fragment,null,E.toArray().map((a,r)=>{const s=t.series[r];return c.a.createElement(oe,{key:a.plywoodKey(),xScale:o,yScale:e,getX:j,dataset:b.data,stage:n,essence:i,series:a,color:s})})))};const xe=e=>{const{interactions:t,xScale:n,xTicks:a,essence:r,dataset:s,stage:i}=e,o=r.series.count()>1,l=function(e,t){return Object(p.f)(e)?Object(d.c)(t).map((e,t)=>{const n=Object(te.c)(d.f,e=>e[t]);return Object(te.c)(d.d,n)}):[d.d]}(r,s),m=O(i,l.length);return c.a.createElement(c.a.Fragment,null,o&&c.a.createElement(u.a,null,c.a.createElement(Ee,{essence:r})),l.map(e=>{const o=function(e,t){if(!Object(p.f)(t))return"no-nominal-split";const n=Object(p.e)(t).selectValue(e);return Object(T.b)(n,t.timezone)}(e(s),r);return c.a.createElement(ye,{key:o,chartId:o,interactions:t,essence:r,dataset:s,selectDatum:e,xScale:n,xTicks:a,visualisationStage:i,chartStage:m})}))},Ne=e=>{const{essence:t}=e,{groupSeries:n}=t.visualizationSettings;return n?c.a.createElement(xe,e):c.a.createElement(pe,e)};var ke=n(4),we=n(116);function Re(e,t,n,a){let r=null,c=1/0;for(const s of e){const e=a.selectValue(s);if(!e||!B.Range.isRange(e))continue;const i=e.midpoint(),o=Math.abs(i.valueOf()-t.valueOf()),l=Math.abs(n(i)-n(t));(!r||o<c)&&l<50&&(r=s,c=o)}return r}function Ce(e,t){return Math.round(Math.floor(e/t))*t}class He extends c.a.Component{constructor(...e){super(...e),Object(a.a)(this,"state",{interaction:null,scrollTop:0}),Object(a.a)(this,"handleHover",(e,t)=>{const{interaction:n}=this.state;if(w(n)||R(n))return;const a=this.findRangeUnderOffset(t);var r,c;null!==a?N(n)&&n.range.equals(a)||this.setState({interaction:(r=e,c=a,{kind:S.HOVER,range:c,key:r})}):this.setState({interaction:null})}),Object(a.a)(this,"onMouseLeave",()=>{const{interaction:e}=this.state;N(e)&&this.setState({interaction:null})}),Object(a.a)(this,"handleDragStart",(e,t)=>{const{essence:{timezone:n}}=this.props,a=this.findValueUnderOffset(t),r=J(a,n);this.setState({interaction:k(e,a,r)})}),Object(a.a)(this,"dragging",e=>{const{interaction:t}=this.state;if(!w(t))return;const n=this.calculateOffset(e);if(null===n)return;const a=this.findValueUnderOffset(n),{start:r,key:c}=t;this.setState({interaction:k(c,r,a)})}),Object(a.a)(this,"stopDragging",e=>{const{interaction:t}=this.state;if(!w(t))return;const n=this.calculateOffset(e);if(null===n)return;this.setState({interaction:null});const{essence:a,saveHighlight:r}=this.props,{start:c,key:s}=t,i=function(e,t){const n=Object(p.c)(t);if(B.TimeRange.isTimeRange(e)){const{timezone:a}=t,r=n.bucket;return B.TimeRange.fromJS({start:r.floor(e.start,a),end:r.shift(r.floor(e.end,a),a,1)})}if(B.NumberRange.isNumberRange(e)){const t=n.bucket,a=Ce(e.start,t);let r=Ce(e.end,t);return r-a<t&&(r+=t),B.NumberRange.fromJS({start:a,end:r})}return null}(P(c,this.findValueUnderOffset(n),a.timezone),a);r(ke.a.of(Object(D.a)(i,Object(p.b)(a))),s)}),Object(a.a)(this,"scrollCharts",e=>{const{scrollTop:t}=e.target;this.setState({interaction:null,scrollTop:t})})}calculateOffset(e){const{chartsContainerRef:t}=this.props;if(!t.current)return null;const[n]=x(e),{left:a}=t.current.getBoundingClientRect();return n-a}findValueUnderOffset(e){const{xScale:t}=this.props;return t.invert(e)}findRangeUnderOffset(e){const t=this.findValueUnderOffset(e),{essence:n,xScale:a,dataset:r}=this.props,c=function(e,t,n,a){const r=Object(p.c)(t);if(Object(p.f)(t)){return Re(Object(d.b)(n).flatten().data,e,a,r)}return Re(Object(d.c)(n),e,a,r)}(t,n,r,a);return c&&c[Object(p.b)(n)]}interaction(){const{highlight:e}=this.props;return e?(e=>({kind:S.HIGHLIGHT,clause:e.clauses.first(),key:e.key}))(e):this.state.interaction}render(){const e=this.interaction(),{children:t,acceptHighlight:n,dropHighlight:a}=this.props,r={interaction:e,acceptHighlight:n,dropHighlight:a,dragStart:this.handleDragStart,handleHover:this.handleHover,mouseLeave:this.onMouseLeave};return c.a.createElement(c.a.Fragment,null,c.a.createElement(we.a,{mouseUp:this.stopDragging,mouseMove:this.dragging,scroll:this.scrollCharts}),t(r))}}var ze=n(100);function Ve([e,t],n){if(e instanceof Date&&t instanceof Date){return function(e,t,n,a){return e.materialize(t,n,a)}(Object(ze.c)(B.TimeRange.fromJS({start:e,end:t}),!0),e,t,n)}if("number"==typeof e&&"number"==typeof t){return function(e,t,n){return[...Object(_.h)(t,n,e),n]}(Object(ze.c)(B.NumberRange.fromJS({start:e,end:t}),!0),e,t)}throw new Error(`Expected domain to be continuous. Got [${e}, ${t}]`)}var Te=n(24);function Ie(e,t){const n=Object(p.c)(e),a=e.getEffectiveFilter(t).clauseForReference(n.reference);if(!a)return null;return function(e,t,n,a){const r=n.bucket;if(t&&r instanceof U.Duration){const n=e.end,c=r.floor(n,a),s=r.shift(c,a);if(c<t&&t<s)return B.Range.fromJS({start:e.start,end:s})}return e}(Object(D.b)(a),Object(Te.f)(e.dataCube,t),n,e.timezone)}function De(e,t){return e&&t?e.extend(t):e||t}function Me(e,t,n){const a=Object(p.c)(e),r=Ie(e,t),c=function(e,t){return e.flatten().data.map(e=>t.selectValue(e)).reduce(De,null)}(n,a);return s=r,i=c,B.Range.isRange(s)||B.Range.isRange(i)?B.Range.isRange(s)?B.Range.isRange(i)?s.union(i):s:i:null;var s,i}var Ge=n(34),Fe=n(3);const Ae=_.c(".1f");const Be=e=>{const{width:t,ticks:n,scale:a,timezone:r}=e,s=E.a.fromSize(t,30),i=function(e,t){const[n]=e.domain();if(n instanceof Date){const n=Object(Ge.p)(e);return e=>n(Object(Ge.m)(e,t))}return e=>String(Ae(e))}(a,r),o=n.map(e=>{const t=Object(Fe.k)(a(e));return c.a.createElement("line",{key:String(e),x1:t,y1:0,x2:t,y2:5})}),l=n.map((e,t)=>{const n=a(e);return c.a.createElement("text",{key:String(e),x:n,y:17,style:{textAnchor:0===t?"start":"middle"}},i(e))});return c.a.createElement("svg",{className:"bottom-axis",width:s.width,height:s.height},c.a.createElement("g",{className:"line-chart-axis",transform:s.getTransform()},o,l))};function Le(e){return c.a.createElement(c.a.Fragment,null,c.a.createElement(o.a,e),c.a.createElement(l.a,Object.assign({},e,{chartComponent:Ue})))}class Ue extends c.a.Component{constructor(...e){super(...e),Object(a.a)(this,"className",s.a.name),Object(a.a)(this,"chartsRef",c.a.createRef())}render(){const{essence:e,data:t,timekeeper:n,stage:a,highlight:r,dropHighlight:s,acceptHighlight:o,saveHighlight:l}=this.props,u=Me(e,n,t);if(!u)return c.a.createElement(i.a,{title:"No data found. Try different filters."});const m=function(e,t,n){const a=[0,n];switch(Object(p.a)(e).kind){case"number":{const e=[t.start,t.end];return _.k().clamp(!0).domain(e).range(a)}case"time":{const e=[t.start,t.end];return _.n().clamp(!0).domain(e).range(a)}}}(e,u,a.width-60),d=Ve(m.domain(),e.timezone),f=a.height-30;return c.a.createElement(He,{dataset:t,xScale:m,chartsContainerRef:this.chartsRef,essence:e,highlight:r,dropHighlight:s,acceptHighlight:o,saveHighlight:l},n=>c.a.createElement("div",{className:"line-chart-container"},c.a.createElement("div",{className:"line-charts",ref:this.chartsRef,style:{maxHeight:f}},c.a.createElement(Ne,{interactions:n,stage:a.changeHeight(f),essence:e,xScale:m,xTicks:d,dataset:t})),c.a.createElement(Be,{width:a.width,ticks:d,scale:m,timezone:e.timezone})))}}}}]);
//# sourceMappingURL=line-chart.3630a1be5ee7fd1212b2.js.map