@devtable/dashboard 8.61.0 → 8.61.1
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.
- package/dist/dashboard.es.js +3 -3
- package/dist/dashboard.umd.js +2 -2
- package/package.json +1 -1
package/dist/dashboard.es.js
CHANGED
|
@@ -1915,7 +1915,7 @@ const Cu = (e) => {
|
|
|
1915
1915
|
getColor: vr(["#fff7f1", "darkorange", "#b60000"]),
|
|
1916
1916
|
name: "orange",
|
|
1917
1917
|
category: "sequential"
|
|
1918
|
-
}, Ts = "@devtable/dashboard", Wi = "8.61.
|
|
1918
|
+
}, Ts = "@devtable/dashboard", Wi = "8.61.1", Ds = "Apache-2.0", Is = {
|
|
1919
1919
|
access: "public",
|
|
1920
1920
|
registry: "https://registry.npmjs.org/"
|
|
1921
1921
|
}, Ls = [
|
|
@@ -14163,7 +14163,7 @@ function _y() {
|
|
|
14163
14163
|
top: 180,
|
|
14164
14164
|
left: 30,
|
|
14165
14165
|
right: 60,
|
|
14166
|
-
bottom:
|
|
14166
|
+
bottom: 130,
|
|
14167
14167
|
containLabel: !0,
|
|
14168
14168
|
backgroundColor: "rgba(235, 235, 255, 0.5)",
|
|
14169
14169
|
borderWidth: 0,
|
|
@@ -14171,7 +14171,7 @@ function _y() {
|
|
|
14171
14171
|
}, {
|
|
14172
14172
|
left: 30,
|
|
14173
14173
|
right: 60,
|
|
14174
|
-
bottom:
|
|
14174
|
+
bottom: 20,
|
|
14175
14175
|
height: 100,
|
|
14176
14176
|
containLabel: !1,
|
|
14177
14177
|
backgroundColor: "rgba(235, 235, 255, 0.5)",
|
package/dist/dashboard.umd.js
CHANGED
|
@@ -24,7 +24,7 @@ Check the render method of \``+_+"`."}return""}}function Bw(_){{if(_!==void 0){v
|
|
|
24
24
|
|
|
25
25
|
Check your code at `+I+":"+E+"."}return""}}var Us={};function Nw(_){{var I=Qs();if(!I){var E=typeof _=="string"?_:_.displayName||_.name;E&&(I=`
|
|
26
26
|
|
|
27
|
-
Check the top-level render call using <`+E+">.")}return I}}function Xs(_,I){{if(!_._store||_._store.validated||_.key!=null)return;_._store.validated=!0;var E=Nw(I);if(Us[E])return;Us[E]=!0;var R="";_&&_._owner&&_._owner!==ii.current&&(R=" It was passed a child from "+oe(_._owner.type)+"."),mt(_),$('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',E,R),mt(null)}}function Zs(_,I){{if(typeof _!="object")return;if(ni(_))for(var E=0;E<_.length;E++){var R=_[E];si(R)&&Xs(R,I)}else if(si(_))_._store&&(_._store.validated=!0);else if(_){var ie=S(_);if(typeof ie=="function"&&ie!==_.entries)for(var ue=ie.call(_),ee;!(ee=ue.next()).done;)si(ee.value)&&Xs(ee.value,I)}}}function Gw(_){{var I=_.type;if(I==null||typeof I=="string")return;var E;if(typeof I=="function")E=I.propTypes;else if(typeof I=="object"&&(I.$$typeof===d||I.$$typeof===g))E=I.propTypes;else return;if(E){var R=oe(I);kw(E,_.props,"prop",R,_)}else if(I.PropTypes!==void 0&&!ai){ai=!0;var ie=oe(I);$("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ie||"Unknown")}typeof I.getDefaultProps=="function"&&!I.getDefaultProps.isReactClassApproved&&$("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function qw(_){{for(var I=Object.keys(_.props),E=0;E<I.length;E++){var R=I[E];if(R!=="children"&&R!=="key"){mt(_),$("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",R),mt(null);break}}_.ref!==null&&(mt(_),$("Invalid attribute `ref` supplied to `React.Fragment`."),mt(null))}}function Ks(_,I,E,R,ie,ue){{var ee=Q(_);if(!ee){var J="";(_===void 0||typeof _=="object"&&_!==null&&Object.keys(_).length===0)&&(J+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Te=Bw(ie);Te?J+=Te:J+=Qs();var ge;_===null?ge="null":ni(_)?ge="array":_!==void 0&&_.$$typeof===t?(ge="<"+(oe(_.type)||"Unknown")+" />",J=" Did you accidentally export a JSX literal instead of a component?"):ge=typeof _,$("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ge,J)}var be=Vw(_,I,E,ie,ue);if(be==null)return be;if(ee){var ze=I.children;if(ze!==void 0)if(R)if(ni(ze)){for(var bt=0;bt<ze.length;bt++)Zs(ze[bt],_);Object.freeze&&Object.freeze(ze)}else $("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Zs(ze,_)}return _===i?qw(be):Gw(be),be}}function Fw(_,I,E){return Ks(_,I,E,!0)}function Ww(_,I,E){return Ks(_,I,E,!1)}var jw=Ww,Yw=Fw;Ct.Fragment=i,Ct.jsx=jw,Ct.jsxs=Yw}()),Ct}(function(e){process.env.NODE_ENV==="production"?e.exports=co():e.exports=po()})(uo);const P=vt.Fragment,n=vt.jsx,p=vt.jsxs;function ki(e,t){b.useEffect(()=>{const r=i=>{console.log(i);const{viewID:s}=i.detail;if(!s){console.error(new Error("[Open View] Needs to pick a view first"));return}e.views.appendToVisibles(s),t&&e.views.setIDOfVIE(s)};return window.addEventListener("open-view",r),()=>{window.removeEventListener("open-view",r)}},[e,t]),b.useEffect(()=>{const r=i=>{console.log(i);const{dictionary:s,payload:o}=i.detail;if(!o||Object.keys(o).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}Object.entries(s).forEach(([u,l])=>{e.filters.setValueByKey(u,v.get(o,l))})};return window.addEventListener("set-filter-values",r),()=>{window.removeEventListener("set-filter-values",r)}},[e]),b.useEffect(()=>{function r(s){return Array.isArray(s)?[]:typeof s=="object"?{}:typeof s=="boolean"?!1:typeof s=="string"?"":typeof s=="number"?0:s}const i=s=>{console.log(s);const{filter_keys:o}=s.detail;o.forEach(u=>{const l=v.get(e.filters.values,u),d=r(l);console.log(`${u}: ${d}`),e.filters.setValueByKey(u,d)})};return window.addEventListener("clear-filter-values",i),()=>{window.removeEventListener("clear-filter-values",i)}},[e]),b.useEffect(()=>{const r=i=>{console.log(i);const{urlTemplate:s,openInNewTab:o,enableEncoding:u=!1,payload:l}=i.detail;if(!s){console.error(new Error("[Open Link] URL is empty"));return}function d(g){return v.cloneDeepWith(g,m=>{if(u&&typeof m=="string")return encodeURIComponent(m)})}const f=v.template(s||"")(d({...l,filters:e.filters.values,context:e.context.current}));window.open(f,o?"_blank":"_self","noopener")};return window.addEventListener("open-link",r),()=>{window.removeEventListener("open-link",r)}},[e])}class ho{constructor(t){O(this,"symbol");this.symbol=Symbol(t)}}function We(e){return new ho(e)}class hn{constructor(){O(this,"parent");O(this,"factoryRegistry",new Map);O(this,"instanceRegistry",new Map)}createScoped(){const t=new hn;return t.parent=this,t}getRequired(t){return this.get(t)}get(t){if(this.instanceRegistry.has(t.symbol))return this.instanceRegistry.get(t.symbol);const r=this.factoryRegistry.get(t.symbol);if(r){const i=r(this);return this.instanceRegistry.set(t.symbol,i),i}if(this.parent)return this.parent.get(t)}provideFactory(t,r){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,r),this}provideValue(t,r){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,()=>r),this}dispose(){this.instanceRegistry.forEach(t=>{const r=v.get(t,"dispose");v.isFunction(r)&&r.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const fn=b.createContext(null);function Bt(e){const t=b.useContext(fn),r=Z.useCreation(()=>e.configure(t||new hn),[e.configure]),i=Z.usePrevious(r);return i&&i!==r&&i.dispose(),n(fn.Provider,{value:r,children:e.children})}function Di(){return b.useContext(fn)}const fo={viewPanelInFullScreen:v.noop,inFullScreen:!1},gn=b.createContext(fo),Ii=b.createContext(null),mn=Ii.Provider;function N(){const e=b.useContext(Ii);if(!e)throw new Error("Please use ModelContextProvider");return e}class Ae extends b.Component{constructor(t){super(t),this.state={error:null}}componentDidCatch(t){this.setState({error:t})}render(){var t;if(this.state.error){const r=()=>{this.setState({error:null})};return p(a.Box,{children:[n(a.Text,{size:"xs",children:(t=this.state.error)==null?void 0:t.message}),n(a.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:r,children:"Retry"})]})}return this.props.children}}const bn={fontSize:"14px",lineHeight:"32px",color:"#3D3E45",ul:{paddingLeft:"2em",margin:"6px 0 0"},p:{margin:0},a:{WebkitTapHighlightColor:"transparent",color:"rgb(34, 139, 230)",textDecoration:"none","&:hover":{textDecoration:"underline"},"&:active, &:hover":{outlineWidth:0}},table:{tr:{"th, td":{padding:"0 .5em"}}},"table.rich-text-table-render, div.tableWrapper table":{"th, td":{border:"1px solid #eaeaea"},"tr:last-of-type td":{borderBottom:"1px solid #eaeaea"}},".resize-cursor":{cursor:"col-resize"},details:{summary:{listStyle:"none",cursor:"pointer",transition:"color 300ms ease",userSelect:"none"},"summary::-webkit-details-marker":{display:"none"},"summary:hover":{color:"black","&::before":{opacity:1}},"summary::before":{content:'"►"',fontSize:"10px",margin:"0px 5px",opacity:.5,display:"inline-block",transition:"opacity 300ms ease, transform 300ms ease"}},"details[open] summary::before":{transform:"rotate(90deg)"},"details + details":{marginTop:"10px"}},Nt=({value:e,styles:t={}})=>{const r=vi.useEditor({extensions:[xi,yi,X.Link,ci,di,li,fi.configure({resizable:!1,HTMLAttributes:{class:"rich-text-table-render"}}),bi,mi,gi,pi.configure({types:["heading","paragraph"]}),ui.configure({placeholder:"This is placeholder"}),hi,oi.Color],content:e,editable:!1});b.useEffect(()=>{r==null||r.commands.setContent(e)},[e,r]);const i=b.useMemo(()=>v.defaultsDeep({},{content:bn},t),[t]);return n(X.RichTextEditor,{editor:r,styles:i,children:n(X.RichTextEditor.Content,{})})},go=({description:e,isDescriptionEmpty:t})=>t?null:n(a.Tooltip,{color:"white",label:n(Nt,{value:e,styles:{root:{border:"none"},content:{padding:0}}}),styles:{tooltip:{border:"0.0625rem solid rgb(233, 236, 239)",boxShadow:"rgb(0 0 0 / 5%) 0px 0.0625rem 0.1875rem, rgb(0 0 0 / 5%) 0px 1.25rem 1.5625rem -0.3125rem, rgb(0 0 0 / 4%) 0px 0.625rem 0.625rem -0.3125rem"}},withArrow:!0,children:n(a.Box,{sx:{height:"16px",alignSelf:"center"},children:n(V.IconInfoCircle,{size:16,color:"gray"})})}),mo=T.observer(({label:e,config:{default_value:t,description:r,isDescriptionEmpty:i,...s},value:o,onChange:u})=>p(a.Box,{children:[n(a.Text,{children:" "}),n(a.Checkbox,{label:p(a.Group,{noWrap:!0,position:"apart",align:"middle",spacing:6,children:[n(a.Box,{sx:{flexGrow:1},children:e}),n(go,{description:r,isDescriptionEmpty:i})]}),checked:o||!1,onChange:l=>u(l.currentTarget.checked),...s,pt:".4em",styles:{input:{borderColor:"#e9ecef"}}})]})),Mi=T.observer(({label:e,config:t,value:r=[null,null],onChange:i})=>{const s=Array.isArray(r)?r.map(d=>d?j(d).toDate():null):[null,null],o=d=>{i(d.map(c=>c&&j(c).format(t.inputFormat)))},u=t.getMinDate(s[0]),l=t.getMaxDate(s[0]);return n(Hs.DateRangePicker,{label:e,value:s,onChange:o,icon:n(k.Calendar,{size:16}),sx:{minWidth:"16em"},minDate:u,maxDate:l,styles:{input:{borderColor:"#e9ecef"}},...t})}),bo={layoutFrozen:!1,freezeLayout:v.noop,inEditMode:!1},Xe=b.createContext(bo),Ai=b.createContext({panel:null,data:[],loading:!1}),yn=Ai.Provider;function xe(){const e=b.useContext(Ai);if(!e.panel)throw new Error("Please use PanelContextProvider");return e}const yo={fullScreenPanelID:"",setFullScreenPanelID:v.noop},vn=b.createContext(yo);function $i(){const e=b.useContext(vn);if(!e)throw new Error("Please use FullScreenPanelContext.Provider");return e}const zi=b.forwardRef(({label:e,description:t,...r},i)=>n("div",{ref:i,...r,children:n(a.Group,{noWrap:!0,children:p("div",{children:[n(a.Text,{size:"sm","data-role":"label",children:e}),n(a.Text,{size:"xs",color:"dimmed","data-role":"description",children:t})]})})})),vo=T.observer(({label:e,config:t,value:r,onChange:i})=>{const s=N(),o=!!t.options_query_id,{state:u}=s.getDataStuffByID(t.options_query_id),l=u==="loading",d=t.min_width?t.min_width:"200px",c=o?l:!1;return n(a.MultiSelect,{label:e,data:t.options,disabled:c,value:r,onChange:i,styles:{root:{minWidth:d,maxWidth:c?d:"unset"},input:{borderColor:"#e9ecef"}},itemComponent:zi})}),xo=T.observer(({label:e,config:t,value:r,onChange:i})=>{const s=N(),o=!!t.options_query_id,{state:u}=s.getDataStuffByID(t.options_query_id),l=u==="loading";return b.useEffect(()=>{var f;const{default_selection_count:d}=t;if(!d)return;const c=((f=t.options[0])==null?void 0:f.value)??"";console.log("Selecting the first option by default. New value: ",c),i(c,!0)},[t.default_selection_count,t.options]),n(a.Select,{label:e,data:t.options,disabled:o?l:!1,value:r,onChange:i,styles:{root:{width:t.width?t.width:"200px"},input:{borderColor:"#e9ecef"}},sx:{".mantine-Select-item[data-selected] .mantine-Text-root[data-role=description]":{color:"rgba(255,255,255,.7)"}},itemComponent:zi})});function Co({label:e,config:t,value:r,onChange:i}){return n(a.TextInput,{label:e,value:r||"",onChange:s=>i(s.currentTarget.value),...t,styles:{input:{borderColor:"#e9ecef"}}})}function wo(e){return eo.arrayToTree(e,{id:"value",parentId:"parent_value",childrenField:"children",dataField:null})}const _o=({rotate:e,onClick:t})=>n("svg",{onClick:t,className:"caret-icon",viewBox:"0 0 1024 1024",focusable:"false","data-icon":"caret-down",width:"14px",height:"14px",fill:"currentColor","aria-hidden":"true",transform:`rotate(${e})`,children:n("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),So=({expanded:e,isLeaf:t,value:r,onClick:i,...s})=>(r==="0-0-value"&&console.log(s),t?n("span",{style:{width:"14px",display:"inline-block"}}):n(_o,{rotate:e?"0":"-90",onClick:i,...s})),To=({onClick:e})=>p("svg",{onClick:e,className:"checkbox-icon",width:"16",height:"16",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[n("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),n("rect",{className:"border",x:"4",y:"4",width:"16",height:"16",rx:"2"}),n("rect",{className:"checkmark-indeterminate",x:"8",y:"8",width:"8",height:"8",rx:"2",stroke:"none"}),n("path",{className:"checkmark-checked",d:"M9 12l2 2l4 -4"})]}),ko=({onClick:e,...t})=>n(To,{onClick:e,...t}),Do=a.createStyles((e,{radius:t=4})=>({root:{borderRadius:e.fn.radius(t),display:"flex",flexWrap:"nowrap",border:"1px solid #ced4da",paddingLeft:"0px",paddingRight:"30px",backgroundColor:"#fff",transition:"border-color 100ms ease",borderColor:"#e9ecef","&.rc-tree-select.rc-tree-select-open":{borderColor:"#228be6 !important",".rc-tree-select-selection-overflow-item-rest":{display:"none"},".rc-tree-select-selection-overflow-item-suffix":{display:"block"}},".rc-tree-select-selector":{height:"auto",lineHeight:1.55,paddingLeft:"12px",resize:"none",boxSizing:"border-box",fontSize:"14px",width:"100%",color:"#000",display:"block",textAlign:"left",minHeight:"36px",cursor:"pointer",flexGrow:1},".rc-tree-select-selection-search-mirror":{display:"none"},".rc-tree-select-selection-search":{flexGrow:1,width:"auto !important"},".rc-tree-select-selection-overflow":{display:"flex",minHeight:"34px",alignItems:"center",flexWrap:"nowrap",marginLeft:"calc(-10px / 2)",boxSizing:"border-box"},".rc-tree-select-selection-overflow-item":{display:"flex",alignItems:"center",backgroundColor:"#f1f3f5",color:"#495057",height:"24px",paddingLeft:"12px",paddingRight:"12px",fontWeight:500,fontSize:"12px",borderRadius:"4px",cursor:"default",userSelect:"none",maxWidth:"calc(100% - 20px)",margin:"calc(10px / 2 - 2px) calc(10px / 2)"},".rc-tree-select-selection-overflow-item-rest":{cursor:"pointer"},".rc-tree-select-selection-overflow-item-suffix":{display:"none",backgroundColor:"transparent",width:"100%",maxWidth:"100%",height:"28px",margin:0,paddingLeft:0,paddingRight:0},input:{flex:1,minWidth:"60px",backgroundColor:"transparent",border:0,outline:0,fontSize:"14px",padding:0,marginLeft:0,color:"inherit",height:"28px",lineHeight:"32px",cursor:"pointer",width:"100%","&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{display:"none"}},".rc-tree-select-clear":{marginRight:"-24px",alignSelf:"center",cursor:"pointer"},"&.rc-tree-select-disabled":{backgroundColor:"rgb(241, 243, 245)",color:"rgb(144, 146, 150)",opacity:.6,"&, .rc-tree-select-selector, input":{cursor:"not-allowed"}}},label:{fontSize:e.fontSizes.sm,fontWeight:500,color:"#212529"},dropdown:{fontSize:e.fontSizes.xs,zIndex:300,paddingTop:"6px","&.rc-tree-select-dropdown-slide-up-leave-active":{display:"none"},".rc-tree-select-tree-list .rc-tree-select-tree-list-holder":{},".rc-tree-select-tree-list, .rc-tree-select-empty":{backgroundColor:"#fff",border:"1px solid #e9ecef",padding:0,boxShadow:"0 1px 3px rgb(0 0 0 / 5%), rgb(0 0 0 / 5%) 0px 10px 15px -5px, rgb(0 0 0 / 4%) 0px 7px 7px -5px",borderRadius:"4px"},".rc-tree-select-empty":{padding:"8px 12px"},".rc-tree-select-tree-treenode":{boxSizing:"border-box",textAlign:"left",width:"100%",padding:"8px 12px",cursor:"pointer",fontSize:"14px",color:"#000",borderRadius:"4px",display:"flex",flexWrap:"nowrap",overflow:"hidden","&:hover":{backgroundColor:"#f1f3f5"},"&.rc-tree-select-tree-treenode-checkbox-checked":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-checked":{stroke:"rgb(64, 192, 87)",animation:"check 200ms linear forwards"}},"&.rc-tree-select-tree-treenode-checkbox-indeterminate":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-indeterminate":{fill:"rgb(64, 192, 87)"}},".rc-tree-select-tree-switcher":{height:"16px",alignSelf:"center",paddingRight:"2px",transition:"color 200ms ease","&:hover":{color:"#228be6","svg.caret-icon":{color:"#228be6"}},"svg.caret-icon":{color:"#ced4da",transition:"all 200ms ease"}},".rc-tree-select-tree-node-content-wrapper":{display:"flex",flexWrap:"nowrap",overflow:"hidden",alignItems:"center",gap:"8px",transition:"color 200ms ease","&:hover":{color:"#228be6"}},".rc-tree-select-tree-iconEle":{height:"16px","svg .border":{stroke:"#ced4da"},".checkbox-icon .checkmark-indeterminate":{fill:"transparent",transition:"fill 200ms ease"},".checkbox-icon .checkmark-checked":{transform:"scale(1.2)",transformOrigin:"center center",strokeDasharray:10,strokeDashoffset:-10},"@keyframes check":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}},".rc-tree-select-tree-title":{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",".rc-tree-select-tree-title-desc":{fontSize:"12px",maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}},".rc-tree-select-tree-indent":{flexGrow:0,height:0,verticalAlign:"bottom"},".rc-tree-select-tree-indent-unit":{display:"inline-block",width:"1em"}}}})),Io=({disabled:e,classNames:t,styles:r,unstyled:i,radius:s,style:o,label:u,value:l,onChange:d,treeData:c})=>{const{classes:f,cx:g}=Do({radius:s},{name:"FilterTreeSelectWidget",classNames:t,styles:r,unstyled:i}),[h,m]=b.useState((l==null?void 0:l.length)>0),w=S=>{m(S)},C=h&&(l==null?void 0:l.length)>0;return p(a.Stack,{spacing:3,children:[p(a.Group,{position:"apart",children:[n(a.Text,{className:f.label,children:u}),C&&n(a.Tooltip,{label:`${l.length} selected`,children:n(a.Badge,{children:l.length})})]}),n(Ci,{disabled:e,allowClear:!0,className:g(f.root,"check-select"),dropdownClassName:g(f.dropdown,""),onDropdownVisibleChange:w,transitionName:"rc-tree-select-dropdown-slide-up",choiceTransitionName:"rc-tree-select-selection__choice-zoom",style:o,treeLine:!0,clearIcon:()=>n(a.CloseButton,{}),switcherIcon:So,treeIcon:ko,maxTagTextLength:10,value:l,treeData:c,treeNodeFilterProp:"filterBasis",treeCheckable:!0,showCheckedStrategy:Ci.SHOW_PARENT,onChange:d,onSelect:console.log,maxTagCount:0,maxTagPlaceholder:S=>`${S.length} selected`})]})};function Mo(e){return e.map(t=>{const{label:r,description:i,...s}=t,o={...s,filterBasis:`${r}___${i??""}`,description:i,label:r};return i&&(o.label=p("div",{children:[n(a.Text,{title:t.label,children:t.label}),n(a.Text,{className:"rc-tree-select-tree-title-desc",color:"dimmed",title:t.description,children:t.description})]})),o})}const Ao=T.observer(({label:e,config:t,value:r,onChange:i})=>{const s=N(),{state:o,dataProxy:u,len:l}=s.getDataStuffByID(t.options_query_id),d=o==="loading",c=b.useMemo(()=>{if(!u)return[];const m=[...u],w=Mo(m);return wo(w)},[u,l]);b.useEffect(()=>{const{default_selection_count:m}=t;if(!m)return;if(c.length===0){console.log("[filter.tree-select] Resetting to empty"),i([],!0);return}const w=c.slice(0,m).map(C=>C.value);console.log(`[filter.tree-select] Selecting first ${m} option(s)`),i(w,!0)},[t.default_selection_count,c]);const f=t.min_width?t.min_width:"200px",h=!!t.options_query_id?d:!1;return n(Io,{disabled:h,style:{minWidth:f,maxWidth:h?f:"unset",borderColor:"#e9ecef"},value:r,onChange:m=>i(m,!1),treeData:c,label:e})}),$o=T.observer(({filter:{type:e,config:t,key:r,...i},formFieldProps:s})=>{switch(e){case"select":return n(xo,{...i,...s,config:t});case"multi-select":return n(vo,{...i,...s,config:t});case"tree-select":return n(Ao,{...i,...s,config:t});case"text-input":return n(Co,{...i,...s,config:t});case"date-range":return n(Mi,{...i,...s,config:t});case"checkbox":return n(mo,{...i,...s,config:t});default:return null}}),Ei=T.observer(b.forwardRef(({filter:e,...t},r)=>n("div",{className:"filter-root",ref:r,children:n(Ae,{children:n($o,{filter:e,formFieldProps:t})})}))),Li=T.observer(function({view:t}){const r=N(),{control:i,handleSubmit:s,reset:o}=x.useForm({defaultValues:r.filters.values,reValidateMode:"onBlur"}),u=x.useWatch({control:i});b.useEffect(()=>{o(r.filters.values)},[r.filters.values,o]),b.useEffect(()=>{r.filters.updatePreviewValues(u)},[u]);const l=r.filters.visibleInView(t.id),d=b.useMemo(()=>l.every(h=>h.should_auto_submit),[l]),c=b.useMemo(()=>l.filter(h=>v.get(h,"config.required",!1)),[l]),f=b.useMemo(()=>c.length===0?!1:c.some(h=>!h.requiredAndPass(u[h.key])),[u,c]);if(l.length===0)return null;const g=(h,m)=>(w,C)=>{m(w),(h.should_auto_submit||C)&&r.filters.setValueByKey(h.key,w)};return n("form",{onSubmit:s(r.filters.setValues),children:p(a.Group,{className:"dashboard-filters",position:"apart",noWrap:!0,sx:d?{}:{border:"1px solid #e9ecef",borderRadius:"4px",padding:"16px"},children:[n(a.Group,{align:"flex-start",children:l.map(h=>n(x.Controller,{name:h.key,control:i,render:({field:m})=>n(Ei,{filter:h,value:m.value,onChange:g(h,m.onChange)})},h.id))}),!d&&n(a.Group,{sx:{alignSelf:"flex-end"},children:n(a.Button,{color:"blue",size:"sm",type:"submit",disabled:f,children:"Search"})})]})})}),Xw="";function zo(e){return e?["<p><br></p>","<p></p>"].includes(e):!0}const Oi=T.observer(()=>{const{freezeLayout:e}=b.useContext(Xe),[t,r]=b.useState(!1),{panel:i}=xe();return b.useEffect(()=>{e(t)},[t]),zo(i.description)?null:p(P,{children:[n(a.Modal,{opened:t,onClose:()=>r(!1),title:i.title,withCloseButton:!1,withinPortal:!0,zIndex:310,children:n(Nt,{value:i.description,styles:{root:{border:"none"},content:{padding:0}}})}),n(a.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:n(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>r(s=>!s),sx:{verticalAlign:"baseline",cursor:"pointer"},children:n(k.InfoCircle,{size:20})})})]})}),Eo=T.observer(({view:e})=>{const t=N(),r=Oe.useModals(),{panel:i}=xe(),{id:s,query:o}=i,{inEditMode:u}=b.useContext(Xe),l=()=>o==null?void 0:o.fetchData(),{viewPanelInFullScreen:d,inFullScreen:c}=b.useContext(gn),f=()=>{t.duplicatePanelByID(s,e.id)},g=()=>{t.editor.open(["_VIEWS_",e.id,"_PANELS_",s])},h=()=>r.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>t.removePanelByID(s,e.id),confirmProps:{color:"red"},zIndex:320}),m=b.useCallback(()=>{d(s)},[s,d]),w=!c&&e.type!==K.Modal;return n(P,{children:n(a.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:p(a.Menu,{withinPortal:!0,children:[n(a.Menu.Target,{children:n(a.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),p(a.Menu.Dropdown,{children:[n(a.Menu.Item,{onClick:l,icon:n(k.Refresh,{size:14}),children:"Refresh"}),n(a.Menu.Item,{onClick:()=>t.queries.downloadDataByQueryID((o==null?void 0:o.id)??""),icon:n(k.Download,{size:14}),children:"Download Data"}),w&&n(a.Menu.Item,{onClick:m,icon:n(k.ArrowsMaximize,{size:14}),disabled:u,children:"Full Screen"}),u&&p(P,{children:[n(a.Divider,{label:"Edit",labelPosition:"center"}),n(a.Menu.Item,{onClick:g,icon:n(k.Settings,{size:14}),children:"Settings"}),n(a.Menu.Item,{onClick:f,icon:n(k.Copy,{size:14}),children:"Duplicate"}),n(a.Menu.Item,{color:"red",onClick:h,icon:n(k.Trash,{size:14}),children:"Delete"})]})]})]})})})}),Zw="",Lo=T.observer(function(){const{panel:t}=xe(),{title:r}=t;return r?n(a.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:n(a.Text,{align:"center",lineClamp:1,weight:"bold",children:r})}):null}),Pe=(e,t)=>{const[r,i]=b.useState([]);return b.useEffect(()=>e.watchTriggerSnapshotList(s=>i(s.filter(o=>o.schemaRef===t))),[]),r};class ot{constructor(t,r){this.root=t,this.path=r}async deleteItem(t){t===null&&await this.root.deleteItem(this.path);const r=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,v.omit(r,t))}async getItem(t){const r=await this.root.getItem(this.path);return t===null?r:v.get(r,t)}async setItem(t,r){if(t===null)await this.root.setItem(this.path,r);else{const i=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,{...i,[t]:r})}return await this.getItem(t)}watchItem(t,r,i){return t===null?this.root.watchItem(this.path,(s,o)=>{r(s,o)},i):this.root.watchItem(this.path,(s,o)=>{const u=v.get(s,t),l=v.get(o,t);u!==l&&r(u,l)},i)}}class xn{constructor(t,r,i){O(this,"attachmentStorage");this.instance=t,this.attachmentKey=r,this.constructInstance=i,this.attachmentStorage=new ot(t.instanceData,r)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new ot(this.attachmentStorage,t))}async create(t,r){return await this.attachmentStorage.setItem(t,r),this.constructInstance(new ot(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(v.values(t).map(r=>this.constructInstance(new ot(this.attachmentStorage,r.id))))}}class Pi{constructor(t){O(this,"rootRef");this.rootRef=ae.observable({current:t})}async deleteItem(t){ae.runInAction(()=>{v.unset(this.rootRef.current,[t])})}getItem(t){const r=this.getValueFromRoot(t);return Promise.resolve(r)}getValueFromRoot(t){return t===null?ae.toJS(this.rootRef.current):v.get(this.rootRef.current,[t])}setItem(t,r){if(t===null)if(v.isObject(r))ae.runInAction(()=>{this.rootRef.current=r});else throw new Error("Cannot set root value to non-object");else ae.runInAction(()=>{v.set(this.rootRef.current,[t],r)});return Promise.resolve(this.getItem(t))}watchItem(t,r,i){return ae.reaction(()=>this.getValueFromRoot(t),(s,o)=>{r(s,o)},{requiresObservable:!0,fireImmediately:v.get(i,"fireImmediately",!1)})}}class Oo{constructor(){O(this,"channels",new Map);O(this,"globalChannel",new wi)}getChannel(t){const r=this.channels.get(t);if(r)return r;const i=new wi;return this.channels.set(t,i),i}}class Po{constructor(t){O(this,"instances",new Map);this.pluginManager=t}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(t=>t.manifest.viz)}resolveComponent(t){return this.pluginManager.factory.viz(t)}getOrCreateInstance(t){const r=this.instances.get(t.id);if(r)return r;const i={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new Oo,instanceData:new Pi(t.viz.conf)};return this.instances.set(t.id,i),i}}function Vi(e,t,r,i){return{vizManager:r,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Pi({}),colorPalette:{getColor(){return()=>""}},data:t,variables:i}}const Vo=e=>{const{panel:t,vizManager:r,data:i,variables:s}=e,o=r.resolveComponent(t.viz.type),u=r.getOrCreateInstance(t),l={...Vi(u,i,r,s),viewport:{width:t.layout.w,height:t.layout.h}},d=o.viewRender;return n(d,{context:l,instance:u,...v.omit(e,["panel","vizManager","data"])})},Bo=e=>{const{vizManager:t,panel:r,panelInfoEditor:i,data:s,variables:o}=e,u=t.resolveComponent(r.viz.type),l=t.getOrCreateInstance(r),d={...Vi(l,s,t,o),panelInfoEditor:i},c=u.configRender;return n(c,{context:d,instance:l,...v.omit(e,["panel","vizManager","data","panelInfoEditor"])})},Bi=(e,t)=>{const r=Fe.bezier(e),i=Fe.bezier(t);return function(s){return s<50?r(s*2/100).hex():i((s-50)*2/100).hex()}},Gt=e=>{const t=Fe.bezier(e);return function(r){return t(r/100).hex()}},No={type:"interpolation",displayName:"Red / Green",getColor:Bi(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Go={type:"interpolation",displayName:"Yellow / Blue",getColor:Bi(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},qo={type:"interpolation",displayName:"Red",getColor:Gt(["#fff7f1","darkred"]),name:"red",category:"sequential"},Fo={type:"interpolation",displayName:"Green",getColor:Gt(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Wo={type:"interpolation",displayName:"Blue",getColor:Gt(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},jo={type:"interpolation",displayName:"Orange",getColor:Gt(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},Ni="@devtable/dashboard",Cn="8.61.0",Gi="Apache-2.0",qi={access:"public",registry:"https://registry.npmjs.org/"},Fi=["dist"],Wi="./dist/dashboard.umd.js",ji="./dist/dashboard.es.js",Yi="./dist/index.d.ts",Ri={".":{import:"./dist/dashboard.es.js",require:"./dist/dashboard.umd.js"},"./dist/style.css":{import:"./dist/style.css",require:"./dist/style.css"}},Qi={"dev-build":"tsc && vite build --watch",build:"tsc && vite build",preview:"vite preview",test:"vitest","test:ui":"vitest --ui",coverage:"vitest --coverage"},Ui={"@monaco-editor/react":"4.4.6","@types/chroma-js":"^2.1.4","file-saver":"2.0.5",mathjs:"11.8.0","monaco-editor":"0.36.0","performant-array-to-tree":"1.11.0",popmotion:"^11.0.3","rc-tree-select":"5.5.5",reactflow:"^11.5.3"},Xi={"@emotion/babel-plugin":"11.10.6","@faker-js/faker":"7.6.0","@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@testing-library/cypress":"^9.0.0","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@testing-library/react-hooks":"^8.0.1","@testing-library/user-event":"^14.3.0","@tiptap/extension-code-block-lowlight":"2.0.3","@tiptap/extension-color":"2.0.3","@tiptap/extension-highlight":"2.0.3","@tiptap/extension-link":"2.0.3","@tiptap/extension-placeholder":"2.0.3","@tiptap/extension-subscript":"2.0.3","@tiptap/extension-superscript":"2.0.3","@tiptap/extension-table":"2.0.3","@tiptap/extension-table-cell":"2.0.3","@tiptap/extension-table-header":"2.0.3","@tiptap/extension-table-row":"2.0.3","@tiptap/extension-text-align":"2.0.3","@tiptap/extension-text-style":"2.0.3","@tiptap/extension-underline":"2.0.3","@tiptap/pm":"2.0.3","@tiptap/react":"2.0.3","@tiptap/starter-kit":"2.0.3","@types/crypto-js":"v4.1.1","@types/d3-array":"3.0.4","@types/eventemitter2":"^4.1.0","@types/file-saver":"2.0.5","@types/lodash":"^4.14.182","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-grid-layout":"^1.3.2",ahooks:"^3.3.11",ajv:"8.12.0",axios:"^0.27.2","crypto-js":"^4.1.1",cypress:"^12.9.0","cypress-wait-until":"^1.7.2",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9",jsdom:"^20.0.0","jsdom-testing-mocks":"^1.5.0",lodash:"^4.17.21",lowlight:"^2.8.0",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","rollup-plugin-visualizer":"5.6.0","tabler-icons-react":"^1.48.0",typescript:"^4.6.3","vite-plugin-static-copy":"0.13.1"},Zi={"@emotion/react":"11.10.6","@faker-js/faker":"7.6.0","@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@tanstack/react-table":"^8.5.13","@tiptap/extension-code-block-lowlight":"2.0.3","@tiptap/extension-color":"2.0.3","@tiptap/extension-highlight":"2.0.3","@tiptap/extension-link":"2.0.3","@tiptap/extension-placeholder":"2.0.3","@tiptap/extension-subscript":"2.0.3","@tiptap/extension-superscript":"2.0.3","@tiptap/extension-table":"2.0.3","@tiptap/extension-table-cell":"2.0.3","@tiptap/extension-table-header":"2.0.3","@tiptap/extension-table-row":"2.0.3","@tiptap/extension-text-align":"2.0.3","@tiptap/extension-text-style":"2.0.3","@tiptap/extension-underline":"2.0.3","@tiptap/pm":"2.0.3","@tiptap/react":"2.0.3","@tiptap/starter-kit":"2.0.3",ahooks:"^3.3.11",axios:"^0.27.2","chroma-js":"^2.4.2","crypto-js":"^4.1.1","d3-array":"3.2.3","d3-regression":"1.3.10",dayjs:"1.11.7",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9",eventemitter2:"^6.4.6",jszip:"3.10.1",lodash:"^4.17.21",lowlight:"^2.8.0",mobx:"^6.6.1","mobx-react-lite":"^3.4.0","mobx-state-tree":"^5.1.5",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2",react:"^16.8.0 || 17.x || 18.x","react-dom":"^16.8.0 || 17.x || 18.x","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","react-router-dom":"^6.3.0","react-virtual":"^2.10.4","tabler-icons-react":"^1.48.0"},Yo=Object.freeze(Object.defineProperty({__proto__:null,default:{name:Ni,version:Cn,license:Gi,publishConfig:qi,files:Fi,main:Wi,module:ji,types:Yi,exports:Ri,scripts:Qi,dependencies:Ui,devDependencies:Xi,peerDependencies:Zi},dependencies:Ui,devDependencies:Xi,exports:Ri,files:Fi,license:Gi,main:Wi,module:ji,name:Ni,peerDependencies:Zi,publishConfig:qi,scripts:Qi,types:Yi,version:Cn},Symbol.toStringTag,{value:"Module"}));class Ro{constructor(t){O(this,"staticColors",new Map);O(this,"interpolations",new Map);t.installedPlugins.forEach(r=>{r.manifest.color.forEach(i=>{this.register(i)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(t){const r=this.encodeColor(t);t.type==="single"?(this.staticColors.has(r)&&console.warn(`the color '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.staticColors.set(r,t)):t.type==="interpolation"&&(this.interpolations.has(r)&&console.warn(`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`,`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.interpolations.set(r,t))}decodeStaticColor(t){return this.staticColors.get(t)}encodeColor(t){return`\${${t.category}}.{${t.name}}`}decodeInterpolation(t){return this.interpolations.get(t)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class Qo{constructor(){O(this,"plugins",new Map);O(this,"vizComponents",new Map);O(this,"factory",{viz:t=>{const r=this.vizComponents.get(t);if(r)return r;throw new Error(`Viz Component (${t}) not found`)}})}install(t){if(this.plugins.has(t.id))throw new Error(`Plugin (${t.id}) has been installed before`);this.plugins.set(t.id,t);for(const r of t.manifest.viz){if(this.vizComponents.has(r.name))throw new Error(`Viz Component (${r.name}) has been installed before`);this.vizComponents.set(r.name,r)}}get installedPlugins(){return Array.from(this.plugins.values())}}class Uo{constructor(){O(this,"migrations",[])}version(t,r){return this.migrations.push({version:t,handler:r}),this}run(t,r,i){var u;if(t.from===t.to)return r;if(t.from>t.to)throw new Error(`Can not downgrade from version '${t.from}' to (${t.to})`);const s=this.migrations.filter(l=>l.version>t.from&&l.version<=t.to),o=v.orderBy(s,"version","asc");if(((u=v.last(o))==null?void 0:u.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((l,d)=>d.handler(l,i),r)}}class he extends Uo{constructor(){super(),this.configVersions()}version(t,r){return super.version(t,(i,s)=>({version:t,...r(i,s)}))}async migrate({configData:t,panelModel:r}){const i=await t.getItem(null),s=v.get(i,"version",0),o=this.run({from:s,to:this.VERSION},i,{panelModel:r});await t.setItem(null,o)}async needMigration({configData:t}){const r=await t.getItem(null);return v.get(r,"version",0)<this.VERSION}}const W=(e,t)=>{const[r,{setFalse:i}]=Z.useBoolean(!0),[s,o]=b.useState();b.useEffect(()=>(e.getItem(t).then(l=>{o(l),i()}),e.watchItem(t,l=>{o(l)})));const u=b.useCallback(async l=>{await e.setItem(t,l),o(l)},[e,t]);return{loading:r,value:s,set:u}},wn={x_axis_data_key:"",y_axis_data_key:"",z_axis_data_key:"",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}};le.use([B.GridComponent,B.VisualMapComponent,B.LegendComponent,B.TooltipComponent,ke.CanvasRenderer]);function Xo({context:e}){const{value:t}=W(e.instanceData,"config"),r=e.data,{width:i,height:s}=e.viewport,{x_axis_data_key:o,y_axis_data_key:u,z_axis_data_key:l,xAxis3D:d,yAxis3D:c,zAxis3D:f}=v.defaults({},t,wn),g=b.useMemo(()=>{const w=v.minBy(r,C=>C[l]);return v.get(w,l)},[r,l]),h=b.useMemo(()=>{const w=v.maxBy(r,C=>C[l]);return v.get(w,l)},[r,l]),m={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:g,max:h,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:d,yAxis3D:c,zAxis3D:f,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:r.map(w=>[w[o],w[u],w[l]])}]};return t?n(De,{echarts:le,option:m,style:{width:i,height:s},notMerge:!0,theme:"merico-light"}):null}function Zo({label:e,required:t,value:r,onChange:i,data:s,clearable:o=!1,sx:u,...l},d){const c=b.useMemo(()=>{if(!Array.isArray(s)||s.length===0)return[];const g=Object.keys(s[0]).map(h=>({label:h,value:h}));return o?g.concat([{label:"unset",value:""}]):g},[s]);return n(a.Select,{ref:d,label:e,data:c,value:r,onChange:i,required:t,sx:u,...l})}const Y=b.forwardRef(Zo);function Ko({context:e}){const{value:t,set:r}=W(e.instanceData,"config"),i=e.data,s=v.defaults({},t,wn),{control:o,handleSubmit:u,reset:l}=x.useForm({defaultValues:s});return b.useEffect(()=>{l(s)},[t]),t?n(a.Stack,{spacing:"xs",children:p("form",{onSubmit:u(r),children:[n(a.Text,{children:"X Axis"}),p(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(x.Controller,{name:"x_axis_data_key",control:o,render:({field:d})=>n(Y,{label:"Data Field",required:!0,data:i,...d})}),n(x.Controller,{name:"xAxis3D.name",control:o,render:({field:d})=>n(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),n(a.Text,{mt:"lg",children:"Y Axis"}),p(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(x.Controller,{name:"y_axis_data_key",control:o,render:({field:d})=>n(Y,{label:"Data Field",required:!0,data:i,...d})}),n(x.Controller,{name:"yAxis3D.name",control:o,render:({field:d})=>n(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),n(a.Text,{mt:"lg",children:"Z Axis"}),p(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(x.Controller,{name:"z_axis_data_key",control:o,render:({field:d})=>n(Y,{label:"Data Field",required:!0,data:i,...d})}),n(x.Controller,{name:"zAxis3D.name",control:o,render:({field:d})=>n(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),n(a.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:p(a.Button,{color:"blue",type:"submit",children:[n(k.DeviceFloppy,{size:20}),n(a.Text,{ml:"md",children:"Save"})]})})]})}):null}class Jo extends he{constructor(){super(...arguments);O(this,"VERSION",1)}configVersions(){this.version(1,r=>({version:1,config:r}))}}const Ho={displayName:"Bar Chart (3D)",displayGroup:"ECharts-based charts",migrator:new Jo,name:"bar-3d",viewRender:Xo,configRender:Ko,createConfig(){return{version:1,config:v.cloneDeep(wn)}}},Ie={mantissa:0,output:"number",trimMantissa:!1,average:!1};function el({value:e,onChange:t},r){const i=l=>{t({...e,output:l})},s=l=>{const d=l===0?!1:e.trimMantissa;t({...e,mantissa:l,trimMantissa:d})},o=l=>{t({...e,trimMantissa:l.currentTarget.checked})},u=l=>{t({...e,average:l.currentTarget.checked})};return p(a.Stack,{ref:r,children:[p(a.Group,{grow:!0,children:[n(a.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:i,sx:{flexGrow:1}}),n(a.Switch,{label:p(a.Stack,{spacing:0,children:[n(a.Text,{children:"Average"}),n(a.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:u,disabled:e.output!=="number",sx:{flexGrow:1},styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}}})]}),p(a.Group,{grow:!0,children:[n(a.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:s}),n(a.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),p(a.Stack,{spacing:0,children:[n(a.Text,{weight:"bold",children:"Preview"}),n(Ae,{children:p(a.Group,{position:"apart",children:[p(a.Text,{size:12,color:"gray",children:["123456789 ",n(k.ArrowRight,{size:9})," ",se(123456789).format(e)]}),p(a.Text,{size:12,color:"gray",children:["1234 ",n(k.ArrowRight,{size:9})," ",se(1234).format(e)]}),p(a.Text,{size:12,color:"gray",children:["0.1234 ",n(k.ArrowRight,{size:9})," ",se(.1234).format(e)]})]})})]})]})}const Ve=b.forwardRef(el),Be={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
27
|
+
Check the top-level render call using <`+E+">.")}return I}}function Xs(_,I){{if(!_._store||_._store.validated||_.key!=null)return;_._store.validated=!0;var E=Nw(I);if(Us[E])return;Us[E]=!0;var R="";_&&_._owner&&_._owner!==ii.current&&(R=" It was passed a child from "+oe(_._owner.type)+"."),mt(_),$('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',E,R),mt(null)}}function Zs(_,I){{if(typeof _!="object")return;if(ni(_))for(var E=0;E<_.length;E++){var R=_[E];si(R)&&Xs(R,I)}else if(si(_))_._store&&(_._store.validated=!0);else if(_){var ie=S(_);if(typeof ie=="function"&&ie!==_.entries)for(var ue=ie.call(_),ee;!(ee=ue.next()).done;)si(ee.value)&&Xs(ee.value,I)}}}function Gw(_){{var I=_.type;if(I==null||typeof I=="string")return;var E;if(typeof I=="function")E=I.propTypes;else if(typeof I=="object"&&(I.$$typeof===d||I.$$typeof===g))E=I.propTypes;else return;if(E){var R=oe(I);kw(E,_.props,"prop",R,_)}else if(I.PropTypes!==void 0&&!ai){ai=!0;var ie=oe(I);$("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",ie||"Unknown")}typeof I.getDefaultProps=="function"&&!I.getDefaultProps.isReactClassApproved&&$("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function qw(_){{for(var I=Object.keys(_.props),E=0;E<I.length;E++){var R=I[E];if(R!=="children"&&R!=="key"){mt(_),$("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",R),mt(null);break}}_.ref!==null&&(mt(_),$("Invalid attribute `ref` supplied to `React.Fragment`."),mt(null))}}function Ks(_,I,E,R,ie,ue){{var ee=Q(_);if(!ee){var J="";(_===void 0||typeof _=="object"&&_!==null&&Object.keys(_).length===0)&&(J+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var Te=Bw(ie);Te?J+=Te:J+=Qs();var ge;_===null?ge="null":ni(_)?ge="array":_!==void 0&&_.$$typeof===t?(ge="<"+(oe(_.type)||"Unknown")+" />",J=" Did you accidentally export a JSX literal instead of a component?"):ge=typeof _,$("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",ge,J)}var be=Vw(_,I,E,ie,ue);if(be==null)return be;if(ee){var ze=I.children;if(ze!==void 0)if(R)if(ni(ze)){for(var bt=0;bt<ze.length;bt++)Zs(ze[bt],_);Object.freeze&&Object.freeze(ze)}else $("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else Zs(ze,_)}return _===i?qw(be):Gw(be),be}}function Fw(_,I,E){return Ks(_,I,E,!0)}function Ww(_,I,E){return Ks(_,I,E,!1)}var jw=Ww,Yw=Fw;Ct.Fragment=i,Ct.jsx=jw,Ct.jsxs=Yw}()),Ct}(function(e){process.env.NODE_ENV==="production"?e.exports=co():e.exports=po()})(uo);const P=vt.Fragment,n=vt.jsx,p=vt.jsxs;function ki(e,t){b.useEffect(()=>{const r=i=>{console.log(i);const{viewID:s}=i.detail;if(!s){console.error(new Error("[Open View] Needs to pick a view first"));return}e.views.appendToVisibles(s),t&&e.views.setIDOfVIE(s)};return window.addEventListener("open-view",r),()=>{window.removeEventListener("open-view",r)}},[e,t]),b.useEffect(()=>{const r=i=>{console.log(i);const{dictionary:s,payload:o}=i.detail;if(!o||Object.keys(o).length===0){console.error(new Error("[Set Filter Values] payload is empty"));return}Object.entries(s).forEach(([u,l])=>{e.filters.setValueByKey(u,v.get(o,l))})};return window.addEventListener("set-filter-values",r),()=>{window.removeEventListener("set-filter-values",r)}},[e]),b.useEffect(()=>{function r(s){return Array.isArray(s)?[]:typeof s=="object"?{}:typeof s=="boolean"?!1:typeof s=="string"?"":typeof s=="number"?0:s}const i=s=>{console.log(s);const{filter_keys:o}=s.detail;o.forEach(u=>{const l=v.get(e.filters.values,u),d=r(l);console.log(`${u}: ${d}`),e.filters.setValueByKey(u,d)})};return window.addEventListener("clear-filter-values",i),()=>{window.removeEventListener("clear-filter-values",i)}},[e]),b.useEffect(()=>{const r=i=>{console.log(i);const{urlTemplate:s,openInNewTab:o,enableEncoding:u=!1,payload:l}=i.detail;if(!s){console.error(new Error("[Open Link] URL is empty"));return}function d(g){return v.cloneDeepWith(g,m=>{if(u&&typeof m=="string")return encodeURIComponent(m)})}const f=v.template(s||"")(d({...l,filters:e.filters.values,context:e.context.current}));window.open(f,o?"_blank":"_self","noopener")};return window.addEventListener("open-link",r),()=>{window.removeEventListener("open-link",r)}},[e])}class ho{constructor(t){O(this,"symbol");this.symbol=Symbol(t)}}function We(e){return new ho(e)}class hn{constructor(){O(this,"parent");O(this,"factoryRegistry",new Map);O(this,"instanceRegistry",new Map)}createScoped(){const t=new hn;return t.parent=this,t}getRequired(t){return this.get(t)}get(t){if(this.instanceRegistry.has(t.symbol))return this.instanceRegistry.get(t.symbol);const r=this.factoryRegistry.get(t.symbol);if(r){const i=r(this);return this.instanceRegistry.set(t.symbol,i),i}if(this.parent)return this.parent.get(t)}provideFactory(t,r){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,r),this}provideValue(t,r){return this.factoryRegistry.has(t.symbol)?console.warn(`Token ${t.symbol.toString()} is already registered`):this.factoryRegistry.set(t.symbol,()=>r),this}dispose(){this.instanceRegistry.forEach(t=>{const r=v.get(t,"dispose");v.isFunction(r)&&r.bind(t)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const fn=b.createContext(null);function Bt(e){const t=b.useContext(fn),r=Z.useCreation(()=>e.configure(t||new hn),[e.configure]),i=Z.usePrevious(r);return i&&i!==r&&i.dispose(),n(fn.Provider,{value:r,children:e.children})}function Di(){return b.useContext(fn)}const fo={viewPanelInFullScreen:v.noop,inFullScreen:!1},gn=b.createContext(fo),Ii=b.createContext(null),mn=Ii.Provider;function N(){const e=b.useContext(Ii);if(!e)throw new Error("Please use ModelContextProvider");return e}class Ae extends b.Component{constructor(t){super(t),this.state={error:null}}componentDidCatch(t){this.setState({error:t})}render(){var t;if(this.state.error){const r=()=>{this.setState({error:null})};return p(a.Box,{children:[n(a.Text,{size:"xs",children:(t=this.state.error)==null?void 0:t.message}),n(a.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:r,children:"Retry"})]})}return this.props.children}}const bn={fontSize:"14px",lineHeight:"32px",color:"#3D3E45",ul:{paddingLeft:"2em",margin:"6px 0 0"},p:{margin:0},a:{WebkitTapHighlightColor:"transparent",color:"rgb(34, 139, 230)",textDecoration:"none","&:hover":{textDecoration:"underline"},"&:active, &:hover":{outlineWidth:0}},table:{tr:{"th, td":{padding:"0 .5em"}}},"table.rich-text-table-render, div.tableWrapper table":{"th, td":{border:"1px solid #eaeaea"},"tr:last-of-type td":{borderBottom:"1px solid #eaeaea"}},".resize-cursor":{cursor:"col-resize"},details:{summary:{listStyle:"none",cursor:"pointer",transition:"color 300ms ease",userSelect:"none"},"summary::-webkit-details-marker":{display:"none"},"summary:hover":{color:"black","&::before":{opacity:1}},"summary::before":{content:'"►"',fontSize:"10px",margin:"0px 5px",opacity:.5,display:"inline-block",transition:"opacity 300ms ease, transform 300ms ease"}},"details[open] summary::before":{transform:"rotate(90deg)"},"details + details":{marginTop:"10px"}},Nt=({value:e,styles:t={}})=>{const r=vi.useEditor({extensions:[xi,yi,X.Link,ci,di,li,fi.configure({resizable:!1,HTMLAttributes:{class:"rich-text-table-render"}}),bi,mi,gi,pi.configure({types:["heading","paragraph"]}),ui.configure({placeholder:"This is placeholder"}),hi,oi.Color],content:e,editable:!1});b.useEffect(()=>{r==null||r.commands.setContent(e)},[e,r]);const i=b.useMemo(()=>v.defaultsDeep({},{content:bn},t),[t]);return n(X.RichTextEditor,{editor:r,styles:i,children:n(X.RichTextEditor.Content,{})})},go=({description:e,isDescriptionEmpty:t})=>t?null:n(a.Tooltip,{color:"white",label:n(Nt,{value:e,styles:{root:{border:"none"},content:{padding:0}}}),styles:{tooltip:{border:"0.0625rem solid rgb(233, 236, 239)",boxShadow:"rgb(0 0 0 / 5%) 0px 0.0625rem 0.1875rem, rgb(0 0 0 / 5%) 0px 1.25rem 1.5625rem -0.3125rem, rgb(0 0 0 / 4%) 0px 0.625rem 0.625rem -0.3125rem"}},withArrow:!0,children:n(a.Box,{sx:{height:"16px",alignSelf:"center"},children:n(V.IconInfoCircle,{size:16,color:"gray"})})}),mo=T.observer(({label:e,config:{default_value:t,description:r,isDescriptionEmpty:i,...s},value:o,onChange:u})=>p(a.Box,{children:[n(a.Text,{children:" "}),n(a.Checkbox,{label:p(a.Group,{noWrap:!0,position:"apart",align:"middle",spacing:6,children:[n(a.Box,{sx:{flexGrow:1},children:e}),n(go,{description:r,isDescriptionEmpty:i})]}),checked:o||!1,onChange:l=>u(l.currentTarget.checked),...s,pt:".4em",styles:{input:{borderColor:"#e9ecef"}}})]})),Mi=T.observer(({label:e,config:t,value:r=[null,null],onChange:i})=>{const s=Array.isArray(r)?r.map(d=>d?j(d).toDate():null):[null,null],o=d=>{i(d.map(c=>c&&j(c).format(t.inputFormat)))},u=t.getMinDate(s[0]),l=t.getMaxDate(s[0]);return n(Hs.DateRangePicker,{label:e,value:s,onChange:o,icon:n(k.Calendar,{size:16}),sx:{minWidth:"16em"},minDate:u,maxDate:l,styles:{input:{borderColor:"#e9ecef"}},...t})}),bo={layoutFrozen:!1,freezeLayout:v.noop,inEditMode:!1},Xe=b.createContext(bo),Ai=b.createContext({panel:null,data:[],loading:!1}),yn=Ai.Provider;function xe(){const e=b.useContext(Ai);if(!e.panel)throw new Error("Please use PanelContextProvider");return e}const yo={fullScreenPanelID:"",setFullScreenPanelID:v.noop},vn=b.createContext(yo);function $i(){const e=b.useContext(vn);if(!e)throw new Error("Please use FullScreenPanelContext.Provider");return e}const zi=b.forwardRef(({label:e,description:t,...r},i)=>n("div",{ref:i,...r,children:n(a.Group,{noWrap:!0,children:p("div",{children:[n(a.Text,{size:"sm","data-role":"label",children:e}),n(a.Text,{size:"xs",color:"dimmed","data-role":"description",children:t})]})})})),vo=T.observer(({label:e,config:t,value:r,onChange:i})=>{const s=N(),o=!!t.options_query_id,{state:u}=s.getDataStuffByID(t.options_query_id),l=u==="loading",d=t.min_width?t.min_width:"200px",c=o?l:!1;return n(a.MultiSelect,{label:e,data:t.options,disabled:c,value:r,onChange:i,styles:{root:{minWidth:d,maxWidth:c?d:"unset"},input:{borderColor:"#e9ecef"}},itemComponent:zi})}),xo=T.observer(({label:e,config:t,value:r,onChange:i})=>{const s=N(),o=!!t.options_query_id,{state:u}=s.getDataStuffByID(t.options_query_id),l=u==="loading";return b.useEffect(()=>{var f;const{default_selection_count:d}=t;if(!d)return;const c=((f=t.options[0])==null?void 0:f.value)??"";console.log("Selecting the first option by default. New value: ",c),i(c,!0)},[t.default_selection_count,t.options]),n(a.Select,{label:e,data:t.options,disabled:o?l:!1,value:r,onChange:i,styles:{root:{width:t.width?t.width:"200px"},input:{borderColor:"#e9ecef"}},sx:{".mantine-Select-item[data-selected] .mantine-Text-root[data-role=description]":{color:"rgba(255,255,255,.7)"}},itemComponent:zi})});function Co({label:e,config:t,value:r,onChange:i}){return n(a.TextInput,{label:e,value:r||"",onChange:s=>i(s.currentTarget.value),...t,styles:{input:{borderColor:"#e9ecef"}}})}function wo(e){return eo.arrayToTree(e,{id:"value",parentId:"parent_value",childrenField:"children",dataField:null})}const _o=({rotate:e,onClick:t})=>n("svg",{onClick:t,className:"caret-icon",viewBox:"0 0 1024 1024",focusable:"false","data-icon":"caret-down",width:"14px",height:"14px",fill:"currentColor","aria-hidden":"true",transform:`rotate(${e})`,children:n("path",{d:"M840.4 300H183.6c-19.7 0-30.7 20.8-18.5 35l328.4 380.8c9.4 10.9 27.5 10.9 37 0L858.9 335c12.2-14.2 1.2-35-18.5-35z"})}),So=({expanded:e,isLeaf:t,value:r,onClick:i,...s})=>(r==="0-0-value"&&console.log(s),t?n("span",{style:{width:"14px",display:"inline-block"}}):n(_o,{rotate:e?"0":"-90",onClick:i,...s})),To=({onClick:e})=>p("svg",{onClick:e,className:"checkbox-icon",width:"16",height:"16",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:"2",fill:"none",strokeLinecap:"round",strokeLinejoin:"round",children:[n("path",{stroke:"none",d:"M0 0h24v24H0z",fill:"none"}),n("rect",{className:"border",x:"4",y:"4",width:"16",height:"16",rx:"2"}),n("rect",{className:"checkmark-indeterminate",x:"8",y:"8",width:"8",height:"8",rx:"2",stroke:"none"}),n("path",{className:"checkmark-checked",d:"M9 12l2 2l4 -4"})]}),ko=({onClick:e,...t})=>n(To,{onClick:e,...t}),Do=a.createStyles((e,{radius:t=4})=>({root:{borderRadius:e.fn.radius(t),display:"flex",flexWrap:"nowrap",border:"1px solid #ced4da",paddingLeft:"0px",paddingRight:"30px",backgroundColor:"#fff",transition:"border-color 100ms ease",borderColor:"#e9ecef","&.rc-tree-select.rc-tree-select-open":{borderColor:"#228be6 !important",".rc-tree-select-selection-overflow-item-rest":{display:"none"},".rc-tree-select-selection-overflow-item-suffix":{display:"block"}},".rc-tree-select-selector":{height:"auto",lineHeight:1.55,paddingLeft:"12px",resize:"none",boxSizing:"border-box",fontSize:"14px",width:"100%",color:"#000",display:"block",textAlign:"left",minHeight:"36px",cursor:"pointer",flexGrow:1},".rc-tree-select-selection-search-mirror":{display:"none"},".rc-tree-select-selection-search":{flexGrow:1,width:"auto !important"},".rc-tree-select-selection-overflow":{display:"flex",minHeight:"34px",alignItems:"center",flexWrap:"nowrap",marginLeft:"calc(-10px / 2)",boxSizing:"border-box"},".rc-tree-select-selection-overflow-item":{display:"flex",alignItems:"center",backgroundColor:"#f1f3f5",color:"#495057",height:"24px",paddingLeft:"12px",paddingRight:"12px",fontWeight:500,fontSize:"12px",borderRadius:"4px",cursor:"default",userSelect:"none",maxWidth:"calc(100% - 20px)",margin:"calc(10px / 2 - 2px) calc(10px / 2)"},".rc-tree-select-selection-overflow-item-rest":{cursor:"pointer"},".rc-tree-select-selection-overflow-item-suffix":{display:"none",backgroundColor:"transparent",width:"100%",maxWidth:"100%",height:"28px",margin:0,paddingLeft:0,paddingRight:0},input:{flex:1,minWidth:"60px",backgroundColor:"transparent",border:0,outline:0,fontSize:"14px",padding:0,marginLeft:0,color:"inherit",height:"28px",lineHeight:"32px",cursor:"pointer",width:"100%","&::-webkit-search-decoration, &::-webkit-search-cancel-button, &::-webkit-search-results-button, &::-webkit-search-results-decoration":{display:"none"}},".rc-tree-select-clear":{marginRight:"-24px",alignSelf:"center",cursor:"pointer"},"&.rc-tree-select-disabled":{backgroundColor:"rgb(241, 243, 245)",color:"rgb(144, 146, 150)",opacity:.6,"&, .rc-tree-select-selector, input":{cursor:"not-allowed"}}},label:{fontSize:e.fontSizes.sm,fontWeight:500,color:"#212529"},dropdown:{fontSize:e.fontSizes.xs,zIndex:300,paddingTop:"6px","&.rc-tree-select-dropdown-slide-up-leave-active":{display:"none"},".rc-tree-select-tree-list .rc-tree-select-tree-list-holder":{},".rc-tree-select-tree-list, .rc-tree-select-empty":{backgroundColor:"#fff",border:"1px solid #e9ecef",padding:0,boxShadow:"0 1px 3px rgb(0 0 0 / 5%), rgb(0 0 0 / 5%) 0px 10px 15px -5px, rgb(0 0 0 / 4%) 0px 7px 7px -5px",borderRadius:"4px"},".rc-tree-select-empty":{padding:"8px 12px"},".rc-tree-select-tree-treenode":{boxSizing:"border-box",textAlign:"left",width:"100%",padding:"8px 12px",cursor:"pointer",fontSize:"14px",color:"#000",borderRadius:"4px",display:"flex",flexWrap:"nowrap",overflow:"hidden","&:hover":{backgroundColor:"#f1f3f5"},"&.rc-tree-select-tree-treenode-checkbox-checked":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-checked":{stroke:"rgb(64, 192, 87)",animation:"check 200ms linear forwards"}},"&.rc-tree-select-tree-treenode-checkbox-indeterminate":{".rc-tree-select-tree-iconEle .checkbox-icon .checkmark-indeterminate":{fill:"rgb(64, 192, 87)"}},".rc-tree-select-tree-switcher":{height:"16px",alignSelf:"center",paddingRight:"2px",transition:"color 200ms ease","&:hover":{color:"#228be6","svg.caret-icon":{color:"#228be6"}},"svg.caret-icon":{color:"#ced4da",transition:"all 200ms ease"}},".rc-tree-select-tree-node-content-wrapper":{display:"flex",flexWrap:"nowrap",overflow:"hidden",alignItems:"center",gap:"8px",transition:"color 200ms ease","&:hover":{color:"#228be6"}},".rc-tree-select-tree-iconEle":{height:"16px","svg .border":{stroke:"#ced4da"},".checkbox-icon .checkmark-indeterminate":{fill:"transparent",transition:"fill 200ms ease"},".checkbox-icon .checkmark-checked":{transform:"scale(1.2)",transformOrigin:"center center",strokeDasharray:10,strokeDashoffset:-10},"@keyframes check":{"0%":{strokeDashoffset:10},"100%":{strokeDashoffset:0}}},".rc-tree-select-tree-title":{textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden",".rc-tree-select-tree-title-desc":{fontSize:"12px",maxWidth:"100%",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}},".rc-tree-select-tree-indent":{flexGrow:0,height:0,verticalAlign:"bottom"},".rc-tree-select-tree-indent-unit":{display:"inline-block",width:"1em"}}}})),Io=({disabled:e,classNames:t,styles:r,unstyled:i,radius:s,style:o,label:u,value:l,onChange:d,treeData:c})=>{const{classes:f,cx:g}=Do({radius:s},{name:"FilterTreeSelectWidget",classNames:t,styles:r,unstyled:i}),[h,m]=b.useState((l==null?void 0:l.length)>0),w=S=>{m(S)},C=h&&(l==null?void 0:l.length)>0;return p(a.Stack,{spacing:3,children:[p(a.Group,{position:"apart",children:[n(a.Text,{className:f.label,children:u}),C&&n(a.Tooltip,{label:`${l.length} selected`,children:n(a.Badge,{children:l.length})})]}),n(Ci,{disabled:e,allowClear:!0,className:g(f.root,"check-select"),dropdownClassName:g(f.dropdown,""),onDropdownVisibleChange:w,transitionName:"rc-tree-select-dropdown-slide-up",choiceTransitionName:"rc-tree-select-selection__choice-zoom",style:o,treeLine:!0,clearIcon:()=>n(a.CloseButton,{}),switcherIcon:So,treeIcon:ko,maxTagTextLength:10,value:l,treeData:c,treeNodeFilterProp:"filterBasis",treeCheckable:!0,showCheckedStrategy:Ci.SHOW_PARENT,onChange:d,onSelect:console.log,maxTagCount:0,maxTagPlaceholder:S=>`${S.length} selected`})]})};function Mo(e){return e.map(t=>{const{label:r,description:i,...s}=t,o={...s,filterBasis:`${r}___${i??""}`,description:i,label:r};return i&&(o.label=p("div",{children:[n(a.Text,{title:t.label,children:t.label}),n(a.Text,{className:"rc-tree-select-tree-title-desc",color:"dimmed",title:t.description,children:t.description})]})),o})}const Ao=T.observer(({label:e,config:t,value:r,onChange:i})=>{const s=N(),{state:o,dataProxy:u,len:l}=s.getDataStuffByID(t.options_query_id),d=o==="loading",c=b.useMemo(()=>{if(!u)return[];const m=[...u],w=Mo(m);return wo(w)},[u,l]);b.useEffect(()=>{const{default_selection_count:m}=t;if(!m)return;if(c.length===0){console.log("[filter.tree-select] Resetting to empty"),i([],!0);return}const w=c.slice(0,m).map(C=>C.value);console.log(`[filter.tree-select] Selecting first ${m} option(s)`),i(w,!0)},[t.default_selection_count,c]);const f=t.min_width?t.min_width:"200px",h=!!t.options_query_id?d:!1;return n(Io,{disabled:h,style:{minWidth:f,maxWidth:h?f:"unset",borderColor:"#e9ecef"},value:r,onChange:m=>i(m,!1),treeData:c,label:e})}),$o=T.observer(({filter:{type:e,config:t,key:r,...i},formFieldProps:s})=>{switch(e){case"select":return n(xo,{...i,...s,config:t});case"multi-select":return n(vo,{...i,...s,config:t});case"tree-select":return n(Ao,{...i,...s,config:t});case"text-input":return n(Co,{...i,...s,config:t});case"date-range":return n(Mi,{...i,...s,config:t});case"checkbox":return n(mo,{...i,...s,config:t});default:return null}}),Ei=T.observer(b.forwardRef(({filter:e,...t},r)=>n("div",{className:"filter-root",ref:r,children:n(Ae,{children:n($o,{filter:e,formFieldProps:t})})}))),Li=T.observer(function({view:t}){const r=N(),{control:i,handleSubmit:s,reset:o}=x.useForm({defaultValues:r.filters.values,reValidateMode:"onBlur"}),u=x.useWatch({control:i});b.useEffect(()=>{o(r.filters.values)},[r.filters.values,o]),b.useEffect(()=>{r.filters.updatePreviewValues(u)},[u]);const l=r.filters.visibleInView(t.id),d=b.useMemo(()=>l.every(h=>h.should_auto_submit),[l]),c=b.useMemo(()=>l.filter(h=>v.get(h,"config.required",!1)),[l]),f=b.useMemo(()=>c.length===0?!1:c.some(h=>!h.requiredAndPass(u[h.key])),[u,c]);if(l.length===0)return null;const g=(h,m)=>(w,C)=>{m(w),(h.should_auto_submit||C)&&r.filters.setValueByKey(h.key,w)};return n("form",{onSubmit:s(r.filters.setValues),children:p(a.Group,{className:"dashboard-filters",position:"apart",noWrap:!0,sx:d?{}:{border:"1px solid #e9ecef",borderRadius:"4px",padding:"16px"},children:[n(a.Group,{align:"flex-start",children:l.map(h=>n(x.Controller,{name:h.key,control:i,render:({field:m})=>n(Ei,{filter:h,value:m.value,onChange:g(h,m.onChange)})},h.id))}),!d&&n(a.Group,{sx:{alignSelf:"flex-end"},children:n(a.Button,{color:"blue",size:"sm",type:"submit",disabled:f,children:"Search"})})]})})}),Xw="";function zo(e){return e?["<p><br></p>","<p></p>"].includes(e):!0}const Oi=T.observer(()=>{const{freezeLayout:e}=b.useContext(Xe),[t,r]=b.useState(!1),{panel:i}=xe();return b.useEffect(()=>{e(t)},[t]),zo(i.description)?null:p(P,{children:[n(a.Modal,{opened:t,onClose:()=>r(!1),title:i.title,withCloseButton:!1,withinPortal:!0,zIndex:310,children:n(Nt,{value:i.description,styles:{root:{border:"none"},content:{padding:0}}})}),n(a.Tooltip,{label:"Click to see description",position:"top-start",withinPortal:!0,children:n(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>r(s=>!s),sx:{verticalAlign:"baseline",cursor:"pointer"},children:n(k.InfoCircle,{size:20})})})]})}),Eo=T.observer(({view:e})=>{const t=N(),r=Oe.useModals(),{panel:i}=xe(),{id:s,query:o}=i,{inEditMode:u}=b.useContext(Xe),l=()=>o==null?void 0:o.fetchData(),{viewPanelInFullScreen:d,inFullScreen:c}=b.useContext(gn),f=()=>{t.duplicatePanelByID(s,e.id)},g=()=>{t.editor.open(["_VIEWS_",e.id,"_PANELS_",s])},h=()=>r.openConfirmModal({title:"Delete this panel?",labels:{confirm:"Confirm",cancel:"Cancel"},onCancel:()=>console.log("Cancel"),onConfirm:()=>t.removePanelByID(s,e.id),confirmProps:{color:"red"},zIndex:320}),m=b.useCallback(()=>{d(s)},[s,d]),w=!c&&e.type!==K.Modal;return n(P,{children:n(a.Box,{sx:{position:"absolute",top:0,left:0,right:0,zIndex:300},children:p(a.Menu,{withinPortal:!0,children:[n(a.Menu.Target,{children:n(a.Box,{className:"panel-dropdown-target",sx:{width:"100%",height:"25px"}})}),p(a.Menu.Dropdown,{children:[n(a.Menu.Item,{onClick:l,icon:n(k.Refresh,{size:14}),children:"Refresh"}),n(a.Menu.Item,{onClick:()=>t.queries.downloadDataByQueryID((o==null?void 0:o.id)??""),icon:n(k.Download,{size:14}),children:"Download Data"}),w&&n(a.Menu.Item,{onClick:m,icon:n(k.ArrowsMaximize,{size:14}),disabled:u,children:"Full Screen"}),u&&p(P,{children:[n(a.Divider,{label:"Edit",labelPosition:"center"}),n(a.Menu.Item,{onClick:g,icon:n(k.Settings,{size:14}),children:"Settings"}),n(a.Menu.Item,{onClick:f,icon:n(k.Copy,{size:14}),children:"Duplicate"}),n(a.Menu.Item,{color:"red",onClick:h,icon:n(k.Trash,{size:14}),children:"Delete"})]})]})]})})})}),Zw="",Lo=T.observer(function(){const{panel:t}=xe(),{title:r}=t;return r?n(a.Group,{grow:!0,position:"center",px:20,className:"panel-title-wrapper",sx:{flexGrow:1},children:n(a.Text,{align:"center",lineClamp:1,weight:"bold",children:r})}):null}),Pe=(e,t)=>{const[r,i]=b.useState([]);return b.useEffect(()=>e.watchTriggerSnapshotList(s=>i(s.filter(o=>o.schemaRef===t))),[]),r};class ot{constructor(t,r){this.root=t,this.path=r}async deleteItem(t){t===null&&await this.root.deleteItem(this.path);const r=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,v.omit(r,t))}async getItem(t){const r=await this.root.getItem(this.path);return t===null?r:v.get(r,t)}async setItem(t,r){if(t===null)await this.root.setItem(this.path,r);else{const i=await this.root.getItem(this.path)||{};await this.root.setItem(this.path,{...i,[t]:r})}return await this.getItem(t)}watchItem(t,r,i){return t===null?this.root.watchItem(this.path,(s,o)=>{r(s,o)},i):this.root.watchItem(this.path,(s,o)=>{const u=v.get(s,t),l=v.get(o,t);u!==l&&r(u,l)},i)}}class xn{constructor(t,r,i){O(this,"attachmentStorage");this.instance=t,this.attachmentKey=r,this.constructInstance=i,this.attachmentStorage=new ot(t.instanceData,r)}async getInstance(t){if(await this.attachmentStorage.getItem(t))return this.constructInstance(new ot(this.attachmentStorage,t))}async create(t,r){return await this.attachmentStorage.setItem(t,r),this.constructInstance(new ot(this.attachmentStorage,t))}async remove(t){await this.attachmentStorage.deleteItem(t)}async list(){const t=await this.attachmentStorage.getItem(null);return Promise.all(v.values(t).map(r=>this.constructInstance(new ot(this.attachmentStorage,r.id))))}}class Pi{constructor(t){O(this,"rootRef");this.rootRef=ae.observable({current:t})}async deleteItem(t){ae.runInAction(()=>{v.unset(this.rootRef.current,[t])})}getItem(t){const r=this.getValueFromRoot(t);return Promise.resolve(r)}getValueFromRoot(t){return t===null?ae.toJS(this.rootRef.current):v.get(this.rootRef.current,[t])}setItem(t,r){if(t===null)if(v.isObject(r))ae.runInAction(()=>{this.rootRef.current=r});else throw new Error("Cannot set root value to non-object");else ae.runInAction(()=>{v.set(this.rootRef.current,[t],r)});return Promise.resolve(this.getItem(t))}watchItem(t,r,i){return ae.reaction(()=>this.getValueFromRoot(t),(s,o)=>{r(s,o)},{requiresObservable:!0,fireImmediately:v.get(i,"fireImmediately",!1)})}}class Oo{constructor(){O(this,"channels",new Map);O(this,"globalChannel",new wi)}getChannel(t){const r=this.channels.get(t);if(r)return r;const i=new wi;return this.channels.set(t,i),i}}class Po{constructor(t){O(this,"instances",new Map);this.pluginManager=t}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(t=>t.manifest.viz)}resolveComponent(t){return this.pluginManager.factory.viz(t)}getOrCreateInstance(t){const r=this.instances.get(t.id);if(r)return r;const i={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new Oo,instanceData:new Pi(t.viz.conf)};return this.instances.set(t.id,i),i}}function Vi(e,t,r,i){return{vizManager:r,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new Pi({}),colorPalette:{getColor(){return()=>""}},data:t,variables:i}}const Vo=e=>{const{panel:t,vizManager:r,data:i,variables:s}=e,o=r.resolveComponent(t.viz.type),u=r.getOrCreateInstance(t),l={...Vi(u,i,r,s),viewport:{width:t.layout.w,height:t.layout.h}},d=o.viewRender;return n(d,{context:l,instance:u,...v.omit(e,["panel","vizManager","data"])})},Bo=e=>{const{vizManager:t,panel:r,panelInfoEditor:i,data:s,variables:o}=e,u=t.resolveComponent(r.viz.type),l=t.getOrCreateInstance(r),d={...Vi(l,s,t,o),panelInfoEditor:i},c=u.configRender;return n(c,{context:d,instance:l,...v.omit(e,["panel","vizManager","data","panelInfoEditor"])})},Bi=(e,t)=>{const r=Fe.bezier(e),i=Fe.bezier(t);return function(s){return s<50?r(s*2/100).hex():i((s-50)*2/100).hex()}},Gt=e=>{const t=Fe.bezier(e);return function(r){return t(r/100).hex()}},No={type:"interpolation",displayName:"Red / Green",getColor:Bi(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Go={type:"interpolation",displayName:"Yellow / Blue",getColor:Bi(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},qo={type:"interpolation",displayName:"Red",getColor:Gt(["#fff7f1","darkred"]),name:"red",category:"sequential"},Fo={type:"interpolation",displayName:"Green",getColor:Gt(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Wo={type:"interpolation",displayName:"Blue",getColor:Gt(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},jo={type:"interpolation",displayName:"Orange",getColor:Gt(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"},Ni="@devtable/dashboard",Cn="8.61.1",Gi="Apache-2.0",qi={access:"public",registry:"https://registry.npmjs.org/"},Fi=["dist"],Wi="./dist/dashboard.umd.js",ji="./dist/dashboard.es.js",Yi="./dist/index.d.ts",Ri={".":{import:"./dist/dashboard.es.js",require:"./dist/dashboard.umd.js"},"./dist/style.css":{import:"./dist/style.css",require:"./dist/style.css"}},Qi={"dev-build":"tsc && vite build --watch",build:"tsc && vite build",preview:"vite preview",test:"vitest","test:ui":"vitest --ui",coverage:"vitest --coverage"},Ui={"@monaco-editor/react":"4.4.6","@types/chroma-js":"^2.1.4","file-saver":"2.0.5",mathjs:"11.8.0","monaco-editor":"0.36.0","performant-array-to-tree":"1.11.0",popmotion:"^11.0.3","rc-tree-select":"5.5.5",reactflow:"^11.5.3"},Xi={"@emotion/babel-plugin":"11.10.6","@faker-js/faker":"7.6.0","@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@testing-library/cypress":"^9.0.0","@testing-library/jest-dom":"^5.16.4","@testing-library/react":"^13.3.0","@testing-library/react-hooks":"^8.0.1","@testing-library/user-event":"^14.3.0","@tiptap/extension-code-block-lowlight":"2.0.3","@tiptap/extension-color":"2.0.3","@tiptap/extension-highlight":"2.0.3","@tiptap/extension-link":"2.0.3","@tiptap/extension-placeholder":"2.0.3","@tiptap/extension-subscript":"2.0.3","@tiptap/extension-superscript":"2.0.3","@tiptap/extension-table":"2.0.3","@tiptap/extension-table-cell":"2.0.3","@tiptap/extension-table-header":"2.0.3","@tiptap/extension-table-row":"2.0.3","@tiptap/extension-text-align":"2.0.3","@tiptap/extension-text-style":"2.0.3","@tiptap/extension-underline":"2.0.3","@tiptap/pm":"2.0.3","@tiptap/react":"2.0.3","@tiptap/starter-kit":"2.0.3","@types/crypto-js":"v4.1.1","@types/d3-array":"3.0.4","@types/eventemitter2":"^4.1.0","@types/file-saver":"2.0.5","@types/lodash":"^4.14.182","@types/react":"^18.0.0","@types/react-dom":"^18.0.0","@types/react-grid-layout":"^1.3.2",ahooks:"^3.3.11",ajv:"8.12.0",axios:"^0.27.2","crypto-js":"^4.1.1",cypress:"^12.9.0","cypress-wait-until":"^1.7.2",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9",jsdom:"^20.0.0","jsdom-testing-mocks":"^1.5.0",lodash:"^4.17.21",lowlight:"^2.8.0",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","rollup-plugin-visualizer":"5.6.0","tabler-icons-react":"^1.48.0",typescript:"^4.6.3","vite-plugin-static-copy":"0.13.1"},Zi={"@emotion/react":"11.10.6","@faker-js/faker":"7.6.0","@mantine/core":"5.9.5","@mantine/dates":"5.9.5","@mantine/hooks":"5.9.5","@mantine/modals":"5.9.5","@mantine/notifications":"5.9.5","@mantine/prism":"5.9.5","@mantine/tiptap":"5.9.5","@tabler/icons":"^1.118.0","@tanstack/react-table":"^8.5.13","@tiptap/extension-code-block-lowlight":"2.0.3","@tiptap/extension-color":"2.0.3","@tiptap/extension-highlight":"2.0.3","@tiptap/extension-link":"2.0.3","@tiptap/extension-placeholder":"2.0.3","@tiptap/extension-subscript":"2.0.3","@tiptap/extension-superscript":"2.0.3","@tiptap/extension-table":"2.0.3","@tiptap/extension-table-cell":"2.0.3","@tiptap/extension-table-header":"2.0.3","@tiptap/extension-table-row":"2.0.3","@tiptap/extension-text-align":"2.0.3","@tiptap/extension-text-style":"2.0.3","@tiptap/extension-underline":"2.0.3","@tiptap/pm":"2.0.3","@tiptap/react":"2.0.3","@tiptap/starter-kit":"2.0.3",ahooks:"^3.3.11",axios:"^0.27.2","chroma-js":"^2.4.2","crypto-js":"^4.1.1","d3-array":"3.2.3","d3-regression":"1.3.10",dayjs:"1.11.7",echarts:"^5.3.2","echarts-for-react":"^3.0.2","echarts-gl":"^2.0.9",eventemitter2:"^6.4.6",jszip:"3.10.1",lodash:"^4.17.21",lowlight:"^2.8.0",mobx:"^6.6.1","mobx-react-lite":"^3.4.0","mobx-state-tree":"^5.1.5",numbro:"^2.3.6","prosemirror-commands":"^1.5.0","prosemirror-dropcursor":"^1.6.1","prosemirror-gapcursor":"^1.3.1","prosemirror-history":"^1.3.0","prosemirror-keymap":"^1.2.0","prosemirror-schema-list":"^1.2.2",react:"^16.8.0 || 17.x || 18.x","react-dom":"^16.8.0 || 17.x || 18.x","react-grid-layout":"^1.3.4","react-hook-form":"^7.31.2","react-router-dom":"^6.3.0","react-virtual":"^2.10.4","tabler-icons-react":"^1.48.0"},Yo=Object.freeze(Object.defineProperty({__proto__:null,default:{name:Ni,version:Cn,license:Gi,publishConfig:qi,files:Fi,main:Wi,module:ji,types:Yi,exports:Ri,scripts:Qi,dependencies:Ui,devDependencies:Xi,peerDependencies:Zi},dependencies:Ui,devDependencies:Xi,exports:Ri,files:Fi,license:Gi,main:Wi,module:ji,name:Ni,peerDependencies:Zi,publishConfig:qi,scripts:Qi,types:Yi,version:Cn},Symbol.toStringTag,{value:"Module"}));class Ro{constructor(t){O(this,"staticColors",new Map);O(this,"interpolations",new Map);t.installedPlugins.forEach(r=>{r.manifest.color.forEach(i=>{this.register(i)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(t){const r=this.encodeColor(t);t.type==="single"?(this.staticColors.has(r)&&console.warn(`the color '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.staticColors.set(r,t)):t.type==="interpolation"&&(this.interpolations.has(r)&&console.warn(`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`,`the interpolation '${t.name}' has been registered under '${t.category}', previous registered value will be overridden`),this.interpolations.set(r,t))}decodeStaticColor(t){return this.staticColors.get(t)}encodeColor(t){return`\${${t.category}}.{${t.name}}`}decodeInterpolation(t){return this.interpolations.get(t)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class Qo{constructor(){O(this,"plugins",new Map);O(this,"vizComponents",new Map);O(this,"factory",{viz:t=>{const r=this.vizComponents.get(t);if(r)return r;throw new Error(`Viz Component (${t}) not found`)}})}install(t){if(this.plugins.has(t.id))throw new Error(`Plugin (${t.id}) has been installed before`);this.plugins.set(t.id,t);for(const r of t.manifest.viz){if(this.vizComponents.has(r.name))throw new Error(`Viz Component (${r.name}) has been installed before`);this.vizComponents.set(r.name,r)}}get installedPlugins(){return Array.from(this.plugins.values())}}class Uo{constructor(){O(this,"migrations",[])}version(t,r){return this.migrations.push({version:t,handler:r}),this}run(t,r,i){var u;if(t.from===t.to)return r;if(t.from>t.to)throw new Error(`Can not downgrade from version '${t.from}' to (${t.to})`);const s=this.migrations.filter(l=>l.version>t.from&&l.version<=t.to),o=v.orderBy(s,"version","asc");if(((u=v.last(o))==null?void 0:u.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((l,d)=>d.handler(l,i),r)}}class he extends Uo{constructor(){super(),this.configVersions()}version(t,r){return super.version(t,(i,s)=>({version:t,...r(i,s)}))}async migrate({configData:t,panelModel:r}){const i=await t.getItem(null),s=v.get(i,"version",0),o=this.run({from:s,to:this.VERSION},i,{panelModel:r});await t.setItem(null,o)}async needMigration({configData:t}){const r=await t.getItem(null);return v.get(r,"version",0)<this.VERSION}}const W=(e,t)=>{const[r,{setFalse:i}]=Z.useBoolean(!0),[s,o]=b.useState();b.useEffect(()=>(e.getItem(t).then(l=>{o(l),i()}),e.watchItem(t,l=>{o(l)})));const u=b.useCallback(async l=>{await e.setItem(t,l),o(l)},[e,t]);return{loading:r,value:s,set:u}},wn={x_axis_data_key:"",y_axis_data_key:"",z_axis_data_key:"",xAxis3D:{type:"value",name:"X Axis Name"},yAxis3D:{type:"value",name:"Y Axis Name"},zAxis3D:{type:"value",name:"Z Axis Name"}};le.use([B.GridComponent,B.VisualMapComponent,B.LegendComponent,B.TooltipComponent,ke.CanvasRenderer]);function Xo({context:e}){const{value:t}=W(e.instanceData,"config"),r=e.data,{width:i,height:s}=e.viewport,{x_axis_data_key:o,y_axis_data_key:u,z_axis_data_key:l,xAxis3D:d,yAxis3D:c,zAxis3D:f}=v.defaults({},t,wn),g=b.useMemo(()=>{const w=v.minBy(r,C=>C[l]);return v.get(w,l)},[r,l]),h=b.useMemo(()=>{const w=v.maxBy(r,C=>C[l]);return v.get(w,l)},[r,l]),m={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:g,max:h,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:d,yAxis3D:c,zAxis3D:f,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:r.map(w=>[w[o],w[u],w[l]])}]};return t?n(De,{echarts:le,option:m,style:{width:i,height:s},notMerge:!0,theme:"merico-light"}):null}function Zo({label:e,required:t,value:r,onChange:i,data:s,clearable:o=!1,sx:u,...l},d){const c=b.useMemo(()=>{if(!Array.isArray(s)||s.length===0)return[];const g=Object.keys(s[0]).map(h=>({label:h,value:h}));return o?g.concat([{label:"unset",value:""}]):g},[s]);return n(a.Select,{ref:d,label:e,data:c,value:r,onChange:i,required:t,sx:u,...l})}const Y=b.forwardRef(Zo);function Ko({context:e}){const{value:t,set:r}=W(e.instanceData,"config"),i=e.data,s=v.defaults({},t,wn),{control:o,handleSubmit:u,reset:l}=x.useForm({defaultValues:s});return b.useEffect(()=>{l(s)},[t]),t?n(a.Stack,{spacing:"xs",children:p("form",{onSubmit:u(r),children:[n(a.Text,{children:"X Axis"}),p(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(x.Controller,{name:"x_axis_data_key",control:o,render:({field:d})=>n(Y,{label:"Data Field",required:!0,data:i,...d})}),n(x.Controller,{name:"xAxis3D.name",control:o,render:({field:d})=>n(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),n(a.Text,{mt:"lg",children:"Y Axis"}),p(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(x.Controller,{name:"y_axis_data_key",control:o,render:({field:d})=>n(Y,{label:"Data Field",required:!0,data:i,...d})}),n(x.Controller,{name:"yAxis3D.name",control:o,render:({field:d})=>n(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),n(a.Text,{mt:"lg",children:"Z Axis"}),p(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n(x.Controller,{name:"z_axis_data_key",control:o,render:({field:d})=>n(Y,{label:"Data Field",required:!0,data:i,...d})}),n(x.Controller,{name:"zAxis3D.name",control:o,render:({field:d})=>n(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...d})})]}),n(a.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:p(a.Button,{color:"blue",type:"submit",children:[n(k.DeviceFloppy,{size:20}),n(a.Text,{ml:"md",children:"Save"})]})})]})}):null}class Jo extends he{constructor(){super(...arguments);O(this,"VERSION",1)}configVersions(){this.version(1,r=>({version:1,config:r}))}}const Ho={displayName:"Bar Chart (3D)",displayGroup:"ECharts-based charts",migrator:new Jo,name:"bar-3d",viewRender:Xo,configRender:Ko,createConfig(){return{version:1,config:v.cloneDeep(wn)}}},Ie={mantissa:0,output:"number",trimMantissa:!1,average:!1};function el({value:e,onChange:t},r){const i=l=>{t({...e,output:l})},s=l=>{const d=l===0?!1:e.trimMantissa;t({...e,mantissa:l,trimMantissa:d})},o=l=>{t({...e,trimMantissa:l.currentTarget.checked})},u=l=>{t({...e,average:l.currentTarget.checked})};return p(a.Stack,{ref:r,children:[p(a.Group,{grow:!0,children:[n(a.Select,{label:"Format",data:[{label:"1234",value:"number"},{label:"99%",value:"percent"}],value:e.output,onChange:i,sx:{flexGrow:1}}),n(a.Switch,{label:p(a.Stack,{spacing:0,children:[n(a.Text,{children:"Average"}),n(a.Text,{size:12,color:"gray",children:"like 1.234k, 1.234m"})]}),checked:e.average,onChange:u,disabled:e.output!=="number",sx:{flexGrow:1},styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"},label:{display:"block"}}})]}),p(a.Group,{grow:!0,children:[n(a.NumberInput,{label:"Mantissa",defaultValue:0,min:0,step:1,max:4,value:e.mantissa,onChange:s}),n(a.Switch,{label:"Trim mantissa",checked:e.trimMantissa,onChange:o,disabled:e.mantissa===0,styles:{root:{alignSelf:"flex-end"},body:{alignItems:"center"}}})]}),p(a.Stack,{spacing:0,children:[n(a.Text,{weight:"bold",children:"Preview"}),n(Ae,{children:p(a.Group,{position:"apart",children:[p(a.Text,{size:12,color:"gray",children:["123456789 ",n(k.ArrowRight,{size:9})," ",se(123456789).format(e)]}),p(a.Text,{size:12,color:"gray",children:["1234 ",n(k.ArrowRight,{size:9})," ",se(1234).format(e)]}),p(a.Text,{size:12,color:"gray",children:["0.1234 ",n(k.ArrowRight,{size:9})," ",se(.1234).format(e)]})]})})]})]})}const Ve=b.forwardRef(el),Be={enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
28
28
|
`)},Ki={id:"builtin:echarts:click-echart:series",displayName:"Click Chart Series",nameRender:nl,configRender:tl,payload:[{name:"type",description:"Always 'click'",valueType:"string"},{name:"seriesType",description:"'boxplot'",valueType:"string"},{name:"name",description:"Name of the series clicked",valueType:"string"},{name:"color",description:"Color",valueType:"string"},{name:"value",description:"Record of 'name', 'min', 'q1', 'median', 'q3', 'max'",valueType:"object"},{name:"rowData",description:"Data of the row",valueType:"object"}]};function tl(e){return n(P,{})}function nl(e){return n(a.Text,{children:"Click chart's series"})}const rl=[{label:"Truncate",value:"truncate"},{label:"Break Line",value:"break"},{label:"Break Word",value:"breakAll"}],qt=b.forwardRef(({sectionTitle:e,value:t,onChange:r},i)=>{const s=o=>u=>{const l=v.cloneDeep(t);v.set(l,o,u),r(l)};return p(a.Stack,{spacing:0,children:[e&&n(a.Divider,{mb:-5,mt:5,variant:"dotted",label:e,labelPosition:"right",labelProps:{color:"dimmed"}}),p(a.Group,{grow:!0,noWrap:!0,children:[n(a.NumberInput,{label:"Max Width",hideControls:!0,value:t.width,onChange:s("width")}),n(a.Select,{label:"Overflow",data:rl,value:t.overflow,onChange:s("overflow")}),n(a.TextInput,{label:"Ellipsis",value:t.ellipsis,disabled:!0})]})]})}),nt=b.forwardRef(({value:e,onChange:t},r)=>{const i=o=>{t({...e,on_axis:o})},s=o=>{t({...e,in_tooltip:o})};return p(a.Stack,{ref:r,spacing:0,children:[n(qt,{sectionTitle:"Overflow on Axis",value:e.on_axis,onChange:i}),n(qt,{sectionTitle:"Overflow in Tooltip",value:e.in_tooltip,onChange:s})]})}),je={on_axis:{width:80,overflow:"truncate",ellipsis:"..."},in_tooltip:{width:200,overflow:"break",ellipsis:"..."}};function Ze({overflow:e,width:t}){const r={truncate:"initial",break:"break-all",breakAll:"break-word"}[e],i=e==="truncate"?"nowrap":"initial",s={truncate:"ellipsis",break:"clip",breakAll:"clip"}[e];return`
|
|
29
29
|
max-width: ${t}px;
|
|
30
30
|
word-break: ${r};
|
|
@@ -264,7 +264,7 @@ Check the top-level render call using <`+E+">.")}return I}}function Xs(_,I){{if(
|
|
|
264
264
|
${u.join("")}
|
|
265
265
|
</tbody>
|
|
266
266
|
</table>
|
|
267
|
-
`}}}function lm(e){return e.x_axes.reduce((r,{label_formatter:i},s)=>(r[s]=function(u){let l=u;if(typeof u=="object"&&(Array.isArray(u.value)&&u.value.length===2?l=u.value[0]:l=u.value),!i)return l;try{return se(l).format(i)}catch(d){return console.error(d),l}},r),{default:({value:r})=>r})}function um(e,t){const r={};return t.map(i=>{const s=lt(i,e);r[i.name]=Je(i,s)}),r}function dm(e,t){return e.x_axes.map(({min:r,max:i,...s},o)=>{let u=s.position;return u||(u=o>0?"bottom":"top"),{...s,type:"value",min:r||void 0,max:i||void 0,position:u,axisLabel:{show:!0,margin:2,formatter:t[o]??t.default},axisLine:{show:!0},axisTick:{show:!1},splitLine:{show:!0},nameTextStyle:{fontWeight:"bold"},nameLocation:"center",nameGap:15}})}function cm(e,t){const r=t.every(u=>!Number.isNaN(Number(u))),{overflow:i,...s}=e.y_axis.axisLabel,o=Ke(i.on_axis);return[{data:t,name:e.y_axis.name??"",nameLocation:"end",nameTextStyle:{align:"center",fontWeight:"bold"},id:"main-y-axis",axisTick:{show:!0,alignWithLabel:!0},type:r?"value":"category",axisLabel:{...s,...o,formatter:ut(s.formatter)},z:5}]}function pm(e,t,r){const i=um(t,r),s=lm(e),o=v.uniq(t.map(c=>c[e.y_axis.data_key])),u=o.every(c=>!Number.isNaN(Number(c))),l=am(e,o,u,t,s,r,i);return{xAxis:dm(e,s),yAxis:cm(e,o),series:l,tooltip:om(e,l,s),grid:Zg(e),legend:Jg(l)}}const Jn={x_axes:[{id:"initial-x",min:"",max:"",name:"X Axis",data_key:"",position:"bottom",label_formatter:Ie,show:!0}],y_axis:{name:"Y Axis",data_key:"",axisLabel:{formatter:{...Be},overflow:je},nameAlignment:"center"},series:[],tooltip:{metrics:[]},reference_lines:[]};function hm(){const e=new Date().getTime().toString();return{id:e,min:"",max:"",name:e,data_key:"",position:"bottom",label_formatter:Ie,show:!0}}function fm(){const e=new Date().getTime().toString();return{id:e,type:"bar",name:e,stack:"",color:"",barGap:"0%",data_key:"",barWidth:"",barMinWidth:"1",barMaxWidth:"10",group_by_key:"",hide_in_legend:!1,invisible:!1,label_position:"right",aggregation_on_value:_t,xAxisIndex:"0"}}function gm(){const e=new Date().getTime().toString();return{id:e,name:e,template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:"#868E96"},show_in_legend:!1,xAxisIndex:"0"}}le.use([B.DataZoomComponent,de.BarChart,de.LineChart,de.ScatterChart,B.GridComponent,B.LegendComponent,B.TooltipComponent,ke.CanvasRenderer,B.MarkLineComponent,B.MarkAreaComponent]);function mm({conf:e,data:t,width:r,height:i,interactionManager:s,variables:o}){const u=b.useMemo(()=>v.keyBy(t,e.y_axis.data_key),[t,e.y_axis.data_key]),l=Pe(s.triggerManager,Dn.id),d=b.useCallback(g=>{const h=v.get(u,g.name,{error:"rowData is not found"});l.forEach(m=>{s.runInteraction(m.id,{...g,rowData:h})})},[u,l,s]),c=b.useMemo(()=>({click:d}),[d]),f=b.useMemo(()=>pm(e,t,o),[e,t]);return!r||!i?null:n(De,{echarts:le,option:f,style:{width:r,height:i},onEvents:c,notMerge:!0,theme:"merico-light"})}function bm({context:e,instance:t}){const r=Ge({vizManager:e.vizManager,instance:t}),{value:i}=W(e.instanceData,"config"),{variables:s}=e,o=b.useMemo(()=>v.defaults({},i,Jn),[i]),u=e.data,{width:l,height:d}=e.viewport;return n(a.Box,{children:n(mm,{variables:s,width:l,height:d,data:u,conf:o,interactionManager:r})})}const ym=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],vm=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function xm({control:e,index:t,remove:r,watch:i,variableOptions:s,xAxisOptions:o}){const u=i(`reference_lines.${t}.orientation`);return p(a.Stack,{my:0,p:0,sx:{position:"relative"},children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>n(a.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),n(x.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>n(a.Select,{label:"Value",required:!0,data:s,sx:{flex:1},...l})})]}),n(x.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>n(a.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),p(a.Group,{grow:!0,children:[p(a.Stack,{children:[n(x.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>n(a.Select,{label:"Orientation",data:vm,required:!0,sx:{flex:1},...l})}),u==="vertical"&&n(a.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),u==="horizontal"&&n(x.Controller,{name:`reference_lines.${t}.xAxisIndex`,control:e,render:({field:l})=>n(a.Select,{label:"X Axis",data:o,disabled:o.length===0,sx:{flex:1},...l})})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),p(a.Group,{grow:!0,children:[n(x.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>n(a.Select,{label:"Line Type",data:ym,sx:{flexGrow:1},...l})}),n(x.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>n(a.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),p(a.Stack,{spacing:4,children:[n(a.Text,{size:"sm",children:"Color"}),n(x.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>n(Se,{...l})})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),n(x.Controller,{name:`reference_lines.${t}.show_in_legend`,control:e,render:({field:l})=>n(a.Checkbox,{label:"Show in legend",checked:l.value,onChange:d=>l.onChange(d.currentTarget.checked)})}),n(a.Button,{leftIcon:n(k.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function Cm({control:e,watch:t,variables:r}){const{fields:i,append:s,remove:o}=x.useFieldArray({control:e,name:"reference_lines"}),u=t("reference_lines"),l=i.map((m,w)=>({...m,...u[w]})),d=()=>{const m=gm();s(m)},c=b.useMemo(()=>r.map(m=>({label:m.name,value:m.name})),[r]),f=t("x_axes"),g=b.useMemo(()=>f.map(({name:m},w)=>({label:m,value:w.toString()})),[f]),h=l.length>0?l[0].id:"0";return p(a.Tabs,{defaultValue:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[p(a.Tabs.List,{children:[l.map((m,w)=>n(a.Tabs.Tab,{value:m.id,children:m.name},w)),n(a.Tabs.Tab,{onClick:d,value:"add",children:n(k.Plus,{size:18,color:"#228be6"})})]}),l.map((m,w)=>n(a.Tabs.Panel,{value:m.id,children:n(xm,{control:e,index:w,remove:o,watch:t,variableOptions:c,xAxisOptions:g})},w))]})}function wm(e){const[t,r]=b.useState(e);return b.useEffect(()=>{r(e)},[e]),{tab:t,setTab:r}}const _m=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function Sm({control:e,index:t,seriesItem:r}){const i=!!r.barWidth.trim();return p(P,{children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.stack`,control:e,render:({field:s})=>n(a.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...s})}),n(x.Controller,{name:`series.${t}.barGap`,control:e,render:({field:s})=>n(a.Select,{label:"Bar Gap",data:_m,sx:{flexGrow:1},...s})})]}),p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.barMinWidth`,control:e,render:({field:s})=>n(a.TextInput,{label:"Bar Width(Min)",disabled:i,sx:{flexGrow:1},...s})}),n(x.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:s})=>n(a.TextInput,{label:"Bar Width",sx:{flexGrow:1},...s})}),n(x.Controller,{name:`series.${t}.barMaxWidth`,control:e,render:({field:s})=>n(a.TextInput,{label:"Bar Width(Max)",disabled:i,sx:{flexGrow:1},...s})})]})]})}const Tm=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function km({control:e,index:t,remove:r,seriesItem:i,xAxisOptions:s,data:o}){return p(a.Stack,{my:0,p:0,sx:{position:"relative"},children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.name`,control:e,render:({field:u})=>n(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),n(x.Controller,{name:`series.${t}.xAxisIndex`,control:e,render:({field:u})=>n(a.Select,{label:"X Axis",data:s,disabled:s.length===0,sx:{flex:1},...u})})]}),p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.data_key`,control:e,render:({field:u})=>n(Y,{label:"Value Field",required:!0,data:o,sx:{flex:1},...u})}),n(x.Controller,{name:`series.${t}.aggregation_on_value`,control:e,render:({field:u})=>n(Ft,{label:"Aggregation on Value",value:u.value??_t,onChange:u.onChange,pt:0})})]}),n(a.Group,{grow:!0,children:n(x.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:u})=>n(Y,{label:"Split into multiple series by this key...",data:o,clearable:!0,sx:{flex:1},...u})})}),n(Sm,{index:t,control:e,seriesItem:i}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),n(x.Controller,{name:`series.${t}.label_position`,control:e,render:({field:u})=>n(a.Select,{label:"Label Position",data:Tm,...u})}),p(a.Stack,{spacing:4,children:[n(a.Text,{size:"sm",children:"Color"}),n(x.Controller,{name:`series.${t}.color`,control:e,render:({field:u})=>n(Se,{...u})})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),n(x.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:u})=>n(a.Checkbox,{label:"Hide in legend",checked:u.value,onChange:l=>u.onChange(l.currentTarget.checked)})}),n(x.Controller,{name:`series.${t}.invisible`,control:e,render:({field:u})=>n(a.Checkbox,{label:"Invisible",checked:u.value,onChange:l=>u.onChange(l.currentTarget.checked)})}),n(a.Divider,{mb:-10,mt:10,variant:"dashed"}),n(a.Button,{leftIcon:n(k.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function Dm({control:e,watch:t,data:r}){var m;const{fields:i,append:s,remove:o}=x.useFieldArray({control:e,name:"series"}),u=t("series"),l=i.map((w,C)=>({...w,...u[C]})),d=()=>{const w=fm();s(w)},c=t("x_axes"),f=b.useMemo(()=>c.map(({name:w},C)=>({label:w,value:C.toString()})),[c]),{tab:g,setTab:h}=wm((m=l[0])==null?void 0:m.id);return p(a.Tabs,{value:g,onTabChange:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px",paddingTop:"6px"}},children:[p(a.Tabs.List,{children:[l.map(w=>n(a.Tabs.Tab,{value:w.id,children:w.name},w.id)),n(a.Tabs.Tab,{onClick:d,value:"add",children:n(k.Plus,{size:18,color:"#228be6"})})]}),l.map((w,C)=>n(a.Tabs.Panel,{value:w.id,children:n(km,{control:e,index:C,remove:o,seriesItem:w,xAxisOptions:f,data:r},w.id)},w.id))]})}const Im=[{label:"Top",value:"top"},{label:"Bottom",value:"bottom"}];function Mm({control:e,index:t,remove:r}){return p(a.Stack,{my:0,p:"0",sx:{position:"relative"},children:[n(a.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),n(a.Group,{grow:!0,noWrap:!0,children:n(x.Controller,{name:`x_axes.${t}.name`,control:e,render:({field:i})=>n(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})})}),n(a.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),n(a.Group,{grow:!0,noWrap:!0,children:n(x.Controller,{name:`x_axes.${t}.position`,control:e,render:({field:i})=>n(a.Select,{label:"Position",required:!0,data:Im,sx:{flex:1},...i})})}),p(a.Stack,{children:[n(a.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),n(x.Controller,{name:`x_axes.${t}.label_formatter`,control:e,render:({field:i})=>n(Ve,{...i})})]}),p(a.Stack,{children:[n(a.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),p(a.Group,{grow:!0,children:[n(x.Controller,{name:`x_axes.${t}.min`,control:e,render:({field:i})=>n(a.TextInput,{label:"Min",...i})}),n(x.Controller,{name:`x_axes.${t}.max`,control:e,render:({field:i})=>n(a.TextInput,{label:"Max",...i})})]})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),n(x.Controller,{name:`x_axes.${t}.show`,control:e,render:({field:i})=>n(a.Checkbox,{label:"Visible",checked:i.value,onChange:s=>i.onChange(s.currentTarget.checked)})}),n(a.Button,{mt:20,leftIcon:n(k.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),disabled:t===0,children:"Delete this X Axis"})]})}function Am({control:e,watch:t}){const{fields:r,append:i,remove:s}=x.useFieldArray({control:e,name:"x_axes"}),o=t("x_axes"),u=r.map((c,f)=>({...c,...o[f]})),l=()=>{const c=hm();i(c)},d=u.length>0?u[0].id:"0";return p(a.Tabs,{defaultValue:d,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[p(a.Tabs.List,{children:[u.map(c=>n(a.Tabs.Tab,{value:c.id,children:c.name},c.id)),n(a.Tabs.Tab,{onClick:l,value:"add",children:n(k.Plus,{size:18,color:"#228be6"})})]}),u.map((c,f)=>n(a.Tabs.Panel,{value:c.id,children:n(Mm,{control:e,index:f,remove:s})},c.id))]})}function $m({data:e,control:t,watch:r}){return r(["y_axis"]),p(a.Stack,{children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:"y_axis.data_key",control:t,render:({field:i})=>n(Y,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...i})}),n(x.Controller,{name:"y_axis.name",control:t,render:({field:i})=>n(a.TextInput,{label:"X Axis Name",sx:{flex:1},...i})})]}),n(a.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),n(a.Group,{grow:!0,noWrap:!0,children:n(x.Controller,{name:"y_axis.axisLabel.formatter",control:t,render:({field:i})=>n(Yt,{data:e,...i})})}),n(x.Controller,{name:"y_axis.axisLabel.overflow",control:t,render:({field:i})=>n(nt,{...i})})]})}function zm({context:e}){const{value:t,set:r}=W(e.instanceData,"config"),{variables:i}=e,s=e.data,o=b.useMemo(()=>v.defaultsDeep({},t,Jn),[t]),{control:u,handleSubmit:l,watch:d,getValues:c,reset:f}=x.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]),d([]);const g=c(),h=b.useMemo(()=>!v.isEqual(g,o),[g,o]);return n(a.Stack,{spacing:"xs",children:p("form",{onSubmit:l(r),children:[p(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[n(a.Text,{children:"Horizontal Bar Chart Config"}),n(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:n(k.DeviceFloppy,{size:20})})]}),p(a.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[p(a.Tabs.List,{children:[n(a.Tabs.Tab,{value:"X Axes",children:"X Axes"}),n(a.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),n(a.Tabs.Tab,{value:"Series",children:"Series"}),n(a.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),n(a.Tabs.Panel,{value:"X Axes",children:n(Am,{control:u,watch:d})}),n(a.Tabs.Panel,{value:"Y Axis",children:n($m,{control:u,watch:d,data:s})}),n(a.Tabs.Panel,{value:"Series",children:n(Dm,{control:u,watch:d,data:s})}),n(a.Tabs.Panel,{value:"Reference Lines",children:n(Cm,{variables:i,control:u,watch:d})})]})]})})}class Em extends he{constructor(){super(...arguments);O(this,"VERSION",1)}configVersions(){this.version(1,r=>({version:1,config:r}))}}const Lm={displayName:"Horizontal Bar Chart",displayGroup:"ECharts-based charts",migrator:new Em,name:"horizontalBarChart",viewRender:bm,configRender:zm,createConfig:()=>({version:1,config:Jn})};function Om(){return[{top:20,left:30,right:60,height:40,containLabel:!0,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0},{top:70,left:30,right:60,height:100,containLabel:!0,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0},{top:180,left:30,right:60,bottom:110,containLabel:!0,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0},{left:30,right:60,bottom:0,height:100,containLabel:!1,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0}]}const Ma=({value:e})=>{try{return se(e[2]).format({output:"percent",mantissa:0})}catch(t){return console.error(t),e}};function Pm(e,t,r){return{type:"heatmap",name:"准确估算比例",xAxisIndex:0,yAxisIndex:0,data:t.map(s=>{const o=r[s].length,d=(v.countBy(r[s],c=>c.level.diff===0).true??0)/o;return[s,"_y",d]}),label:{show:!0,formatter:Ma},labelLayout:{hideOverlap:!0},visualMapIndex:0,tooltip:{trigger:"item",formatter:({color:s,value:o})=>`
|
|
267
|
+
`}}}function lm(e){return e.x_axes.reduce((r,{label_formatter:i},s)=>(r[s]=function(u){let l=u;if(typeof u=="object"&&(Array.isArray(u.value)&&u.value.length===2?l=u.value[0]:l=u.value),!i)return l;try{return se(l).format(i)}catch(d){return console.error(d),l}},r),{default:({value:r})=>r})}function um(e,t){const r={};return t.map(i=>{const s=lt(i,e);r[i.name]=Je(i,s)}),r}function dm(e,t){return e.x_axes.map(({min:r,max:i,...s},o)=>{let u=s.position;return u||(u=o>0?"bottom":"top"),{...s,type:"value",min:r||void 0,max:i||void 0,position:u,axisLabel:{show:!0,margin:2,formatter:t[o]??t.default},axisLine:{show:!0},axisTick:{show:!1},splitLine:{show:!0},nameTextStyle:{fontWeight:"bold"},nameLocation:"center",nameGap:15}})}function cm(e,t){const r=t.every(u=>!Number.isNaN(Number(u))),{overflow:i,...s}=e.y_axis.axisLabel,o=Ke(i.on_axis);return[{data:t,name:e.y_axis.name??"",nameLocation:"end",nameTextStyle:{align:"center",fontWeight:"bold"},id:"main-y-axis",axisTick:{show:!0,alignWithLabel:!0},type:r?"value":"category",axisLabel:{...s,...o,formatter:ut(s.formatter)},z:5}]}function pm(e,t,r){const i=um(t,r),s=lm(e),o=v.uniq(t.map(c=>c[e.y_axis.data_key])),u=o.every(c=>!Number.isNaN(Number(c))),l=am(e,o,u,t,s,r,i);return{xAxis:dm(e,s),yAxis:cm(e,o),series:l,tooltip:om(e,l,s),grid:Zg(e),legend:Jg(l)}}const Jn={x_axes:[{id:"initial-x",min:"",max:"",name:"X Axis",data_key:"",position:"bottom",label_formatter:Ie,show:!0}],y_axis:{name:"Y Axis",data_key:"",axisLabel:{formatter:{...Be},overflow:je},nameAlignment:"center"},series:[],tooltip:{metrics:[]},reference_lines:[]};function hm(){const e=new Date().getTime().toString();return{id:e,min:"",max:"",name:e,data_key:"",position:"bottom",label_formatter:Ie,show:!0}}function fm(){const e=new Date().getTime().toString();return{id:e,type:"bar",name:e,stack:"",color:"",barGap:"0%",data_key:"",barWidth:"",barMinWidth:"1",barMaxWidth:"10",group_by_key:"",hide_in_legend:!1,invisible:!1,label_position:"right",aggregation_on_value:_t,xAxisIndex:"0"}}function gm(){const e=new Date().getTime().toString();return{id:e,name:e,template:"",variable_key:"",orientation:"horizontal",lineStyle:{type:"dashed",width:1,color:"#868E96"},show_in_legend:!1,xAxisIndex:"0"}}le.use([B.DataZoomComponent,de.BarChart,de.LineChart,de.ScatterChart,B.GridComponent,B.LegendComponent,B.TooltipComponent,ke.CanvasRenderer,B.MarkLineComponent,B.MarkAreaComponent]);function mm({conf:e,data:t,width:r,height:i,interactionManager:s,variables:o}){const u=b.useMemo(()=>v.keyBy(t,e.y_axis.data_key),[t,e.y_axis.data_key]),l=Pe(s.triggerManager,Dn.id),d=b.useCallback(g=>{const h=v.get(u,g.name,{error:"rowData is not found"});l.forEach(m=>{s.runInteraction(m.id,{...g,rowData:h})})},[u,l,s]),c=b.useMemo(()=>({click:d}),[d]),f=b.useMemo(()=>pm(e,t,o),[e,t]);return!r||!i?null:n(De,{echarts:le,option:f,style:{width:r,height:i},onEvents:c,notMerge:!0,theme:"merico-light"})}function bm({context:e,instance:t}){const r=Ge({vizManager:e.vizManager,instance:t}),{value:i}=W(e.instanceData,"config"),{variables:s}=e,o=b.useMemo(()=>v.defaults({},i,Jn),[i]),u=e.data,{width:l,height:d}=e.viewport;return n(a.Box,{children:n(mm,{variables:s,width:l,height:d,data:u,conf:o,interactionManager:r})})}const ym=[{label:"solid",value:"solid"},{label:"dashed",value:"dashed"},{label:"dotted",value:"dotted"}],vm=[{label:"Horizontal",value:"horizontal"},{label:"Vertical",value:"vertical"}];function xm({control:e,index:t,remove:r,watch:i,variableOptions:s,xAxisOptions:o}){const u=i(`reference_lines.${t}.orientation`);return p(a.Stack,{my:0,p:0,sx:{position:"relative"},children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`reference_lines.${t}.name`,control:e,render:({field:l})=>n(a.TextInput,{label:"Name",placeholder:"Average Reference Line",required:!0,sx:{flex:1},...l})}),n(x.Controller,{name:`reference_lines.${t}.variable_key`,control:e,render:({field:l})=>n(a.Select,{label:"Value",required:!0,data:s,sx:{flex:1},...l})})]}),n(x.Controller,{name:`reference_lines.${t}.template`,control:e,render:({field:l})=>n(a.TextInput,{label:"Content Template",placeholder:"Average: ${avg}",sx:{flex:1},...l})}),p(a.Group,{grow:!0,children:[p(a.Stack,{children:[n(x.Controller,{name:`reference_lines.${t}.orientation`,control:e,render:({field:l})=>n(a.Select,{label:"Orientation",data:vm,required:!0,sx:{flex:1},...l})}),u==="vertical"&&n(a.Text,{mt:-10,color:"dimmed",size:12,children:"Works only when xAxis values are numbers"})]}),u==="horizontal"&&n(x.Controller,{name:`reference_lines.${t}.xAxisIndex`,control:e,render:({field:l})=>n(a.Select,{label:"X Axis",data:o,disabled:o.length===0,sx:{flex:1},...l})})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),p(a.Group,{grow:!0,children:[n(x.Controller,{name:`reference_lines.${t}.lineStyle.type`,control:e,render:({field:l})=>n(a.Select,{label:"Line Type",data:ym,sx:{flexGrow:1},...l})}),n(x.Controller,{name:`reference_lines.${t}.lineStyle.width`,control:e,render:({field:l})=>n(a.NumberInput,{label:"Line Width",min:1,max:10,sx:{flexGrow:1},...l})})]}),p(a.Stack,{spacing:4,children:[n(a.Text,{size:"sm",children:"Color"}),n(x.Controller,{name:`reference_lines.${t}.lineStyle.color`,control:e,render:({field:l})=>n(Se,{...l})})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),n(x.Controller,{name:`reference_lines.${t}.show_in_legend`,control:e,render:({field:l})=>n(a.Checkbox,{label:"Show in legend",checked:l.value,onChange:d=>l.onChange(d.currentTarget.checked)})}),n(a.Button,{leftIcon:n(k.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),sx:{top:15,right:5},children:"Delete this Reference Line"})]},t)}function Cm({control:e,watch:t,variables:r}){const{fields:i,append:s,remove:o}=x.useFieldArray({control:e,name:"reference_lines"}),u=t("reference_lines"),l=i.map((m,w)=>({...m,...u[w]})),d=()=>{const m=gm();s(m)},c=b.useMemo(()=>r.map(m=>({label:m.name,value:m.name})),[r]),f=t("x_axes"),g=b.useMemo(()=>f.map(({name:m},w)=>({label:m,value:w.toString()})),[f]),h=l.length>0?l[0].id:"0";return p(a.Tabs,{defaultValue:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[p(a.Tabs.List,{children:[l.map((m,w)=>n(a.Tabs.Tab,{value:m.id,children:m.name},w)),n(a.Tabs.Tab,{onClick:d,value:"add",children:n(k.Plus,{size:18,color:"#228be6"})})]}),l.map((m,w)=>n(a.Tabs.Panel,{value:m.id,children:n(xm,{control:e,index:w,remove:o,watch:t,variableOptions:c,xAxisOptions:g})},w))]})}function wm(e){const[t,r]=b.useState(e);return b.useEffect(()=>{r(e)},[e]),{tab:t,setTab:r}}const _m=[{label:"No gap between bars",value:"0%"},{label:"Bars overlapping on each other",value:"-100%"}];function Sm({control:e,index:t,seriesItem:r}){const i=!!r.barWidth.trim();return p(P,{children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.stack`,control:e,render:({field:s})=>n(a.TextInput,{label:"Stack",placeholder:"Stack bars by this ID",sx:{flexGrow:1},...s})}),n(x.Controller,{name:`series.${t}.barGap`,control:e,render:({field:s})=>n(a.Select,{label:"Bar Gap",data:_m,sx:{flexGrow:1},...s})})]}),p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.barMinWidth`,control:e,render:({field:s})=>n(a.TextInput,{label:"Bar Width(Min)",disabled:i,sx:{flexGrow:1},...s})}),n(x.Controller,{name:`series.${t}.barWidth`,control:e,render:({field:s})=>n(a.TextInput,{label:"Bar Width",sx:{flexGrow:1},...s})}),n(x.Controller,{name:`series.${t}.barMaxWidth`,control:e,render:({field:s})=>n(a.TextInput,{label:"Bar Width(Max)",disabled:i,sx:{flexGrow:1},...s})})]})]})}const Tm=[{label:"off",value:""},{label:"top",value:"top"},{label:"left",value:"left"},{label:"right",value:"right"},{label:"bottom",value:"bottom"},{label:"inside",value:"inside"},{label:"insideLeft",value:"insideLeft"},{label:"insideRight",value:"insideRight"},{label:"insideTop",value:"insideTop"},{label:"insideBottom",value:"insideBottom"},{label:"insideTopLeft",value:"insideTopLeft"},{label:"insideBottomLeft",value:"insideBottomLeft"},{label:"insideTopRight",value:"insideTopRight"},{label:"insideBottomRight",value:"insideBottomRight"}];function km({control:e,index:t,remove:r,seriesItem:i,xAxisOptions:s,data:o}){return p(a.Stack,{my:0,p:0,sx:{position:"relative"},children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.name`,control:e,render:({field:u})=>n(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...u})}),n(x.Controller,{name:`series.${t}.xAxisIndex`,control:e,render:({field:u})=>n(a.Select,{label:"X Axis",data:s,disabled:s.length===0,sx:{flex:1},...u})})]}),p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:`series.${t}.data_key`,control:e,render:({field:u})=>n(Y,{label:"Value Field",required:!0,data:o,sx:{flex:1},...u})}),n(x.Controller,{name:`series.${t}.aggregation_on_value`,control:e,render:({field:u})=>n(Ft,{label:"Aggregation on Value",value:u.value??_t,onChange:u.onChange,pt:0})})]}),n(a.Group,{grow:!0,children:n(x.Controller,{name:`series.${t}.group_by_key`,control:e,render:({field:u})=>n(Y,{label:"Split into multiple series by this key...",data:o,clearable:!0,sx:{flex:1},...u})})}),n(Sm,{index:t,control:e,seriesItem:i}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Style",labelPosition:"center"}),n(x.Controller,{name:`series.${t}.label_position`,control:e,render:({field:u})=>n(a.Select,{label:"Label Position",data:Tm,...u})}),p(a.Stack,{spacing:4,children:[n(a.Text,{size:"sm",children:"Color"}),n(x.Controller,{name:`series.${t}.color`,control:e,render:({field:u})=>n(Se,{...u})})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),n(x.Controller,{name:`series.${t}.hide_in_legend`,control:e,render:({field:u})=>n(a.Checkbox,{label:"Hide in legend",checked:u.value,onChange:l=>u.onChange(l.currentTarget.checked)})}),n(x.Controller,{name:`series.${t}.invisible`,control:e,render:({field:u})=>n(a.Checkbox,{label:"Invisible",checked:u.value,onChange:l=>u.onChange(l.currentTarget.checked)})}),n(a.Divider,{mb:-10,mt:10,variant:"dashed"}),n(a.Button,{leftIcon:n(k.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),sx:{top:15,right:5},children:"Delete this Series"})]},t)}function Dm({control:e,watch:t,data:r}){var m;const{fields:i,append:s,remove:o}=x.useFieldArray({control:e,name:"series"}),u=t("series"),l=i.map((w,C)=>({...w,...u[C]})),d=()=>{const w=fm();s(w)},c=t("x_axes"),f=b.useMemo(()=>c.map(({name:w},C)=>({label:w,value:C.toString()})),[c]),{tab:g,setTab:h}=wm((m=l[0])==null?void 0:m.id);return p(a.Tabs,{value:g,onTabChange:h,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px",paddingTop:"6px"}},children:[p(a.Tabs.List,{children:[l.map(w=>n(a.Tabs.Tab,{value:w.id,children:w.name},w.id)),n(a.Tabs.Tab,{onClick:d,value:"add",children:n(k.Plus,{size:18,color:"#228be6"})})]}),l.map((w,C)=>n(a.Tabs.Panel,{value:w.id,children:n(km,{control:e,index:C,remove:o,seriesItem:w,xAxisOptions:f,data:r},w.id)},w.id))]})}const Im=[{label:"Top",value:"top"},{label:"Bottom",value:"bottom"}];function Mm({control:e,index:t,remove:r}){return p(a.Stack,{my:0,p:"0",sx:{position:"relative"},children:[n(a.Divider,{mb:-15,mt:15,variant:"dashed",label:"Name",labelPosition:"center"}),n(a.Group,{grow:!0,noWrap:!0,children:n(x.Controller,{name:`x_axes.${t}.name`,control:e,render:({field:i})=>n(a.TextInput,{label:"Name",required:!0,sx:{flex:1},...i})})}),n(a.Divider,{mb:-15,variant:"dashed",label:"Layout",labelPosition:"center"}),n(a.Group,{grow:!0,noWrap:!0,children:n(x.Controller,{name:`x_axes.${t}.position`,control:e,render:({field:i})=>n(a.Select,{label:"Position",required:!0,data:Im,sx:{flex:1},...i})})}),p(a.Stack,{children:[n(a.Divider,{mb:-15,variant:"dashed",label:"Label Format",labelPosition:"center"}),n(x.Controller,{name:`x_axes.${t}.label_formatter`,control:e,render:({field:i})=>n(Ve,{...i})})]}),p(a.Stack,{children:[n(a.Divider,{mb:-15,variant:"dashed",label:"Value Range",labelPosition:"center"}),p(a.Group,{grow:!0,children:[n(x.Controller,{name:`x_axes.${t}.min`,control:e,render:({field:i})=>n(a.TextInput,{label:"Min",...i})}),n(x.Controller,{name:`x_axes.${t}.max`,control:e,render:({field:i})=>n(a.TextInput,{label:"Max",...i})})]})]}),n(a.Divider,{mb:-10,mt:10,variant:"dashed",label:"Behavior",labelPosition:"center"}),n(x.Controller,{name:`x_axes.${t}.show`,control:e,render:({field:i})=>n(a.Checkbox,{label:"Visible",checked:i.value,onChange:s=>i.onChange(s.currentTarget.checked)})}),n(a.Button,{mt:20,leftIcon:n(k.Trash,{size:16}),color:"red",variant:"light",onClick:()=>r(t),disabled:t===0,children:"Delete this X Axis"})]})}function Am({control:e,watch:t}){const{fields:r,append:i,remove:s}=x.useFieldArray({control:e,name:"x_axes"}),o=t("x_axes"),u=r.map((c,f)=>({...c,...o[f]})),l=()=>{const c=hm();i(c)},d=u.length>0?u[0].id:"0";return p(a.Tabs,{defaultValue:d,styles:{tab:{paddingTop:"4px",paddingBottom:"4px"},panel:{padding:"0px"}},children:[p(a.Tabs.List,{children:[u.map(c=>n(a.Tabs.Tab,{value:c.id,children:c.name},c.id)),n(a.Tabs.Tab,{onClick:l,value:"add",children:n(k.Plus,{size:18,color:"#228be6"})})]}),u.map((c,f)=>n(a.Tabs.Panel,{value:c.id,children:n(Mm,{control:e,index:f,remove:s})},c.id))]})}function $m({data:e,control:t,watch:r}){return r(["y_axis"]),p(a.Stack,{children:[p(a.Group,{grow:!0,noWrap:!0,children:[n(x.Controller,{name:"y_axis.data_key",control:t,render:({field:i})=>n(Y,{label:"Y Axis Data Field",required:!0,data:e,sx:{flex:1},...i})}),n(x.Controller,{name:"y_axis.name",control:t,render:({field:i})=>n(a.TextInput,{label:"X Axis Name",sx:{flex:1},...i})})]}),n(a.Divider,{mb:-15,label:"Tick Label",labelPosition:"center"}),n(a.Group,{grow:!0,noWrap:!0,children:n(x.Controller,{name:"y_axis.axisLabel.formatter",control:t,render:({field:i})=>n(Yt,{data:e,...i})})}),n(x.Controller,{name:"y_axis.axisLabel.overflow",control:t,render:({field:i})=>n(nt,{...i})})]})}function zm({context:e}){const{value:t,set:r}=W(e.instanceData,"config"),{variables:i}=e,s=e.data,o=b.useMemo(()=>v.defaultsDeep({},t,Jn),[t]),{control:u,handleSubmit:l,watch:d,getValues:c,reset:f}=x.useForm({defaultValues:o});b.useEffect(()=>{f(o)},[o]),d([]);const g=c(),h=b.useMemo(()=>!v.isEqual(g,o),[g,o]);return n(a.Stack,{spacing:"xs",children:p("form",{onSubmit:l(r),children:[p(a.Group,{position:"left",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[n(a.Text,{children:"Horizontal Bar Chart Config"}),n(a.ActionIcon,{type:"submit",mr:5,variant:"filled",color:"blue",disabled:!h,children:n(k.DeviceFloppy,{size:20})})]}),p(a.Tabs,{defaultValue:"Series",orientation:"vertical",styles:{tab:{paddingLeft:"6px",paddingRight:"6px"},panel:{paddingTop:"6px",paddingLeft:"12px"}},children:[p(a.Tabs.List,{children:[n(a.Tabs.Tab,{value:"X Axes",children:"X Axes"}),n(a.Tabs.Tab,{value:"Y Axis",children:"Y Axis"}),n(a.Tabs.Tab,{value:"Series",children:"Series"}),n(a.Tabs.Tab,{value:"Reference Lines",children:"Reference Lines"})]}),n(a.Tabs.Panel,{value:"X Axes",children:n(Am,{control:u,watch:d})}),n(a.Tabs.Panel,{value:"Y Axis",children:n($m,{control:u,watch:d,data:s})}),n(a.Tabs.Panel,{value:"Series",children:n(Dm,{control:u,watch:d,data:s})}),n(a.Tabs.Panel,{value:"Reference Lines",children:n(Cm,{variables:i,control:u,watch:d})})]})]})})}class Em extends he{constructor(){super(...arguments);O(this,"VERSION",1)}configVersions(){this.version(1,r=>({version:1,config:r}))}}const Lm={displayName:"Horizontal Bar Chart",displayGroup:"ECharts-based charts",migrator:new Em,name:"horizontalBarChart",viewRender:bm,configRender:zm,createConfig:()=>({version:1,config:Jn})};function Om(){return[{top:20,left:30,right:60,height:40,containLabel:!0,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0},{top:70,left:30,right:60,height:100,containLabel:!0,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0},{top:180,left:30,right:60,bottom:130,containLabel:!0,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0},{left:30,right:60,bottom:20,height:100,containLabel:!1,backgroundColor:"rgba(235, 235, 255, 0.5)",borderWidth:0,show:!0}]}const Ma=({value:e})=>{try{return se(e[2]).format({output:"percent",mantissa:0})}catch(t){return console.error(t),e}};function Pm(e,t,r){return{type:"heatmap",name:"准确估算比例",xAxisIndex:0,yAxisIndex:0,data:t.map(s=>{const o=r[s].length,d=(v.countBy(r[s],c=>c.level.diff===0).true??0)/o;return[s,"_y",d]}),label:{show:!0,formatter:Ma},labelLayout:{hideOverlap:!0},visualMapIndex:0,tooltip:{trigger:"item",formatter:({color:s,value:o})=>`
|
|
268
268
|
<table style="width: auto">
|
|
269
269
|
<thead>
|
|
270
270
|
<tr colspan="2">
|