@kanaries/graphic-walker 0.4.29 → 0.4.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -627,7 +627,7 @@ Check the top-level render call using <`+Ce+">.")}return ye}}function l_(J,ye){{
|
|
|
627
627
|
:has([role="button"]:hover) {
|
|
628
628
|
background-color: unset;
|
|
629
629
|
}
|
|
630
|
-
`,PIe=async(e,t,n=0,r)=>await e({workflow:[...r!=null&&r.filters&&r.filters.length>0?[{type:"filter",filters:r.filters}]:[],{type:"view",query:[{op:"raw",fields:["*"]}]},...r!=null&&r.sorting?[{type:"sort",by:[r.sorting.fid],sort:r.sorting.sort}]:[]],limit:t,offset:n*t}),q2=async(e,t,n)=>t.length===1&&t[0].type==="view"&&t[0].query.length===1&&t[0].query[0].op==="raw"&&t[0].query[0].fields.length===0?[]:await e({workflow:t,limit:n}),eB=async(e,t,n)=>{var E;const{values:r=!0,range:i=!0,valuesMeta:o=!0,sortBy:a="none"}=n,s=`count_${t.fid}`,l=`total_distinct_${t.fid}`,u=`min_${t.fid}`,c=`max_${t.fid}`,d=t.computed?[{type:"transform",transform:[{expression:t.expression,key:t.fid}]}]:[],f={workflow:[...d,{type:"view",query:[{op:"aggregate",groupBy:[],measures:[{field:
|
|
630
|
+
`,PIe=async(e,t,n=0,r)=>await e({workflow:[...r!=null&&r.filters&&r.filters.length>0?[{type:"filter",filters:r.filters}]:[],{type:"view",query:[{op:"raw",fields:["*"]}]},...r!=null&&r.sorting?[{type:"sort",by:[r.sorting.fid],sort:r.sorting.sort}]:[]],limit:t,offset:n*t}),q2=async(e,t,n)=>t.length===1&&t[0].type==="view"&&t[0].query.length===1&&t[0].query[0].op==="raw"&&t[0].query[0].fields.length===0?[]:await e({workflow:t,limit:n}),eB=async(e,t,n)=>{var E;const{values:r=!0,range:i=!0,valuesMeta:o=!0,sortBy:a="none"}=n,s=`count_${t.fid}`,l=`total_distinct_${t.fid}`,u=`min_${t.fid}`,c=`max_${t.fid}`,d=t.computed?[{type:"transform",transform:[{expression:t.expression,key:t.fid}]}]:[],f={workflow:[...d,{type:"view",query:[{op:"aggregate",groupBy:[t.fid],measures:[{field:"*",agg:"count",asFieldKey:s}]}]},{type:"view",query:[{op:"aggregate",groupBy:[],measures:[{field:"*",agg:"count",asFieldKey:l},{field:s,agg:"sum",asFieldKey:"count"}]}]}]},p={workflow:[...d,{type:"view",query:[{op:"aggregate",groupBy:[t.fid],measures:[{field:"*",agg:"count",asFieldKey:s}]}]},...a==="none"?[]:[{type:"sort",by:[a.startsWith("value")?t.fid:s],sort:a.endsWith("dsc")?"descending":"ascending"}]],limit:n.valuesLimit,offset:n.valuesOffset},[g={[l]:0,count:0}]=o?await e(f):[{[l]:0,count:0}],b=r?await e(p):[],y={workflow:[...d,{type:"view",query:[{op:"aggregate",groupBy:[],measures:[{field:t.fid,agg:"min",asFieldKey:u},{field:t.fid,agg:"max",asFieldKey:c}]}]}]},[x={[u]:0,[c]:0}]=i?await e(y):[{[u]:0,[c]:0}],w=(E=n.selectedCount)!=null&&E.size?{workflow:[...d,{type:"filter",filters:[{fid:t.fid,rule:{type:"one of",value:[...n.selectedCount]}}]},{type:"view",query:[{op:"aggregate",groupBy:[],measures:[{field:"*",agg:"count",asFieldKey:"count"}]}]}]}:null,[Z={count:0}]=w?await e(w):[];return{values:b.map(I=>({value:I[t.fid],count:I[s]})),valuesMeta:{total:g.count,distinctTotal:g[l]},range:[x[u],x[c]],selectedCount:Z.count}};async function tB(e,t){const n=`distinct_count_${t}`;return(await e({workflow:[{type:"view",query:[{op:"aggregate",groupBy:[t],measures:[{field:"*",agg:"count",asFieldKey:n}]}]}]})).sort((o,a)=>a[n]-o[n]).map(o=>({value:o[t],count:o[n]}))}async function nB(e,t){const n=`min_${t}`,r=`max_${t}`,i={workflow:[{type:"view",query:[{op:"aggregate",groupBy:[],measures:[{field:t,agg:"min",asFieldKey:n},{field:t,agg:"max",asFieldKey:r}]}]}]},[o={[n]:0,[r]:0}]=await e(i);return[o[n],o[r]]}async function VC(e,t){var r;const n=await e({workflow:[{type:"view",query:[{op:"raw",fields:[t]}]}],limit:1,offset:0});return(r=n==null?void 0:n[0])==null?void 0:r[t]}async function FC(e,t){const n=await VC(e,t),r=d9(n),i=`min_${t}`,o=`max_${t}`,a={workflow:[{type:"view",query:[{op:"aggregate",groupBy:[],measures:[{field:t,agg:"min",asFieldKey:i,format:r},{field:t,agg:"max",asFieldKey:o,format:r}]}]}]},[s={[i]:0,[o]:0}]=await e(a);return[new Date(s[i]).getTime(),new Date(s[o]).getTime()]}const RIe=e=>e.filter(Boolean),rB=e=>{const t=Ot(),n=t.currentVis.encodings[e],{t:r}=at("translation",{keyPrefix:"field_menu"}),i=Ll();return m.useMemo(()=>n.map((o,a)=>{var u;const s=((u=o.expression)==null?void 0:u.op)==="dateTimeDrill",l=[Nr,or,ar].includes(o.fid);return RIe([e==="dimensions"&&{label:r("to_mea"),disabled:l,onPress(){t.moveField("dimensions",a,"measures",t.viewMeasures.length)}},e==="measures"&&{label:r("to_dim"),disabled:l,onPress(){t.moveField("measures",a,"dimensions",t.viewDimensions.length)}},{label:r("new_calc"),disabled:o.semanticType==="nominal"||o.semanticType==="ordinal"||l,children:[{label:r("bin"),onPress(){t.createBinField(e,a,"bin")}},{label:r("binCount"),disabled:o.semanticType==="nominal"||o.semanticType==="ordinal",onPress(){t.createBinField(e,a,"binCount")}},{label:r("log",{base:10}),disabled:o.semanticType==="nominal"||o.semanticType==="ordinal",onPress(){t.createLogField(e,a,"log",10)}},{label:r("log",{base:2}),disabled:o.semanticType==="nominal"||o.semanticType==="ordinal",onPress(){t.createLogField(e,a,"log",2)}},{label:r("binCustom"),disabled:o.semanticType==="nominal"||o.semanticType==="ordinal",onPress(){t.setShowBinSettingPanel(!0),t.setCreateField({channel:e,index:a})}},{label:r("logCustom"),disabled:o.semanticType==="nominal"||o.semanticType==="ordinal",onPress(){t.setShowLogSettingPanel(!0),t.setCreateField({channel:e,index:a})}}]},{label:r("semantic_type.name"),disabled:l,children:["nominal","ordinal","quantitative","temporal"].map(c=>({label:r(`semantic_type.types.${c}`),disabled:o.semanticType===c,onPress(){const d=o.analyticType==="dimension"?"dimensions":"measures";t.changeSemanticType(d,a,c)}}))},(o.semanticType==="temporal"||s)&&{label:r("drill.name"),disabled:l,children:_2e.map(c=>{var d,f;return{label:r(`drill.levels.${c}`),disabled:s&&((f=(d=o.expression)==null?void 0:d.params.find(p=>p.type==="value"))==null?void 0:f.value)===c,onPress(){const p=(s?t.allFields.find(y=>{var x,w;return y.fid===((w=(x=o.expression)==null?void 0:x.params.find(Z=>Z.type==="field"))==null?void 0:w.value)}):null)??o,g=p.analyticType==="dimension"?"dimensions":"measures",b=t.allFields.findIndex(y=>y.fid===p.fid);VC(i,p.fid).then(d9).then(y=>t.createDateTimeDrilledField(g,b,c,`${r(`drill.levels.${c}`)} (${p.name||p.fid})`,y))}}})},(o.semanticType==="temporal"||s)&&{label:r("drill.feature_name"),disabled:l,children:G2e.map(c=>{var d,f;return{label:r(`drill.levels.${c}`),disabled:s&&((f=(d=o.expression)==null?void 0:d.params.find(p=>p.type==="value"))==null?void 0:f.value)===c,onPress(){const p=(s?t.allFields.find(y=>{var x,w;return y.fid===((w=(x=o.expression)==null?void 0:x.params.find(Z=>Z.type==="field"))==null?void 0:w.value)}):null)??o,g=p.analyticType==="dimension"?"dimensions":"measures",b=t.allFields.findIndex(y=>y.fid===p.fid);VC(i,p.fid).then(d9).then(y=>t.createDateFeatureField(g,b,c,`${r(`drill.levels.${c}`)} [${p.name||p.fid}]`,y))}}})}])}),[e,n,t,r,i])},zIe=pt(e=>{const{provided:t}=e,n=Ot(),{dimensions:r}=n,i=rB("dimensions");return m.createElement("div",{...t.droppableProps,ref:ys(t.innerRef)},r.map((o,a)=>m.createElement(i0,{key:o.dragId,draggableId:o.dragId,index:a},(s,l)=>m.createElement(rp,{title:o.name||o.fid,menu:i[a],enableContextMenu:!0,disabled:l.isDragging},m.createElement($2,{className:`flex dark:text-white pt-0.5 pb-0.5 pl-2 pr-2 mx-0 m-1 text-xs hover:bg-blue-100 dark:hover:bg-blue-800 rounded-full truncate border border-transparent ${l.isDragging?"bg-blue-100 dark:bg-blue-800":""}`,ref:ys(s.innerRef),isDragging:l.isDragging,...s.draggableProps,...s.dragHandleProps},m.createElement(np,{dataType:o.semanticType,analyticType:o.analyticType}),m.createElement("span",{className:"ml-0.5",title:o.name},o.name),m.createElement(rp.Button,{as:"div"},m.createElement(k0,{className:"w-4 h-4"}))),m.createElement($2,{className:`dark:text-white pt-0.5 pb-0.5 pl-2 pr-2 mx-0 m-1 text-xs hover:bg-blue-100 dark:hover:bg-blue-800 rounded-full border-blue-400 border truncate ${l.isDragging?"bg-blue-100 dark:bg-blue-800 flex":"hidden"}`,isDragging:l.isDragging},m.createElement(np,{dataType:o.semanticType,analyticType:o.analyticType}),m.createElement("span",{className:"ml-0.5",title:o.name},o.name),m.createElement(rp.Button,{as:"div"},m.createElement(k0,{className:"w-4 h-4"})))))))}),AIe=pt(e=>{const{provided:t}=e,n=Ot(),{measures:r}=n,i=rB("measures");return m.createElement("div",{...t.droppableProps,ref:ys(t.innerRef)},r.map((o,a)=>m.createElement(i0,{key:o.dragId,draggableId:o.dragId,index:a},(s,l)=>m.createElement("div",{className:"block"},m.createElement(rp,{title:o.name||o.fid,menu:i[a],enableContextMenu:!0,disabled:l.isDragging||o.fid===or},m.createElement($2,{className:`flex dark:text-white pt-0.5 pb-0.5 pl-2 pr-2 mx-0 m-1 text-xs hover:bg-purple-100 dark:hover:bg-purple-800 rounded-full truncate border border-transparent ${l.isDragging?"bg-purple-100 dark:bg-purple-800":""}`,isDragging:l.isDragging,ref:ys(s.innerRef),...s.draggableProps,...s.dragHandleProps},m.createElement(np,{dataType:o.semanticType,analyticType:o.analyticType}),m.createElement("span",{className:"ml-0.5",title:o.name},o.name),m.createElement(rp.Button,{as:"div"},m.createElement(k0,{className:"w-4 h-4"}))),m.createElement($2,{className:`dark:text-white pt-0.5 pb-0.5 pl-2 pr-2 mx-0 m-1 text-xs hover:bg-purple-100 dark:hover:bg-purple-800 rounded-full border-purple-400 border truncate ${l.isDragging?"bg-purple-100 dark:bg-purple-800 flex":"hidden"}`,isDragging:l.isDragging},m.createElement(np,{dataType:o.semanticType,analyticType:o.analyticType}),m.createElement("span",{className:"ml-0.5",title:o.name},o.name),m.createElement(rp.Button,{as:"div"},m.createElement(k0,{className:"w-4 h-4"}))))))))}),DIe=Ke.div`
|
|
631
631
|
@media (min-width: 640px) {
|
|
632
632
|
height: 680px;
|
|
633
633
|
}
|
|
@@ -1120,7 +1120,7 @@ ${N.map(D=>R.map(K=>D[K.fid]).join(",")).join(`
|
|
|
1120
1120
|
> .calendar-input:last-child {
|
|
1121
1121
|
margin-left: 0.5em;
|
|
1122
1122
|
}
|
|
1123
|
-
`,Ont=Ke.div``,Vnt=Ke.div``,Fnt=e=>{const{currentNum:t,totalNum:n,onChange:r}=e,i=m.useRef(null);return m.useEffect(()=>{if(!i.current)return;const o=i.current;t===n?(o.checked=!0,o.indeterminate=!1):t<n&&t>0?o.indeterminate=!0:t===0&&(o.checked=!1,o.indeterminate=!1)},[t,n]),m.createElement("input",{type:"checkbox",className:"h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600",ref:i,onChange:()=>r()})},Vse=(e,t,n,r)=>{const{values:i,range:o,valuesMeta:a,selectedCount:s}=t,[l,u]=m.useState(!0),[c,d]=m.useState(null),f=p9(e);return m.useEffect(()=>{u(!0);let p=!1;return eB(r,e,{values:i,range:o,valuesMeta:a,sortBy:n,selectedCount:s}).then(g=>{p||(d(g),u(!1))}).catch(g=>{console.warn(g),!p&&(d(null),u(!1))}),()=>{p=!0}},[f,r,i,o,a,n,s]),l?null:c},SI=20,Fse=[];function Ynt(e,t,n,r){const i=s=>s.map((l,u)=>{const c=u-n;return c>=0&&c<t.length?t[c]:l}),o=t.length+n;if(e.length>=o)return i(e);const a=e.concat(new Array(o-e.length).fill(r));return i(a)}const Pnt=(e,t,n,r)=>{var E,I,k,_;const i=m.useMemo(()=>{var C,W;return((C=e.rule)==null?void 0:C.type)==="not in"||((W=e.rule)==null?void 0:W.type)==="one of"?e.rule.value:new Set},[e.fid,n]),o=Vse(e,{values:!1,range:!1,selectedCount:i,valuesMeta:!0},"none",n),[a,s]=m.useState(0);m.useEffect(()=>{o&&s(o.selectedCount)},[o]);const[l,u]=m.useState(Fse),c=m.useRef(l),d=m.useCallback(C=>{typeof C=="function"?c.current=C(c.current):c.current=C,u(c.current)},[]),f=m.useRef({}),p=m.useCallback(C=>{const W=Math.floor(C/SI);if((c.current.length<=C||c.current[C]===null)&&f.current[W]===void 0){const T=eB(n,e,{range:!1,values:!0,valuesMeta:!1,sortBy:t,valuesLimit:SI,valuesOffset:SI*W});f.current[W]=T,T.then(N=>{if(f.current[W]===T){const{values:X}=N;d(O=>Ynt(O,X,W*SI,null))}})}},[n,t]);m.useEffect(()=>{f.current={},d(Fse)},[e.fid,n,t]),m.useEffect(()=>{p(0)},[]);const g=m.useMemo(()=>o!=null&&o.valuesMeta.distinctTotal?l.concat(new Array(Math.max(o.valuesMeta.distinctTotal-l.length,0)).fill(null)):[],[l,o==null?void 0:o.valuesMeta.distinctTotal]),b=((E=e.rule)==null?void 0:E.type)==="one of"?e.rule.value.size:o&&((I=e.rule)==null?void 0:I.type)==="not in"?o.valuesMeta.distinctTotal-e.rule.value.size:0,y=((k=e.rule)==null?void 0:k.type)==="one of"?a:o&&((_=e.rule)==null?void 0:_.type)==="not in"?o.valuesMeta.total-a:0,x=m.useCallback(()=>{!e.rule||e.rule.type!=="one of"&&e.rule.type!=="not in"||!o||(s(0),r({type:y===o.valuesMeta.total?"one of":"not in",value:new Set}))},[e.rule,r,o]),w=m.useCallback(()=>{!e.rule||e.rule.type!=="one of"&&e.rule.type!=="not in"||!o||r({type:e.rule.type==="one of"?"not in":"one of",value:e.rule.value})},[e.rule,r,o]),Z=m.useCallback((C,W,T)=>{if(!e.rule||e.rule.type!=="one of"&&e.rule.type!=="not in")return;const N=new Set(e.rule.value);W===(e.rule.type==="one of")?(s(X=>X+T),N.add(C)):(s(X=>X-T),N.delete(C)),r({type:e.rule.type,value:N})},[e.rule,r]);return{total:o==null?void 0:o.valuesMeta.total,distinctTotal:o==null?void 0:o.valuesMeta.distinctTotal,currentCount:b,currentSum:y,handleToggleFullOrEmptySet:x,handleToggleReverseSet:w,handleSelect:Z,data:g,loadData:p,loading:!o}},Rnt=e=>(m.useEffect(()=>{e.effect()},[e.effectId]),null),Yse=({active:e,field:t,onChange:n})=>{var Z,E;const[r,i]=m.useState({key:"count",ascending:!0}),{t:o}=at("translation"),a=Ll();m.useEffect(()=>{var I,k;e&&((I=t.rule)==null?void 0:I.type)!=="one of"&&((k=t.rule)==null?void 0:k.type)!=="not in"&&n({type:"not in",value:new Set})},[e,n,t]);const{currentCount:s,currentSum:l,data:u,distinctTotal:c,handleSelect:d,handleToggleFullOrEmptySet:f,handleToggleReverseSet:p,loadData:g,loading:b}=Pnt(t,`${r.key}${r.ascending?"":"_dsc"}`,a,n),y=m.useRef(null),x=Tnt({count:c??0,getScrollElement:()=>y.current,estimateSize:()=>32,overscan:10});if(b)return m.createElement("div",{className:"h-24 w-full relative"},m.createElement(sp,null));const w=({currentKey:I})=>{const k=r.key===I;return m.createElement("span",{className:`ml-2 flex-none rounded bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 cursor-pointer ${k?"text-indigo-600":"text-gray-500"}`,onClick:()=>i({key:I,ascending:k?!r.ascending:!0})},k&&!r.ascending?m.createElement(hxe,{className:"h-4 w-4"}):m.createElement(mxe,{className:"h-4 w-4"}))};return((Z=t.rule)==null?void 0:Z.type)==="one of"||((E=t.rule)==null?void 0:E.type)==="not in"?m.createElement(DF,null,m.createElement("div",null,o("constant.filter_type.one_of")),m.createElement("div",{className:"text-gray-500 dark:text-gray-300"},o("constant.filter_type.one_of_desc")),m.createElement("div",{className:"btn-grp"},m.createElement(Ose,{className:"dark:bg-zinc-900 dark:text-gray-200 dark:hover:bg-gray-800",onClick:()=>f()},o(s===c?"filters.btn.unselect_all":"filters.btn.select_all")),m.createElement(Ose,{className:"dark:bg-zinc-900 dark:text-gray-200 dark:hover:bg-gray-800",onClick:()=>p()},o("filters.btn.reverse"))),m.createElement(jF,{className:"bg-slate-50 dark:bg-gray-800"},m.createElement(wI,null,m.createElement("div",{className:"flex justify-center items-center"},m.createElement(Fnt,{currentNum:s,totalNum:c??0,onChange:f})),m.createElement("label",{className:"header text-gray-500 dark:text-gray-300 flex items-center"},o("filters.header.value"),m.createElement(w,{currentKey:"value"})),m.createElement("label",{className:"header text-gray-500 dark:text-gray-300 flex items-center"},o("filters.header.count"),m.createElement(w,{currentKey:"count"})))),m.createElement(jF,{ref:y},m.createElement("div",{style:{paddingBottom:`${x.getTotalSize()}px`,width:"100%",position:"relative"}},x.getVirtualItems().map(I=>{var X,O;const k=I.index,_=u==null?void 0:u[k];if(!_)return m.createElement(wI,{key:k,className:"animate-pulse",style:{height:`${I.size}px`,transform:`translateY(${I.start}px)`,position:"absolute",top:0,left:0,width:"100%"}},m.createElement("div",{className:"flex justify-center items-center"},m.createElement("div",{className:"h-4 w-4 bg-slate-200 rounded"})),m.createElement("div",{className:"flex justify-left items-center"},m.createElement("div",{className:"h-3 w-20 bg-slate-200 rounded"})),m.createElement("div",{className:"flex justify-right items-center"},m.createElement("div",{className:"h-3 w-6 bg-slate-200 rounded"})),m.createElement(Rnt,{effect:()=>g(k),effectId:`${t.fid}_${r.key}${r.ascending?"":"_dsc"}_${k}`}));const{value:C,count:W}=_,T=`rule_checkbox_${k}`,N=((X=t.rule)==null?void 0:X.type)==="one of"&&t.rule.value.has(C)||((O=t.rule)==null?void 0:O.type)==="not in"&&!t.rule.value.has(C);return m.createElement(wI,{key:k,style:{height:`${I.size}px`,transform:`translateY(${I.start}px)`,position:"absolute",top:0,left:0,width:"100%"}},m.createElement("div",{className:"flex justify-center items-center"},m.createElement("input",{type:"checkbox",className:"h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600",checked:N,id:T,"aria-describedby":`${T}_label`,title:String(C),onChange:({target:{checked:P}})=>d(C,P,W)})),m.createElement("label",{id:`${T}_label`,htmlFor:T,title:String(C)},`${C}`),m.createElement("label",{htmlFor:T},W))}))),m.createElement(jF,{className:"text-gray-600"},m.createElement(wI,null,m.createElement("label",null),m.createElement("label",null,o("filters.selected_keys",{count:s})),m.createElement("label",null,l)))):null},Pse=e=>{const{min:t,max:n,value:r,onChange:i}=e,o=s=>{const l=new Date(s);return Number.isNaN(l.getTime())?"":T2e(l)},a=s=>{new Date(s).getTime()<=n&&new Date(s).getTime()>=t&&i(new Date(s).getTime())};return m.createElement("input",{className:"block w-full rounded-md border-0 py-1 px-2 text-gray-900 dark:text-white shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 dark:bg-zinc-900 dark:border-gray-700 focus:ring-1 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6",type:"datetime-local",min:o(t),max:o(n),defaultValue:o(r),onChange:s=>a(s.target.value)})},znt={"one of":Yse,"not in":Yse,range:({active:e,field:t,onChange:n})=>{var l;const{t:r}=at("translation",{keyPrefix:"constant.filter_type"}),i=Ll(),o=Vse(t,{values:!1,range:!0,valuesMeta:!1},"none",i),a=o==null?void 0:o.range;m.useEffect(()=>{var u;a&&e&&((u=t.rule)==null?void 0:u.type)!=="range"&&n({type:"range",value:a})},[n,t,a,e]);const s=m.useCallback(u=>{n({type:"range",value:u})},[]);return a?((l=t.rule)==null?void 0:l.type)==="range"?m.createElement(DF,null,m.createElement("div",null,r("range")),m.createElement("div",{className:"text-gray-500"},r("range_desc")),m.createElement(xnt,{min:a[0],max:a[1],value:t.rule.value,onChange:s})):null:m.createElement("div",{className:"h-24 w-full relative"},m.createElement(sp,null))},"temporal range":({active:e,field:t,onChange:n})=>{var d;const{t:r}=at("translation"),i=Ll(),[o,a]=m.useState(()=>[0,0,!1]);m.useEffect(()=>{FC(i,t.fid).then(([f,p])=>a([f,p,!0]))},[t.fid]);const[s,l,u]=o;m.useEffect(()=>{var f;e&&((f=t.rule)==null?void 0:f.type)!=="temporal range"&&u&&n({type:"temporal range",value:[s,l]})},[n,t,s,l,e]);const c=m.useCallback(f=>{n({type:"temporal range",value:f})},[]);return u?((d=t.rule)==null?void 0:d.type)==="temporal range"?m.createElement(DF,{className:"overflow-visible"},m.createElement("div",null,r("constant.filter_type.temporal_range")),m.createElement("div",{className:"text-gray-500"},r("constant.filter_type.temporal_range_desc")),m.createElement(Xnt,null,m.createElement("div",{className:"calendar-input"},m.createElement("div",{className:"my-1"},r("filters.range.start_value")),m.createElement(Pse,{min:s,max:t.rule.value[1],value:t.rule.value[0],onChange:f=>{var p;return c([f,(p=t.rule)==null?void 0:p.value[1]])}})),m.createElement("div",{className:"calendar-input"},m.createElement("div",{className:"my-1"},r("filters.range.end_value")),m.createElement(Pse,{min:t.rule.value[0],max:l,value:t.rule.value[1],onChange:f=>{var p;return c([(p=t.rule)==null?void 0:p.value[0],f])}})))):null:m.createElement("div",{className:"h-24 w-full relative"},m.createElement(sp,null))}},ZI={"one of":{key:"one_of",descKey:"one_of_desc"},range:{key:"range",descKey:"range_desc"},"temporal range":{key:"temporal_range",descKey:"temporal_range_desc"}},Ant=e=>e==="not in"?"one of":e,EI=({rawFields:e,field:t,onChange:n,tabs:r})=>{var s;const{t:i}=at("translation",{keyPrefix:"constant.filter_type"}),[o,a]=m.useState(Ant((s=t.rule)==null?void 0:s.type)??r[0]);return m.useEffect(()=>{r.includes(o)||a(r[0])},[r]),m.createElement(Nnt,null,m.createElement("div",null,r.map(l=>m.createElement("div",{className:"flex my-2",key:l},m.createElement("div",{className:"align-top"},m.createElement("input",{type:"radio",className:"h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600",id:l,checked:l===o,onChange:u=>a(u.target.value),name:"filter_type",value:l})),m.createElement("div",{className:"ml-3"},m.createElement("label",{htmlFor:l},i(ZI[l].key)),m.createElement("div",{className:"text-gray-500"},i(ZI[l].descKey)))))),m.createElement("hr",{className:"my-0.5"}),m.createElement(Ont,null,r.map((l,u)=>{const c=znt[l];return m.createElement(Vnt,{key:u,id:`filter-panel-${ZI[l]}`,"aria-labelledby":`filter-tab-${ZI[l]}`,role:"tabpanel",hidden:o!==l,tabIndex:0},m.createElement(c,{field:t,onChange:n,active:o===l,rawFields:e}))})))},qm=e=>{const{options:t=[],disable:n,selectedKey:r,onSelect:i,placeholder:o="Select an option",className:a,buttonClassName:s}=e,l=t.find(d=>d.value===r);if(n)return m.createElement(m.Fragment,null,e.children);let u="relative",c="relative cursor-default text-xs rounded-lg bg-white dark:bg-zinc-900 px-2.5 py-1.5 pr-10 text-left border border-gray-200 dark:border-gray-700 focus:outline-none focus-visible:border-indigo-500 focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-orange-300 truncate";return s&&(c=c+" "+s),a&&(u=u+" "+a),m.createElement(Hu,{value:r,onChange:d=>{i&&i(d)}},m.createElement("div",{className:u},m.createElement(Hu.Button,{className:c},m.createElement("span",{className:"block truncate dark:text-white"},(l==null?void 0:l.label)||""),l===void 0&&m.createElement("span",{className:"block truncate text-gray-400"},o),m.createElement("span",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"},m.createElement(C0,{className:"h-5 w-5 text-gray-400","aria-hidden":"true"}))),m.createElement(Cd,{as:m.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0"},m.createElement(Hu.Options,{className:"absolute z-50 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-zinc-900 py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm"},t.map((d,f)=>m.createElement(Hu.Option,{key:d.value,className:({active:p})=>`relative cursor-default select-none py-2 pl-10 pr-4 ${p?"bg-amber-100 text-amber-900 dark:bg-amber-800 dark:text-amber-50":"text-gray-900 dark:text-gray-50"}`,value:d.value},({selected:p})=>m.createElement(m.Fragment,null,m.createElement("span",{className:`block truncate ${p?"font-medium":"font-normal"}`},d.label),p&&m.createElement("span",{className:"absolute inset-y-0 left-0 flex items-center pl-3 text-amber-600 dark:text-amber-400"},m.createElement(ej,{className:"h-5 w-5","aria-hidden":"true"})))))))))},Dnt=Jt.AGGREGATOR_LIST.map(e=>({label:e,value:e})).concat([{label:"-",value:""}]),jnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["range","one of"],rawFields:e}),Hnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["one of"],rawFields:e}),Bnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["range","one of"],rawFields:e}),Jnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["temporal range","one of"],rawFields:e}),Knt=()=>m.createElement(m.Fragment,null),Rse=e=>{const{editingFilterIdx:t,viewFilters:n,meta:r,options:i,onSelectFilter:o,onWriteFilter:a,onClose:s,onSelectAgg:l}=e,{t:u}=at("translation",{keyPrefix:"filters"}),c=m.useMemo(()=>t!==null?n[t]:null,[t,n]),[d,f]=Oxe(c),p=m.useCallback(y=>{t!==null&&f(x=>({...x,rule:y}))},[t]),g=m.useCallback(()=>{t!==null&&a(t,(d==null?void 0:d.rule)??null),s()},[t,d==null?void 0:d.rule,a]),b=c?{quantitative:jnt,nominal:Hnt,ordinal:Bnt,temporal:Jnt}[c.semanticType]:Knt;return d?m.createElement(xu,{show:Boolean(d),title:u("editing"),onClose:s},m.createElement("div",{className:"px-4 py-1"},m.createElement("div",{className:"flex space-x-2"},m.createElement("div",null,m.createElement("div",{className:"py-1"},u("form.name")),m.createElement(qm,{buttonClassName:"w-96",className:"mb-2",options:i,selectedKey:d.fid,onSelect:o})),l&&t!==null&&d.analyticType==="measure"&&m.createElement("div",null,m.createElement("div",{className:"py-1"},u("form.aggregation")),m.createElement(qm,{buttonClassName:"w-96",className:"mb-2",options:Dnt,selectedKey:d.enableAgg?d.aggName??"":"",onSelect:y=>l(t,y===""?null:y)}))),m.createElement(b,{rawFields:r,key:p9(d),field:d,onChange:p}),m.createElement("div",{className:"mt-4"},m.createElement(rs,{onClick:g,text:u("btn.confirm")}),m.createElement(_i,{className:"ml-2",onClick:s,text:u("btn.cancel")})))):null},Mnt=pt(()=>{var x,w;const e=Ot(),{editingFilterIdx:t,viewFilters:n,dimensions:r,measures:i,meta:o,allFields:a,viewDimensions:s}=e,l=Ll(),u=t!==null&&(x=n[t])!=null&&x.enableAgg?a.find(Z=>Z.fid===n[t].fid):void 0,c=t!==null&&(w=n[t])!=null&&w.enableAgg?n[t].aggName:void 0,d=m.useMemo(()=>{if(u&&s.length>0){const Z=Dh([],a,s,[{...u,aggName:c}],!0,"none").map(E=>E.type==="view"?{...E,query:E.query.map(I=>I.op==="aggregate"?{...I,measures:I.measures.map(k=>({...k,asFieldKey:k.field}))}:I)}:E);return E=>l({...E,workflow:Z.concat(E.workflow.filter(I=>I.type!=="transform"))})}else return l},[l,s,u,c]),f=m.useCallback(()=>e.closeFilterEditing(),[e]),p=m.useCallback((Z,E)=>{Z!==null&&e.writeFilter(Z,E??null)},[e]),g=Z=>{const E=n.findIndex(I=>I.fid===Z);if(E>=0)e.setFilterEditing(E);else{const I=r.find(_=>_.fid===Z)?"dimensions":"measures",k=I==="dimensions"?r.findIndex(_=>_.fid===Z):i.findIndex(_=>_.fid===Z);t!==null&&e.modFilter(t,I,k)}},b=m.useMemo(()=>a.filter(Z=>![Nr,or,ar].includes(Z.fid)).map(Z=>({label:Z.name,value:Z.fid})),[a]),y=(Z,E)=>{e.setFilterAggregator(Z,E??"")};return m.createElement(O0.Provider,{value:d},m.createElement(Rse,{options:b,editingFilterIdx:t,meta:o,onClose:f,onSelectFilter:g,onWriteFilter:p,viewFilters:n,onSelectAgg:y}))}),Unt=pt(({provided:e})=>{const t=Ot(),{viewFilters:n}=t;return m.createElement(B5e,{...e.droppableProps,ref:ys(e.innerRef)},n.map((r,i)=>m.createElement(i0,{key:r.dragId,draggableId:r.dragId,index:i},(o,a)=>m.createElement(mnt,{fIndex:i,provided:o}))),e.placeholder,m.createElement(Mnt,null))}),Qnt=()=>m.createElement("div",null,m.createElement(j5e,null,m.createElement(Eh,{droppableId:"filters",direction:"vertical"},(e,t)=>m.createElement(Unt,{provided:e}))));function $nt(...e){return e.filter(Boolean).join(" ")}function HF(e){const{tabs:t,selectedKey:n,onSelected:r}=e;return m.createElement("div",{className:"border-b border-gray-200 dark:border-gray-700"},m.createElement("nav",{className:"-mb-px flex space-x-8",role:"tablist","aria-label":"Tabs"},t.map((i,o)=>m.createElement("span",{role:"tab",tabIndex:0,onClick:()=>{!i.disabled&&r(i.key,o)},key:i.key,className:$nt(i.key===n?"border-indigo-500 text-indigo-600 dark:border-indigo-400 dark:text-indigo-300":"border-transparent text-gray-500 hover:text-gray-700 dark:hover:text-gray-200 hover:border-gray-300 dark:text-gray-400","whitespace-nowrap py-2 px-1 border-b-2 font-medium text-sm cursor-pointer",i.disabled?"opacity-50 cursor-not-allowed":"")},i.label))))}const qnt=pt(e=>{const t=Ot(),{segmentKey:n}=t,{t:r}=at(),i=[{key:Qe.ISegmentKey.data,label:m.createElement("div",{className:"flex"},m.createElement(gxe,{className:"w-4 mr-2"})," ",r("App.segments.data"))},{key:Qe.ISegmentKey.vis,label:m.createElement("div",{className:"flex"},m.createElement(dxe,{className:"w-4 mr-2"})," ",r("App.segments.vis"))}],o=m.useCallback((a,s)=>{t.setVisName(s,a)},[t]);return m.createElement(HF,{selectedKey:n,tabs:i,onEditLabel:o,onSelected:a=>{t.setSegmentKey(a)}})});function BF(...e){return`rounded-md px-2.5 py-1.5 text-xs font-medium ${e==null?void 0:e.join(" ")}`}const JF="ring-1 ring-inset ring-gray-300 bg-white dark:bg-zinc-900 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800";function ert(e){const{total:t,onNext:n,onPrev:r,pageIndex:i,onPageChange:o,pageSize:a=100,extendPageNumber:s=1}=e,{t:l}=at(),u=m.useMemo(()=>{const d=Math.ceil(t/(a??1)),f=[{index:0,disabled:!1,type:"page"},...new Array(1+s*2).fill(0).map((b,y)=>({index:i-(s-y),disabled:!1,type:"page"})),{index:d-1,disabled:!1,type:"page"}].filter(b=>b.index>=0&&b.index<d),p=[],g=new Set;for(let b of f)g.has(b.index)||(p.push(b),g.add(b.index));return p},[i,a,s,t,i]),c=d=>m.createElement("button",{key:d,className:BF("inline-block",d===i?"bg-indigo-600 text-white":JF),onClick:()=>{o&&o(d)}},d+1);return u.length>0?m.createElement("div",{className:"flex flex-1 justify-between sm:justify-end gap-2"},m.createElement("button",{onClick:()=>{r()},className:"relative inline-flex items-center rounded-md border border-gray-300 bg-white dark:bg-zinc-900 px-2.5 py-1.5 text-xs font-medium text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"},l("actions.prev")),c(u[0].index),u.length>2&&u[1].index>u[0].index+1&&m.createElement("div",{className:BF("inline-block",JF),"aria-hidden":!0},"..."),u.slice(1,-1).map(d=>c(d.index)),u.length>2&&u[u.length-1].index>u[u.length-2].index+1&&m.createElement("div",{className:BF("inline-block",JF),"aria-hidden":!0},"..."),u.length>2&&c(u[u.length-1].index),m.createElement("button",{onClick:()=>{n()},className:"relative inline-flex items-center rounded-md border border-gray-300 bg-white dark:bg-zinc-900 px-2.5 py-1.5 text-xs font-medium text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"},l("actions.next"))):null}const trt=Ke.div`
|
|
1123
|
+
`,Ont=Ke.div``,Vnt=Ke.div``,Fnt=e=>{const{currentNum:t,totalNum:n,onChange:r}=e,i=m.useRef(null);return m.useEffect(()=>{if(!i.current)return;const o=i.current;t===n?(o.checked=!0,o.indeterminate=!1):t<n&&t>0?o.indeterminate=!0:t===0&&(o.checked=!1,o.indeterminate=!1)},[t,n]),m.createElement("input",{type:"checkbox",className:"h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600",ref:i,onChange:()=>r()})},Vse=(e,t,n,r)=>{const{values:i,range:o,valuesMeta:a,selectedCount:s}=t,[l,u]=m.useState(!0),[c,d]=m.useState(null),f=p9(e);return m.useEffect(()=>{u(!0);let p=!1;return eB(r,e,{values:i,range:o,valuesMeta:a,sortBy:n,selectedCount:s}).then(g=>{p||(d(g),u(!1))}).catch(g=>{console.warn(g),!p&&(d(null),u(!1))}),()=>{p=!0}},[f,r,i,o,a,n,s]),l?null:c},SI=20,Fse=[];function Ynt(e,t,n,r){const i=s=>s.map((l,u)=>{const c=u-n;return c>=0&&c<t.length?t[c]:l}),o=t.length+n;if(e.length>=o)return i(e);const a=e.concat(new Array(o-e.length).fill(r));return i(a)}const Pnt=(e,t,n,r)=>{var E,I,k,_;const i=m.useMemo(()=>{var C,W;return((C=e.rule)==null?void 0:C.type)==="not in"||((W=e.rule)==null?void 0:W.type)==="one of"?e.rule.value:new Set},[e.fid,n]),o=Vse(e,{values:!1,range:!1,selectedCount:i,valuesMeta:!0},"none",n),[a,s]=m.useState(0);m.useEffect(()=>{o&&s(o.selectedCount)},[o]);const[l,u]=m.useState(Fse),c=m.useRef(l),d=m.useCallback(C=>{typeof C=="function"?c.current=C(c.current):c.current=C,u(c.current)},[]),f=m.useRef({}),p=m.useCallback(C=>{const W=Math.floor(C/SI);if((c.current.length<=C||c.current[C]===null)&&f.current[W]===void 0){const T=eB(n,e,{range:!1,values:!0,valuesMeta:!1,sortBy:t,valuesLimit:SI,valuesOffset:SI*W});f.current[W]=T,T.then(N=>{if(f.current[W]===T){const{values:X}=N;d(O=>Ynt(O,X,W*SI,null))}})}},[n,t]);m.useEffect(()=>{f.current={},d(Fse)},[e.fid,n,t]),m.useEffect(()=>{p(0)},[]);const g=m.useMemo(()=>o!=null&&o.valuesMeta.distinctTotal?l.concat(new Array(Math.max(o.valuesMeta.distinctTotal-l.length,0)).fill(null)):[],[l,o==null?void 0:o.valuesMeta.distinctTotal]),b=((E=e.rule)==null?void 0:E.type)==="one of"?e.rule.value.size:o&&((I=e.rule)==null?void 0:I.type)==="not in"?o.valuesMeta.distinctTotal-e.rule.value.size:0,y=((k=e.rule)==null?void 0:k.type)==="one of"?a:o&&((_=e.rule)==null?void 0:_.type)==="not in"?o.valuesMeta.total-a:0,x=m.useCallback(()=>{!e.rule||e.rule.type!=="one of"&&e.rule.type!=="not in"||!o||(s(0),r({type:b===o.valuesMeta.distinctTotal?"one of":"not in",value:new Set}))},[e.rule,r,o]),w=m.useCallback(()=>{!e.rule||e.rule.type!=="one of"&&e.rule.type!=="not in"||!o||r({type:e.rule.type==="one of"?"not in":"one of",value:e.rule.value})},[e.rule,r,o]),Z=m.useCallback((C,W,T)=>{if(!e.rule||e.rule.type!=="one of"&&e.rule.type!=="not in")return;const N=new Set(e.rule.value);W===(e.rule.type==="one of")?(s(X=>X+T),N.add(C)):(s(X=>X-T),N.delete(C)),r({type:e.rule.type,value:N})},[e.rule,r]);return{total:o==null?void 0:o.valuesMeta.total,distinctTotal:o==null?void 0:o.valuesMeta.distinctTotal,currentCount:b,currentSum:y,handleToggleFullOrEmptySet:x,handleToggleReverseSet:w,handleSelect:Z,data:g,loadData:p,loading:!o}},Rnt=e=>(m.useEffect(()=>{e.effect()},[e.effectId]),null),Yse=({active:e,field:t,onChange:n})=>{var Z,E;const[r,i]=m.useState({key:"count",ascending:!0}),{t:o}=at("translation"),a=Ll();m.useEffect(()=>{var I,k;e&&((I=t.rule)==null?void 0:I.type)!=="one of"&&((k=t.rule)==null?void 0:k.type)!=="not in"&&n({type:"not in",value:new Set})},[e,n,t]);const{currentCount:s,currentSum:l,data:u,distinctTotal:c,handleSelect:d,handleToggleFullOrEmptySet:f,handleToggleReverseSet:p,loadData:g,loading:b}=Pnt(t,`${r.key}${r.ascending?"":"_dsc"}`,a,n),y=m.useRef(null),x=Tnt({count:c??0,getScrollElement:()=>y.current,estimateSize:()=>32,overscan:10});if(b)return m.createElement("div",{className:"h-24 w-full relative"},m.createElement(sp,null));const w=({currentKey:I})=>{const k=r.key===I;return m.createElement("span",{className:`ml-2 flex-none rounded bg-gray-100 dark:bg-gray-800 hover:bg-gray-200 dark:hover:bg-gray-700 cursor-pointer ${k?"text-indigo-600":"text-gray-500"}`,onClick:()=>i({key:I,ascending:k?!r.ascending:!0})},k&&!r.ascending?m.createElement(hxe,{className:"h-4 w-4"}):m.createElement(mxe,{className:"h-4 w-4"}))};return((Z=t.rule)==null?void 0:Z.type)==="one of"||((E=t.rule)==null?void 0:E.type)==="not in"?m.createElement(DF,null,m.createElement("div",null,o("constant.filter_type.one_of")),m.createElement("div",{className:"text-gray-500 dark:text-gray-300"},o("constant.filter_type.one_of_desc")),m.createElement("div",{className:"btn-grp"},m.createElement(Ose,{className:"dark:bg-zinc-900 dark:text-gray-200 dark:hover:bg-gray-800",onClick:()=>f()},o(s===c?"filters.btn.unselect_all":"filters.btn.select_all")),m.createElement(Ose,{className:"dark:bg-zinc-900 dark:text-gray-200 dark:hover:bg-gray-800",onClick:()=>p()},o("filters.btn.reverse"))),m.createElement(jF,{className:"bg-slate-50 dark:bg-gray-800"},m.createElement(wI,null,m.createElement("div",{className:"flex justify-center items-center"},m.createElement(Fnt,{currentNum:s,totalNum:c??0,onChange:f})),m.createElement("label",{className:"header text-gray-500 dark:text-gray-300 flex items-center"},o("filters.header.value"),m.createElement(w,{currentKey:"value"})),m.createElement("label",{className:"header text-gray-500 dark:text-gray-300 flex items-center"},o("filters.header.count"),m.createElement(w,{currentKey:"count"})))),m.createElement(jF,{ref:y},m.createElement("div",{style:{paddingBottom:`${x.getTotalSize()}px`,width:"100%",position:"relative"}},x.getVirtualItems().map(I=>{var X,O;const k=I.index,_=u==null?void 0:u[k];if(!_)return m.createElement(wI,{key:k,className:"animate-pulse",style:{height:`${I.size}px`,transform:`translateY(${I.start}px)`,position:"absolute",top:0,left:0,width:"100%"}},m.createElement("div",{className:"flex justify-center items-center"},m.createElement("div",{className:"h-4 w-4 bg-slate-200 rounded"})),m.createElement("div",{className:"flex justify-left items-center"},m.createElement("div",{className:"h-3 w-20 bg-slate-200 rounded"})),m.createElement("div",{className:"flex justify-right items-center"},m.createElement("div",{className:"h-3 w-6 bg-slate-200 rounded"})),m.createElement(Rnt,{effect:()=>g(k),effectId:`${t.fid}_${r.key}${r.ascending?"":"_dsc"}_${k}`}));const{value:C,count:W}=_,T=`rule_checkbox_${k}`,N=((X=t.rule)==null?void 0:X.type)==="one of"&&t.rule.value.has(C)||((O=t.rule)==null?void 0:O.type)==="not in"&&!t.rule.value.has(C);return m.createElement(wI,{key:k,style:{height:`${I.size}px`,transform:`translateY(${I.start}px)`,position:"absolute",top:0,left:0,width:"100%"}},m.createElement("div",{className:"flex justify-center items-center"},m.createElement("input",{type:"checkbox",className:"h-4 w-4 rounded border-gray-300 text-indigo-600 focus:ring-indigo-600",checked:N,id:T,"aria-describedby":`${T}_label`,title:String(C),onChange:({target:{checked:P}})=>d(C,P,W)})),m.createElement("label",{id:`${T}_label`,htmlFor:T,title:String(C)},`${C}`),m.createElement("label",{htmlFor:T},W))}))),m.createElement(jF,{className:"text-gray-600"},m.createElement(wI,null,m.createElement("label",null),m.createElement("label",null,o("filters.selected_keys",{count:s})),m.createElement("label",null,l)))):null},Pse=e=>{const{min:t,max:n,value:r,onChange:i}=e,o=s=>{const l=new Date(s);return Number.isNaN(l.getTime())?"":T2e(l)},a=s=>{new Date(s).getTime()<=n&&new Date(s).getTime()>=t&&i(new Date(s).getTime())};return m.createElement("input",{className:"block w-full rounded-md border-0 py-1 px-2 text-gray-900 dark:text-white shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 dark:bg-zinc-900 dark:border-gray-700 focus:ring-1 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6",type:"datetime-local",min:o(t),max:o(n),defaultValue:o(r),onChange:s=>a(s.target.value)})},znt={"one of":Yse,"not in":Yse,range:({active:e,field:t,onChange:n})=>{var l;const{t:r}=at("translation",{keyPrefix:"constant.filter_type"}),i=Ll(),o=Vse(t,{values:!1,range:!0,valuesMeta:!1},"none",i),a=o==null?void 0:o.range;m.useEffect(()=>{var u;a&&e&&((u=t.rule)==null?void 0:u.type)!=="range"&&n({type:"range",value:a})},[n,t,a,e]);const s=m.useCallback(u=>{n({type:"range",value:u})},[]);return a?((l=t.rule)==null?void 0:l.type)==="range"?m.createElement(DF,null,m.createElement("div",null,r("range")),m.createElement("div",{className:"text-gray-500"},r("range_desc")),m.createElement(xnt,{min:a[0],max:a[1],value:t.rule.value,onChange:s})):null:m.createElement("div",{className:"h-24 w-full relative"},m.createElement(sp,null))},"temporal range":({active:e,field:t,onChange:n})=>{var d;const{t:r}=at("translation"),i=Ll(),[o,a]=m.useState(()=>[0,0,!1]);m.useEffect(()=>{FC(i,t.fid).then(([f,p])=>a([f,p,!0]))},[t.fid]);const[s,l,u]=o;m.useEffect(()=>{var f;e&&((f=t.rule)==null?void 0:f.type)!=="temporal range"&&u&&n({type:"temporal range",value:[s,l]})},[n,t,s,l,e]);const c=m.useCallback(f=>{n({type:"temporal range",value:f})},[]);return u?((d=t.rule)==null?void 0:d.type)==="temporal range"?m.createElement(DF,{className:"overflow-visible"},m.createElement("div",null,r("constant.filter_type.temporal_range")),m.createElement("div",{className:"text-gray-500"},r("constant.filter_type.temporal_range_desc")),m.createElement(Xnt,null,m.createElement("div",{className:"calendar-input"},m.createElement("div",{className:"my-1"},r("filters.range.start_value")),m.createElement(Pse,{min:s,max:t.rule.value[1],value:t.rule.value[0],onChange:f=>{var p;return c([f,(p=t.rule)==null?void 0:p.value[1]])}})),m.createElement("div",{className:"calendar-input"},m.createElement("div",{className:"my-1"},r("filters.range.end_value")),m.createElement(Pse,{min:t.rule.value[0],max:l,value:t.rule.value[1],onChange:f=>{var p;return c([(p=t.rule)==null?void 0:p.value[0],f])}})))):null:m.createElement("div",{className:"h-24 w-full relative"},m.createElement(sp,null))}},ZI={"one of":{key:"one_of",descKey:"one_of_desc"},range:{key:"range",descKey:"range_desc"},"temporal range":{key:"temporal_range",descKey:"temporal_range_desc"}},Ant=e=>e==="not in"?"one of":e,EI=({rawFields:e,field:t,onChange:n,tabs:r})=>{var s;const{t:i}=at("translation",{keyPrefix:"constant.filter_type"}),[o,a]=m.useState(Ant((s=t.rule)==null?void 0:s.type)??r[0]);return m.useEffect(()=>{r.includes(o)||a(r[0])},[r]),m.createElement(Nnt,null,m.createElement("div",null,r.map(l=>m.createElement("div",{className:"flex my-2",key:l},m.createElement("div",{className:"align-top"},m.createElement("input",{type:"radio",className:"h-4 w-4 border-gray-300 text-indigo-600 focus:ring-indigo-600",id:l,checked:l===o,onChange:u=>a(u.target.value),name:"filter_type",value:l})),m.createElement("div",{className:"ml-3"},m.createElement("label",{htmlFor:l},i(ZI[l].key)),m.createElement("div",{className:"text-gray-500"},i(ZI[l].descKey)))))),m.createElement("hr",{className:"my-0.5"}),m.createElement(Ont,null,r.map((l,u)=>{const c=znt[l];return m.createElement(Vnt,{key:u,id:`filter-panel-${ZI[l]}`,"aria-labelledby":`filter-tab-${ZI[l]}`,role:"tabpanel",hidden:o!==l,tabIndex:0},m.createElement(c,{field:t,onChange:n,active:o===l,rawFields:e}))})))},qm=e=>{const{options:t=[],disable:n,selectedKey:r,onSelect:i,placeholder:o="Select an option",className:a,buttonClassName:s}=e,l=t.find(d=>d.value===r);if(n)return m.createElement(m.Fragment,null,e.children);let u="relative",c="relative cursor-default text-xs rounded-lg bg-white dark:bg-zinc-900 px-2.5 py-1.5 pr-10 text-left border border-gray-200 dark:border-gray-700 focus:outline-none focus-visible:border-indigo-500 focus-visible:ring-2 focus-visible:ring-white focus-visible:ring-opacity-75 focus-visible:ring-offset-2 focus-visible:ring-offset-orange-300 truncate";return s&&(c=c+" "+s),a&&(u=u+" "+a),m.createElement(Hu,{value:r,onChange:d=>{i&&i(d)}},m.createElement("div",{className:u},m.createElement(Hu.Button,{className:c},m.createElement("span",{className:"block truncate dark:text-white"},(l==null?void 0:l.label)||""),l===void 0&&m.createElement("span",{className:"block truncate text-gray-400"},o),m.createElement("span",{className:"pointer-events-none absolute inset-y-0 right-0 flex items-center pr-2"},m.createElement(C0,{className:"h-5 w-5 text-gray-400","aria-hidden":"true"}))),m.createElement(Cd,{as:m.Fragment,leave:"transition ease-in duration-100",leaveFrom:"opacity-100",leaveTo:"opacity-0"},m.createElement(Hu.Options,{className:"absolute z-50 mt-1 max-h-60 w-full overflow-auto rounded-md bg-white dark:bg-zinc-900 py-1 text-base shadow-lg ring-1 ring-black ring-opacity-5 focus:outline-none sm:text-sm"},t.map((d,f)=>m.createElement(Hu.Option,{key:d.value,className:({active:p})=>`relative cursor-default select-none py-2 pl-10 pr-4 ${p?"bg-amber-100 text-amber-900 dark:bg-amber-800 dark:text-amber-50":"text-gray-900 dark:text-gray-50"}`,value:d.value},({selected:p})=>m.createElement(m.Fragment,null,m.createElement("span",{className:`block truncate ${p?"font-medium":"font-normal"}`},d.label),p&&m.createElement("span",{className:"absolute inset-y-0 left-0 flex items-center pl-3 text-amber-600 dark:text-amber-400"},m.createElement(ej,{className:"h-5 w-5","aria-hidden":"true"})))))))))},Dnt=Jt.AGGREGATOR_LIST.map(e=>({label:e,value:e})).concat([{label:"-",value:""}]),jnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["range","one of"],rawFields:e}),Hnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["one of"],rawFields:e}),Bnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["range","one of"],rawFields:e}),Jnt=({rawFields:e,field:t,onChange:n})=>m.createElement(EI,{field:t,onChange:n,tabs:["temporal range","one of"],rawFields:e}),Knt=()=>m.createElement(m.Fragment,null),Rse=e=>{const{editingFilterIdx:t,viewFilters:n,meta:r,options:i,onSelectFilter:o,onWriteFilter:a,onClose:s,onSelectAgg:l}=e,{t:u}=at("translation",{keyPrefix:"filters"}),c=m.useMemo(()=>t!==null?n[t]:null,[t,n]),[d,f]=Oxe(c),p=m.useCallback(y=>{t!==null&&f(x=>({...x,rule:y}))},[t]),g=m.useCallback(()=>{t!==null&&a(t,(d==null?void 0:d.rule)??null),s()},[t,d==null?void 0:d.rule,a]),b=c?{quantitative:jnt,nominal:Hnt,ordinal:Bnt,temporal:Jnt}[c.semanticType]:Knt;return d?m.createElement(xu,{show:Boolean(d),title:u("editing"),onClose:s},m.createElement("div",{className:"px-4 py-1"},m.createElement("div",{className:"flex space-x-2"},m.createElement("div",null,m.createElement("div",{className:"py-1"},u("form.name")),m.createElement(qm,{buttonClassName:"w-96",className:"mb-2",options:i,selectedKey:d.fid,onSelect:o})),l&&t!==null&&d.analyticType==="measure"&&m.createElement("div",null,m.createElement("div",{className:"py-1"},u("form.aggregation")),m.createElement(qm,{buttonClassName:"w-96",className:"mb-2",options:Dnt,selectedKey:d.enableAgg?d.aggName??"":"",onSelect:y=>l(t,y===""?null:y)}))),m.createElement(b,{rawFields:r,key:p9(d),field:d,onChange:p}),m.createElement("div",{className:"mt-4"},m.createElement(rs,{onClick:g,text:u("btn.confirm")}),m.createElement(_i,{className:"ml-2",onClick:s,text:u("btn.cancel")})))):null},Mnt=pt(()=>{var x,w;const e=Ot(),{editingFilterIdx:t,viewFilters:n,dimensions:r,measures:i,meta:o,allFields:a,viewDimensions:s}=e,l=Ll(),u=t!==null&&(x=n[t])!=null&&x.enableAgg?a.find(Z=>Z.fid===n[t].fid):void 0,c=t!==null&&(w=n[t])!=null&&w.enableAgg?n[t].aggName:void 0,d=m.useMemo(()=>{if(u&&s.length>0){const Z=Dh([],a,s,[{...u,aggName:c}],!0,"none").map(E=>E.type==="view"?{...E,query:E.query.map(I=>I.op==="aggregate"?{...I,measures:I.measures.map(k=>({...k,asFieldKey:k.field}))}:I)}:E);return E=>l({...E,workflow:Z.concat(E.workflow.filter(I=>I.type!=="transform"))})}else return l},[l,s,u,c]),f=m.useCallback(()=>e.closeFilterEditing(),[e]),p=m.useCallback((Z,E)=>{Z!==null&&e.writeFilter(Z,E??null)},[e]),g=Z=>{const E=n.findIndex(I=>I.fid===Z);if(E>=0)e.setFilterEditing(E);else{const I=r.find(_=>_.fid===Z)?"dimensions":"measures",k=I==="dimensions"?r.findIndex(_=>_.fid===Z):i.findIndex(_=>_.fid===Z);t!==null&&e.modFilter(t,I,k)}},b=m.useMemo(()=>a.filter(Z=>![Nr,or,ar].includes(Z.fid)).map(Z=>({label:Z.name,value:Z.fid})),[a]),y=(Z,E)=>{e.setFilterAggregator(Z,E??"")};return m.createElement(O0.Provider,{value:d},m.createElement(Rse,{options:b,editingFilterIdx:t,meta:o,onClose:f,onSelectFilter:g,onWriteFilter:p,viewFilters:n,onSelectAgg:y}))}),Unt=pt(({provided:e})=>{const t=Ot(),{viewFilters:n}=t;return m.createElement(B5e,{...e.droppableProps,ref:ys(e.innerRef)},n.map((r,i)=>m.createElement(i0,{key:r.dragId,draggableId:r.dragId,index:i},(o,a)=>m.createElement(mnt,{fIndex:i,provided:o}))),e.placeholder,m.createElement(Mnt,null))}),Qnt=()=>m.createElement("div",null,m.createElement(j5e,null,m.createElement(Eh,{droppableId:"filters",direction:"vertical"},(e,t)=>m.createElement(Unt,{provided:e}))));function $nt(...e){return e.filter(Boolean).join(" ")}function HF(e){const{tabs:t,selectedKey:n,onSelected:r}=e;return m.createElement("div",{className:"border-b border-gray-200 dark:border-gray-700"},m.createElement("nav",{className:"-mb-px flex space-x-8",role:"tablist","aria-label":"Tabs"},t.map((i,o)=>m.createElement("span",{role:"tab",tabIndex:0,onClick:()=>{!i.disabled&&r(i.key,o)},key:i.key,className:$nt(i.key===n?"border-indigo-500 text-indigo-600 dark:border-indigo-400 dark:text-indigo-300":"border-transparent text-gray-500 hover:text-gray-700 dark:hover:text-gray-200 hover:border-gray-300 dark:text-gray-400","whitespace-nowrap py-2 px-1 border-b-2 font-medium text-sm cursor-pointer",i.disabled?"opacity-50 cursor-not-allowed":"")},i.label))))}const qnt=pt(e=>{const t=Ot(),{segmentKey:n}=t,{t:r}=at(),i=[{key:Qe.ISegmentKey.data,label:m.createElement("div",{className:"flex"},m.createElement(gxe,{className:"w-4 mr-2"})," ",r("App.segments.data"))},{key:Qe.ISegmentKey.vis,label:m.createElement("div",{className:"flex"},m.createElement(dxe,{className:"w-4 mr-2"})," ",r("App.segments.vis"))}],o=m.useCallback((a,s)=>{t.setVisName(s,a)},[t]);return m.createElement(HF,{selectedKey:n,tabs:i,onEditLabel:o,onSelected:a=>{t.setSegmentKey(a)}})});function BF(...e){return`rounded-md px-2.5 py-1.5 text-xs font-medium ${e==null?void 0:e.join(" ")}`}const JF="ring-1 ring-inset ring-gray-300 bg-white dark:bg-zinc-900 text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800";function ert(e){const{total:t,onNext:n,onPrev:r,pageIndex:i,onPageChange:o,pageSize:a=100,extendPageNumber:s=1}=e,{t:l}=at(),u=m.useMemo(()=>{const d=Math.ceil(t/(a??1)),f=[{index:0,disabled:!1,type:"page"},...new Array(1+s*2).fill(0).map((b,y)=>({index:i-(s-y),disabled:!1,type:"page"})),{index:d-1,disabled:!1,type:"page"}].filter(b=>b.index>=0&&b.index<d),p=[],g=new Set;for(let b of f)g.has(b.index)||(p.push(b),g.add(b.index));return p},[i,a,s,t,i]),c=d=>m.createElement("button",{key:d,className:BF("inline-block",d===i?"bg-indigo-600 text-white":JF),onClick:()=>{o&&o(d)}},d+1);return u.length>0?m.createElement("div",{className:"flex flex-1 justify-between sm:justify-end gap-2"},m.createElement("button",{onClick:()=>{r()},className:"relative inline-flex items-center rounded-md border border-gray-300 bg-white dark:bg-zinc-900 px-2.5 py-1.5 text-xs font-medium text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"},l("actions.prev")),c(u[0].index),u.length>2&&u[1].index>u[0].index+1&&m.createElement("div",{className:BF("inline-block",JF),"aria-hidden":!0},"..."),u.slice(1,-1).map(d=>c(d.index)),u.length>2&&u[u.length-1].index>u[u.length-2].index+1&&m.createElement("div",{className:BF("inline-block",JF),"aria-hidden":!0},"..."),u.length>2&&c(u[u.length-1].index),m.createElement("button",{onClick:()=>{n()},className:"relative inline-flex items-center rounded-md border border-gray-300 bg-white dark:bg-zinc-900 px-2.5 py-1.5 text-xs font-medium text-gray-700 dark:text-gray-200 hover:bg-gray-50 dark:hover:bg-gray-800"},l("actions.next"))):null}const trt=Ke.div`
|
|
1124
1124
|
overflow-x: auto;
|
|
1125
1125
|
table {
|
|
1126
1126
|
box-sizing: content-box;
|