UNPKG

turnilo

Version:

Business intelligence, data exploration and visualization web application for Druid, formerly known as Swiv and Pivot

2 lines 16.3 kB
(window.webpackJsonp=window.webpackJsonp||[]).push([[8],{539:function(e,t,n){"use strict";n.d(t,"a",(function(){return a})),n.d(t,"b",(function(){return s})),n.d(t,"e",(function(){return r})),n.d(t,"g",(function(){return i})),n.d(t,"d",(function(){return l})),n.d(t,"f",(function(){return o})),n.d(t,"c",(function(){return c})),n.d(t,"h",(function(){return h}));const a=38,s=25,r=30,i=10,l=100,o=300,c=130,h=10},540:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),s=n.n(a),r=n(3);const i=({title:e})=>{const t=Object(r.a)(8*e.length,80,300);return s.a.createElement("div",{className:"title",style:{minWidth:t}},e)}},545:function(e,t,n){"use strict";n.d(t,"a",(function(){return g}));var a=n(0),s=n.n(a),r=n(6),i=n(540),l=n(51),o=n(1),c=n(3),h=n(84),d=n(119),u=n(170);class m extends s.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(c.h)(t,this.modalRef)||this.props.onClose()})}render(){const{className:e,children:t,left:n,top:a}=this.props;return s.a.createElement(s.a.Fragment,null,s.a.createElement(d.a,{mouseDown:this.onMouseDown}),s.a.createElement(h.a,{left:n,top:a},s.a.createElement("div",{className:Object(c.b)("modal-bubble",e),ref:this.setModalRef},t,s.a.createElement(u.a,{direction:"up"}))))}}const g=({title:e,children:t,left:n,top:a,acceptHighlight:o,dropHighlight:c})=>s.a.createElement(m,{className:"highlight-modal",left:n,top:a,onClose:c},s.a.createElement(i.a,{title:e}),s.a.createElement("div",{className:"value"},t),s.a.createElement("div",{className:"actions"},s.a.createElement(l.a,{type:"primary",className:"accept mini",onClick:o,title:r.m.select}),s.a.createElement(l.a,{type:"secondary",className:"drop mini",onClick:c,title:r.m.cancel})))},549:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),s=n.n(a),r=n(539);const i=e=>{const{renderRow:t,hoveredRowDatum:n,rowsData:a,visibleRowsIndexRange:i,highlightedRowIndex:l}=e,[o,c]=i,h=a.slice(o,c);return s.a.createElement(s.a.Fragment,null,h.map((e,a)=>{const s=o+a,i=s*r.e,c=s===l;return t({highlight:c||e===n,dimmed:!c&&null!==l,top:i,index:s,datum:e})}))}},551:function(e,t,n){"use strict";function a(e){const t=e.series.series.count();return e.hasComparison()?3*t:t}n.d(t,"a",(function(){return a}))},553:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(0),s=n.n(a),r=n(3),i=n(13);const l=n(302),o=({direction:e})=>s.a.createElement(i.a,{svg:l,className:Object(r.b)("sort-arrow",e)})},564:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),s=n.n(a),r=n(3);const i=({className:e,highlight:t,dimmed:n,children:a,style:i})=>s.a.createElement("div",{className:Object(r.b)("split-value",e,{dimmed:n,highlight:t}),style:i},a)},565:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(0),s=n.n(a);const r=({children:e})=>s.a.createElement("div",{className:"corner"},e)},569:function(e,t,n){"use strict";n.d(t,"a",(function(){return r}));var a=n(0),s=n.n(a);function r(e,t){return function(n){return s.a.createElement(e,Object.assign({},n,t))}}},570:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(82);function s(e,t){return e.getConcreteSeries().groupBy(e=>e.reactKey()).map(e=>e.first()).toMap().map(e=>{const n=t.map(t=>e.selectValue(t));return a.k().domain(a.b([0,...n])).range([0,100])})}},571:function(e,t,n){"use strict";n.d(t,"a",(function(){return s}));var a=n(539);function s(e,t,n){return[Math.max(0,Math.floor(n/a.e)),Math.min(e,Math.ceil((n+t)/a.e))]}},574:function(e,t,n){"use strict";n.d(t,"a",(function(){return m}));var a=n(0),s=n.n(a),r=n(549),i=n(3),l=n(19),o=n(541);const c=({highlight:e,width:t})=>s.a.createElement("div",{className:"measure-background-container"},s.a.createElement("div",{className:Object(i.b)("measure-background",{highlight:e}),style:{width:t+"%"}})),h=e=>{const{width:t,value:n,children:a}=e;return s.a.createElement("div",{className:"measure-cell",style:{width:t}},a,s.a.createElement("div",{className:"measure-label"},n))},d=e=>{const{series:t,datum:n,barScale:a,highlight:r,showPrevious:i,cellWidth:d}=e,u=t.selectValue(n),m=s.a.createElement(h,{key:t.reactKey(),width:d,value:t.formatValue(n)},a&&s.a.createElement(c,{highlight:r,width:a(u)}));if(!i)return m;const g=t.selectValue(n,l.b.PREVIOUS);return s.a.createElement(s.a.Fragment,null,m,s.a.createElement(h,{key:t.reactKey(l.b.PREVIOUS),width:d,value:t.formatValue(n,l.b.PREVIOUS)},a&&s.a.createElement(c,{highlight:r,width:a(g)})),s.a.createElement(h,{width:d,key:t.reactKey(l.b.DELTA),value:s.a.createElement(o.a,{currentValue:u,previousValue:g,lowerIsBetter:t.measure.lowerIsBetter,formatter:t.formatter()})}))},u=e=>{const{datum:t,showBar:n,scales:a,cellWidth:r,highlight:l,dimmed:o,style:c,essence:h}=e,u=h.getConcreteSeries().toArray();return s.a.createElement("div",{className:Object(i.b)("measure-row",{highlight:l,dimmed:o}),style:c},u.map(e=>s.a.createElement(d,{key:e.reactKey(),series:e,datum:t,highlight:l,barScale:n?a.get(e.reactKey()):null,cellWidth:r,showPrevious:h.hasComparison()})))},m=e=>{const{rowWidth:t,showBarPredicate:n,essence:a,cellWidth:i,hoverRow:l,scales:o,data:c,visibleRowsIndexRange:h,highlightedRowIndex:d}=e;return s.a.createElement(r.a,{visibleRowsIndexRange:h,highlightedRowIndex:d,hoveredRowDatum:l,rowsData:c,renderRow:e=>{const{index:r,top:l,datum:c,highlight:h,dimmed:d}=e,m={top:l,width:t},g=n(c);return s.a.createElement(u,{key:"row_"+r,essence:a,highlight:h,dimmed:d,style:m,datum:c,cellWidth:i,showBar:g,scales:o})}})}},576:function(e,t,n){"use strict";n.d(t,"a",(function(){return d}));var a=n(0),s=n.n(a),r=n(19),i=n(14),l=n(3),o=n(553);const c=({sort:e,width:t,title:n,className:a})=>{const r=null!==e;return s.a.createElement("div",{className:Object(l.b)("measure-header-cell",a,{sorted:r}),style:{width:t}},s.a.createElement("div",{className:"title-wrap"},n),e&&s.a.createElement(o.a,{direction:e}))};function h(e,t,n=r.b.CURRENT){return e instanceof i.b&&e.reference===t.definition.key()&&e.period===n?e.direction:null}const d=e=>{const{cellWidth:t,series:n,sort:a,showPrevious:i}=e;return s.a.createElement(s.a.Fragment,null,n.map(e=>{const n=s.a.createElement(c,{key:e.reactKey(),width:t,title:e.title(),sort:h(a,e)});return i?s.a.createElement(s.a.Fragment,{key:e.reactKey()},n,s.a.createElement(c,{key:e.reactKey(r.b.PREVIOUS),width:t,title:e.title(r.b.PREVIOUS),sort:h(a,e,r.b.PREVIOUS)}),s.a.createElement(c,{className:"measure-delta",key:e.reactKey(r.b.DELTA),width:t,title:"Difference",sort:h(a,e,r.b.DELTA)})):n}))}},581:function(e,t,n){"use strict";n.d(t,"a",(function(){return o}));var a=n(0),s=n.n(a),r=n(539),i=n(549),l=n(564);const o=e=>{const{splitLabel:t,data:n,highlightedRowIndex:a,hoverRow:o,visibleRowsIndexRange:c,segmentWidth:h}=e;return s.a.createElement("div",{className:"flattened-splits-rows"},s.a.createElement(i.a,{visibleRowsIndexRange:c,highlightedRowIndex:a,rowsData:n,hoveredRowDatum:o,renderRow:e=>{const{index:n,top:a,datum:i,highlight:o,dimmed:c}=e,d={width:h-r.g,top:a};return s.a.createElement(l.a,{key:"splits_"+n,className:"flattened-splits-row",style:d,dimmed:c,highlight:o},s.a.createElement(t,{datum:i}))}}))}},582:function(e,t,n){"use strict";n.d(t,"a",(function(){return c}));var a=n(0),s=n.n(a),r=n(8),i=n(14),l=n(565),o=n(553);const c=({sort:e,splits:t,dataCube:n})=>s.a.createElement(l.a,null,s.a.createElement("div",{className:"header-split-columns"},t.splits.toArray().map(t=>{const{reference:a}=t,l=Object(r.d)(n.dimensions,a).title,c=function(e,t){return t instanceof i.a&&e.reference===t.reference?t.direction:null}(t,e);return s.a.createElement("div",{className:"header-split-column",key:a},s.a.createElement("div",{className:"header-split-column-title"},l),c&&s.a.createElement("div",{className:"header-split-column-sort-icon"},s.a.createElement(o.a,{direction:c})))})))},584:function(e,t,n){"use strict";n.d(t,"a",(function(){return i}));var a=n(0),s=n.n(a),r=n(83);const i=({splits:e,datum:t,timezone:n})=>s.a.createElement(s.a.Fragment,null,e.map(e=>{const{reference:a}=e,i=e.selectValue(t);return s.a.createElement("div",{key:a,className:"flattened-split-value"},Object(r.b)(i,n))}))},634:function(e,t,n){"use strict";n.r(t),n.d(t,"default",(function(){return q}));var a=n(1),s=n(0),r=n.n(s),i=n(539),l=n(569),o=n(542),c=n(55),h=n(14),d=n(551),u=n(19),m=n(9);let g;function p(e,t,n,a){const s=t.series.series,r=e-n,i=Math.floor(r/a);if(t.hasComparison()){const e=Object(m.i)(i,3),t=s.get(e);if(!t)return{element:g.WHITESPACE};const n=(l=i,[u.b.CURRENT,u.b.PREVIOUS,u.b.DELTA][l%3]);return{element:g.HEADER,series:t,period:n}}var l;const o=s.get(i);return o?{element:g.HEADER,series:o,period:u.b.CURRENT}:{element:g.WHITESPACE}}!function(e){e[e.ROW=0]="ROW",e[e.HEADER=1]="HEADER",e[e.WHITESPACE=2]="WHITESPACE"}(g||(g={}));var f=n(4),w=n(54),E=n(7),v=n(15);function b(e,t){const n=t.__nest,{splits:a}=e;if(0===n||n>a.size)return null;const s=a.take(n).map(({reference:e,type:n})=>{const a=t[e];switch(n){case v.b.number:return new E.d({reference:e,values:f.a.of(new E.e(a))});case v.b.time:return new E.c({reference:e,values:f.a.of(new w.a(a))});case v.b.string:return new E.h({reference:e,action:E.g.IN,values:f.f.of(a)});case v.b.boolean:return new E.a({reference:e,values:f.f.of(a)})}});return Object(f.a)(s)}class R extends r.a.Component{constructor(...e){super(...e),Object(a.a)(this,"state",{hoverRow:null,scrollTop:0}),Object(a.a)(this,"setHoverRow",(e,t,n)=>{const{hoverRow:a}=this.state,s=this.calculateMousePosition(e,t,n);s.element===g.ROW&&s.datum!==a&&this.setState({hoverRow:s.datum})}),Object(a.a)(this,"resetHover",()=>{const{hoverRow:e}=this.state;e&&this.setState({hoverRow:null})}),Object(a.a)(this,"setScrollTop",e=>this.setState({scrollTop:e})),Object(a.a)(this,"handleClick",(e,t,n)=>{const a=this.calculateMousePosition(e,t,n);switch(a.element){case g.HEADER:this.setSortToSeries(a.series,a.period);break;case g.ROW:this.highlightRow(a.datum)}})}setSortToSeries(e,t){const{clicker:n,essence:a}=this.props,{splits:s}=a,r=a.getCommonSort(),i=e.key(),l=new h.b({reference:i,period:t,direction:h.c.descending}),o=r&&r.equals(l)?l.set("direction",h.c.ascending):l;n.changeSplits(s.changeSort(o),c.b.KeepAlways)}highlightRow(e){const{essence:{splits:t},highlight:n,saveHighlight:a,dropHighlight:s}=this.props,r=b(t,e);if(!r)return;null!==n&&r.equals(n.clauses)?s():a(r,null)}getIdealColumnWidth(){const e=this.props.stage.width-i.g-this.getSegmentWidth(),t=Object(d.a)(this.props.essence);return t*i.c>=e?i.c:e/t}calculateMousePosition(e,t,n){const{flatData:a}=this.props;switch(n){case"top-gutter":return p(e,this.props.essence,this.getSegmentWidth(),this.getIdealColumnWidth());case"body":case"left-gutter":return function(e,t){const n=e-i.a,a=Math.floor(n/i.e),s=t?t[a]:null;return s?{element:g.ROW,datum:s}:{element:g.WHITESPACE}}(t,a);default:return{element:g.WHITESPACE}}}getSegmentWidth(){const{segmentWidth:e}=this.props;return e||i.f}render(){const{children:e}=this.props,{hoverRow:t,scrollTop:n}=this.state;return r.a.createElement(r.a.Fragment,null,e({columnWidth:this.getIdealColumnWidth(),hoverRow:t,scrollTop:n,handleClick:this.handleClick,resetHover:this.resetHover,setHoverRow:this.setHoverRow,setScrollTop:this.setScrollTop}))}}var y=n(545),W=n(60),O=n(174),S=n(576),C=n(574),N=n(570),H=n(571),I=n(83);function k(e,{timezone:t,splits:{splits:n}}){const a=e.__nest;if(0===a)return"Total";const s=e[n.get(a-1).reference];return Object(I.b)(s,t)}var j=n(101),x=n(584),T=n(581),D=n(564),P=n(549);const A=e=>{const{essence:t,data:n,highlightedRowIndex:a,hoverRow:s,visibleRowsIndexRange:l,segmentWidth:o}=e;return r.a.createElement("div",{className:"nested-splits-rows"},r.a.createElement(P.a,{hoveredRowDatum:s,visibleRowsIndexRange:l,highlightedRowIndex:a,rowsData:n,renderRow:e=>{const{index:n,top:a,datum:s,highlight:l,dimmed:c}=e,h=s.__nest,d=Math.max(0,h-1)*i.b,u={left:d,width:o-d,top:a};return r.a.createElement(D.a,{key:"segment_"+n,highlight:l,dimmed:c,style:u},k(s,t))}}))},M=["collapseRows"],_=e=>{const{collapseRows:t}=e,n=Object(j.a)(e,M),{data:a,essence:{timezone:s,splits:{splits:i}}}=n;return a?t?r.a.createElement(T.a,Object.assign({},n,{splitLabel:({datum:e})=>r.a.createElement(x.a,{splits:i,datum:e,timezone:s})})):r.a.createElement(A,n):null};var V=n(582),K=n(8),F=n(565);const U=({dataCube:e,splits:{splits:t}})=>{const n=t.map(t=>Object(K.d)(e.dimensions,t.reference).title).join(", ");return r.a.createElement(F.a,null,n)},L=({essence:e,collapseRows:t})=>{const{dataCube:n,splits:a}=e;return t?r.a.createElement(V.a,{dataCube:n,splits:a}):r.a.createElement(U,{dataCube:n,splits:a})},z=e=>{const{highlightedIndex:t,scrollTopOffset:n,highlightedNesting:a,collapseRows:s}=e,l=t*i.e-n,o=s?0:Math.max(0,a-1)*i.b;return r.a.createElement("div",{className:"highlight-cont"},r.a.createElement("div",{className:"highlight"},r.a.createElement("div",{className:"highlighter",key:"highlight",style:{top:l,left:o}})))};const B=e=>{const{essence:t,stage:n,flatData:a,handleClick:s,setHoverRow:l,resetHover:o,setScrollTop:c,setSegmentWidth:h,segmentWidth:u,columnWidth:m,scrollTop:g,acceptHighlight:p,highlight:f,hoverRow:w,collapseRows:E,dropHighlight:v,availableWidth:R}=e,I=t.splits.length(),j=Object(N.a)(t,a.filter(e=>e.__nest===I)),x=Object(d.a)(t),T=a?a.length:0,D=Object(H.a)(T,n.height,g),P={bodyWidth:m*x+i.h,bodyHeight:T*i.e,top:i.a,right:0,bottom:0,left:u},A=function(e,t,n){if(!n)return null;if(null===t)return null;const{splits:a}=e,s=n.findIndex(e=>t.clauses.equals(b(a,e)));return s>=0?s:null}(t,f,a),M=null!==A&&a,V=R||i.f,K=t.splits.length();return r.a.createElement(r.a.Fragment,null,r.a.createElement(W.c,{direction:W.a.LEFT,onResize:h,min:i.f,max:V,value:u}),r.a.createElement(O.a,{layout:P,topGutter:r.a.createElement(S.a,{cellWidth:m,series:t.getConcreteSeries().toArray(),sort:t.getCommonSort(),showPrevious:t.hasComparison()}),leftGutter:r.a.createElement(_,{collapseRows:E,highlightedRowIndex:A,visibleRowsIndexRange:D,hoverRow:w,essence:t,data:a,segmentWidth:u}),topLeftCorner:r.a.createElement(L,{essence:t,collapseRows:E}),body:a&&r.a.createElement(C.a,{hoverRow:w,showBarPredicate:e=>e.__nest===K,visibleRowsIndexRange:D,essence:t,highlightedRowIndex:A,scales:j,data:a,cellWidth:m,rowWidth:m*x}),overlay:M&&r.a.createElement(z,{highlightedIndex:A,highlightedNesting:a[A].__nest,scrollTopOffset:g,collapseRows:E}),onClick:s,onMouseMove:l,onMouseLeave:o,onScroll:c}),null!==A&&r.a.createElement(y.a,{title:k(a[A],t),left:n.x+n.width/2,top:n.y+i.a+A*i.e-g- -4,acceptHighlight:p,dropHighlight:v}))};class q extends r.a.Component{constructor(...e){super(...e),Object(a.a)(this,"state",{segmentWidth:i.f}),Object(a.a)(this,"setSegmentWidth",e=>{this.setState({segmentWidth:e})})}render(){const{segmentWidth:e}=this.state;return r.a.createElement(r.a.Fragment,null,r.a.createElement(o.b,this.props),r.a.createElement(o.a,Object.assign({},this.props,{chartComponent:Object(l.a)(G,{segmentWidth:e,setSegmentWidth:this.setSegmentWidth})})))}}class G extends r.a.Component{shouldCollapseRows(){const{essence:{visualizationSettings:e}}=this.props,{collapseRows:t}=e;return t}flattenOptions(){return this.shouldCollapseRows()?{order:"inline",nestingName:"__nest"}:{order:"preorder",nestingName:"__nest"}}flattenData(){const{essence:{splits:e},data:t}=this.props;if(0===e.length())return[];return t.flatten(this.flattenOptions()).data}render(){const{essence:e,clicker:t,stage:n,acceptHighlight:a,saveHighlight:s,highlight:i,dropHighlight:l,setSegmentWidth:o,segmentWidth:c}=this.props,h=this.flattenData(),d=this.shouldCollapseRows(),u=n.width-100;return r.a.createElement("div",{className:"table-container"},r.a.createElement(R,{essence:e,clicker:t,stage:n,flatData:h,dropHighlight:l,acceptHighlight:a,highlight:i,segmentWidth:c,saveHighlight:s},({setScrollTop:t,setHoverRow:s,resetHover:m,handleClick:g,columnWidth:p,hoverRow:f,scrollTop:w})=>r.a.createElement(B,{flatData:h,essence:e,stage:n,dropHighlight:l,acceptHighlight:a,highlight:i,handleClick:g,setHoverRow:s,resetHover:m,setScrollTop:t,setSegmentWidth:o,columnWidth:p,segmentWidth:c,scrollTop:w,hoverRow:f,collapseRows:d,availableWidth:u})))}}}}]); //# sourceMappingURL=table.ca43ec5bb02f28120a8f.js.map