@devtable/dashboard 14.3.2 → 14.3.3
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 +1 -1
- package/dist/dashboard.umd.js +1 -1
- package/dist/version.json +2 -2
- package/package.json +1 -1
package/dist/dashboard.es.js
CHANGED
|
@@ -6545,7 +6545,7 @@ class Sl {
|
|
|
6545
6545
|
}), this.instanceRegistry.clear(), this.factoryRegistry.clear();
|
|
6546
6546
|
}
|
|
6547
6547
|
}
|
|
6548
|
-
const pm = "14.3.
|
|
6548
|
+
const pm = "14.3.3", k0 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
6549
6549
|
__proto__: null,
|
|
6550
6550
|
version: pm
|
|
6551
6551
|
}, Symbol.toStringTag, { value: "Module" }));
|
package/dist/dashboard.umd.js
CHANGED
|
@@ -89,7 +89,7 @@ React keys must be passed directly to JSX without using spread:
|
|
|
89
89
|
${Object.entries(t).map(([s,i])=>`const ${s} = '${i}';`).join(`
|
|
90
90
|
`)}
|
|
91
91
|
return ${e};
|
|
92
|
-
`)(r)}catch(s){return console.error(s),console.log(e),e}}function fs(e,t,r,s){const i=dy(t,s);return e.replaceAll(/(\{\{([^{\}]+(?=}))\}\})/g,(...l)=>{const c=l[2];if(!c)return c;const u=i[c];if(u)return u;const d=py(c);return hy(d,i,r)})}function gy(e,t){const r=Sl.decode(t);r!==e&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:e,after:t,v:r}),console.groupEnd())}async function fy({query:e,name:t,payload:r,additionals:s},i){if(!e.sql)return[];const{type:o,key:l,sql:c,pre_process:u,post_process:d}=e,p=Xs(c,r),h=tx({sql:p,pre_process:u}),x=Sl.encode(h);gy(h,x);let b=await gt.query(i)({type:o,key:l,query:x,...s},{params:{name:t}});return b=nx(d,b,ba(r)),b}async function xy({type:e,key:t,configString:r,name:s,additionals:i},o){try{return await gt.httpDataSourceQuery(o)({type:e,key:t,query:r,...i},{params:{name:s}})}catch(l){if(pt.isCancel(l))throw l;return console.error(l),l}}async function my({key:e,configString:t,name:r,additionals:s},i){try{return await gt.mericoMetricQuery(i)({type:"merico_metric_system",key:e,query:t,...s},{params:{name:r}})}catch(o){throw o}}async function ya(){try{return(await gt.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(e){return console.error(e),[]}}async function vd(){try{return(await gt.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(e){return console.error(e),[]}}class _d{constructor(t){N(this,"rootRef");this.rootRef=te.observable({current:t})}async deleteItem(t){te.runInAction(()=>{v.unset(this.rootRef.current,[t])})}getItem(t){const r=this.getValueFromRoot(t);return Promise.resolve(r)}getValueFromRoot(t){return t===null?te.toJS(this.rootRef.current):v.get(this.rootRef.current,[t])}setItem(t,r){if(t===null)if(v.isObject(r))te.runInAction(()=>{this.rootRef.current=r});else throw new Error("Cannot set root value to non-object");else te.runInAction(()=>{v.set(this.rootRef.current,[t],r)});return Promise.resolve(this.getItem(t))}watchItem(t,r,s){return te.reaction(()=>this.getValueFromRoot(t),(i,o)=>{r(i,o)},{requiresObservable:!0,fireImmediately:v.get(s,"fireImmediately",!1)})}}class by{constructor(){N(this,"channels",new Map);N(this,"globalChannel",new Tl)}getChannel(t){const r=this.channels.get(t);if(r)return r;const s=new Tl;return this.channels.set(t,s),s}}class yy{constructor(t){N(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 s={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new by,instanceData:new _d(t.viz.conf)};return this.instances.set(t.id,s),s}}function jd(e,t,r,s){return{vizManager:r,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new _d({}),colorPalette:{getColor(){return()=>""}},data:t,variables:s}}const vy=e=>{const{panel:t,measure:r,vizManager:s,data:i,variables:o}=e,l=s.resolveComponent(t.viz.type),c=s.getOrCreateInstance(t),u={...jd(c,i,s,o),viewport:{width:r.w,height:r.h}},d=l.viewRender;return n.jsx(d,{context:u,instance:c,...v.omit(e,["panel","vizManager","data"])})},_y=e=>{const{vizManager:t,panel:r,data:s,variables:i}=e,o=t.resolveComponent(r.viz.type),l=t.getOrCreateInstance(r),c={...jd(l,s,t,i)},u=o.configRender;return n.jsx(u,{context:c,instance:l,...v.omit(e,["panel","vizManager","data"])})},wd=(e,t)=>{const r=Dt.bezier(e),s=Dt.bezier(t);return function(i){return i<50?r(i*2/100).hex():s((i-50)*2/100).hex()}},xs=e=>{const t=Dt.bezier(e);return function(r){return t(r/100).hex()}},jy={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:wd(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},wy={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:wd(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Cy={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:xs(["#fff7f1","darkred"]),name:"red",category:"sequential"},Sy={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:xs(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Ty={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:xs(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},ky={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:xs(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class Dy{constructor(t){N(this,"symbol");this.symbol=Symbol(t)}}function Jt(e){return new Dy(e)}class va{constructor(){N(this,"parent");N(this,"factoryRegistry",new Map);N(this,"instanceRegistry",new Map)}createScoped(){const t=new va;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 s=r(this);return this.instanceRegistry.set(t.symbol,s),s}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 Cd="14.3.2",zy=Object.freeze(Object.defineProperty({__proto__:null,version:Cd},Symbol.toStringTag,{value:"Module"}));class Iy{constructor(t){N(this,"staticColors",new Map);N(this,"interpolations",new Map);t.installedPlugins.forEach(r=>{r.manifest.color.forEach(s=>{this.register(s)})})}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 My{constructor(){N(this,"plugins",new Map);N(this,"vizComponents",new Map);N(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 Ey{constructor(){N(this,"migrations",[])}version(t,r){return this.migrations.push({version:t,handler:r}),this}run(t,r,s){var l;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 i=this.migrations.filter(c=>c.version>t.from&&c.version<=t.to),o=v.orderBy(i,"version","asc");if(((l=v.last(o))==null?void 0:l.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((c,u)=>u.handler(c,s),r)}}class ke extends Ey{constructor(){super(),this.configVersions()}version(t,r){return super.version(t,(s,i)=>({version:t,...r(s,i)}))}async migrate({configData:t,panelModel:r}){const s=await t.getItem(null),i=v.get(s,"version",0),o=this.run({from:i,to:this.VERSION},s,{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:s}]=U.useBoolean(!0),[i,o]=f.useState();f.useEffect(()=>(e.getItem(t).then(c=>{o(c),s()}),e.watchItem(t,c=>{o(c)})));const l=f.useCallback(async c=>{await e.setItem(t,c),o(c)},[e,t]);return{loading:r,value:i,set:l}},st={top:16,right:16,bottom:16,left:16},Et=e=>Math.max(0,e-st.left-st.right),Pt=e=>Math.max(0,e-st.top-st.bottom),zr=(e,t)=>({width:Et(e),height:Pt(t)}),at=({width:e,height:t,children:r})=>n.jsx(a.Box,{pt:st.top,pr:st.right,pb:st.bottom,pl:st.left,sx:{width:e,height:t,overflow:"hidden",position:"relative"},children:r}),_a={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"}};function Py({context:e}){const{value:t}=W(e.instanceData,"config"),r=e.data,{width:s,height:i}=e.viewport,{x_axis_data_key:o,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=v.defaults({},t,_a),h=f.useMemo(()=>qr(r,o),[r,o]),{x,y:b,z:m}=f.useMemo(()=>({x:O(o),y:O(l),z:O(c)}),[o,l,c]),{min:j,max:D}=f.useMemo(()=>{const z=v.minBy(h,M=>M[m.columnKey]),I=v.maxBy(h,M=>M[m.columnKey]);return{min:v.get(z,m.columnKey),max:v.get(I,m.columnKey)}},[h,m]),T={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:j,max:D,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:d,zAxis3D:p,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:h.map(z=>[z[x.columnKey],z[b.columnKey],z[m.columnKey]])}]};return t?n.jsx(at,{width:s,height:i,children:n.jsx(Qe,{echarts:Fe,option:T,style:zr(s,i),notMerge:!0,theme:"merico-light"})}):null}const R=k.observer(f.forwardRef(({label:e,required:t,description:r,value:s,onChange:i,queryID:o,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=Pe(),h=f.useMemo(()=>p.dataFieldOptionGroups(s,l,o),[s,l,o]);if(h.length===0){const x=p.explainDataKey(s);return n.jsxs(a.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[n.jsx(a.HoverCard.Target,{children:n.jsx(a.Box,{children:n.jsx(a.TextInput,{label:e,required:t,defaultValue:x.columnKey,readOnly:!0,disabled:!0})})}),n.jsx(a.HoverCard.Dropdown,{children:n.jsxs(a.Group,{justify:"flex-start",gap:0,children:[n.jsx(a.Text,{size:"xs",c:x.queryName?"black":"red",ff:"monospace",children:x.queryName??x.queryID}),n.jsx(a.Text,{size:"xs",c:"black",ff:"monospace",children:"."}),n.jsx(a.Text,{size:"xs",c:"red",ff:"monospace",children:x.columnKey})]})})]})}return n.jsx(a.Select,{ref:d,label:e,description:r,data:h,value:s,onChange:Se(i),required:t,sx:c,maxDropdownHeight:500,...u})}));function Ay({context:e}){const{value:t,set:r}=W(e.instanceData,"config"),s=v.defaults({},t,_a),{control:i,handleSubmit:o,reset:l}=y.useForm({defaultValues:s});return f.useEffect(()=>{l(s)},[t]),t?n.jsx(a.Stack,{gap:"xs",children:n.jsxs("form",{onSubmit:o(r),children:[n.jsx(a.Text,{size:"sm",children:"X Axis"}),n.jsxs(a.Group,{justify:"space-between",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n.jsx(y.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>n.jsx(R,{label:"Data Field",required:!0,...c})}),n.jsx(y.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>n.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),n.jsx(a.Text,{mt:"lg",size:"sm",children:"Y Axis"}),n.jsxs(a.Group,{justify:"space-between",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n.jsx(y.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>n.jsx(R,{label:"Data Field",required:!0,...c})}),n.jsx(y.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>n.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),n.jsx(a.Text,{mt:"lg",size:"sm",children:"Z Axis"}),n.jsxs(a.Group,{justify:"space-between",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n.jsx(y.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>n.jsx(R,{label:"Data Field",required:!0,...c})}),n.jsx(y.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>n.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),n.jsx(a.Group,{justify:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:n.jsxs(a.Button,{color:"blue",type:"submit",children:[n.jsx(C.IconDeviceFloppy,{size:20}),n.jsx(a.Text,{ml:"md",size:"sm",children:"Save"})]})})]})}):null}const Ly=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function Oy(e,{panelModel:t}){try{const r=t.queryIDs[0];if(!r)throw new Error("cannot migrate when queryID is empty");const s=u=>u&&`${r}.${u}`,{x_axis_data_key:i,y_axis_data_key:o,z_axis_data_key:l,...c}=e;return{...c,x_axis_data_key:s(i),y_axis_data_key:s(o),z_axis_data_key:s(l)}}catch(r){throw console.error("[Migration failed]",r),r}}class Vy extends ke{constructor(){super(...arguments);N(this,"VERSION",2)}configVersions(){this.version(1,r=>({version:1,config:r})),this.version(2,(r,s)=>{const{config:i}=r;return{...r,version:2,config:Oy(i,s)}})}}const By={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new Vy,name:"bar-3d",viewRender:Py,configRender:Ay,createConfig(){return{version:2,config:v.cloneDeep(_a)}},translation:Ly},qy=({disabled:e,value:t,onChange:r})=>{const s=i=>{i&&r(i)};return n.jsxs(a.Box,{sx:{position:"relative"},children:[e&&n.jsx(a.Overlay,{backgroundOpacity:.6,color:"#fff",zIndex:5,blur:2}),n.jsx(ht,{height:"500px",defaultLanguage:"javascript",value:t,onChange:s,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})};function ot({enabled:e,func_content:t}){return(r,s)=>{if(!e)return r;try{return new Function(`return ${t}`)()(r,s)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),r}}}function Xe(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
92
|
+
`)(r)}catch(s){return console.error(s),console.log(e),e}}function fs(e,t,r,s){const i=dy(t,s);return e.replaceAll(/(\{\{([^{\}]+(?=}))\}\})/g,(...l)=>{const c=l[2];if(!c)return c;const u=i[c];if(u)return u;const d=py(c);return hy(d,i,r)})}function gy(e,t){const r=Sl.decode(t);r!==e&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:e,after:t,v:r}),console.groupEnd())}async function fy({query:e,name:t,payload:r,additionals:s},i){if(!e.sql)return[];const{type:o,key:l,sql:c,pre_process:u,post_process:d}=e,p=Xs(c,r),h=tx({sql:p,pre_process:u}),x=Sl.encode(h);gy(h,x);let b=await gt.query(i)({type:o,key:l,query:x,...s},{params:{name:t}});return b=nx(d,b,ba(r)),b}async function xy({type:e,key:t,configString:r,name:s,additionals:i},o){try{return await gt.httpDataSourceQuery(o)({type:e,key:t,query:r,...i},{params:{name:s}})}catch(l){if(pt.isCancel(l))throw l;return console.error(l),l}}async function my({key:e,configString:t,name:r,additionals:s},i){try{return await gt.mericoMetricQuery(i)({type:"merico_metric_system",key:e,query:t,...s},{params:{name:r}})}catch(o){throw o}}async function ya(){try{return(await gt.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(e){return console.error(e),[]}}async function vd(){try{return(await gt.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(e){return console.error(e),[]}}class _d{constructor(t){N(this,"rootRef");this.rootRef=te.observable({current:t})}async deleteItem(t){te.runInAction(()=>{v.unset(this.rootRef.current,[t])})}getItem(t){const r=this.getValueFromRoot(t);return Promise.resolve(r)}getValueFromRoot(t){return t===null?te.toJS(this.rootRef.current):v.get(this.rootRef.current,[t])}setItem(t,r){if(t===null)if(v.isObject(r))te.runInAction(()=>{this.rootRef.current=r});else throw new Error("Cannot set root value to non-object");else te.runInAction(()=>{v.set(this.rootRef.current,[t],r)});return Promise.resolve(this.getItem(t))}watchItem(t,r,s){return te.reaction(()=>this.getValueFromRoot(t),(i,o)=>{r(i,o)},{requiresObservable:!0,fireImmediately:v.get(s,"fireImmediately",!1)})}}class by{constructor(){N(this,"channels",new Map);N(this,"globalChannel",new Tl)}getChannel(t){const r=this.channels.get(t);if(r)return r;const s=new Tl;return this.channels.set(t,s),s}}class yy{constructor(t){N(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 s={id:t.id,name:t.viz.type,type:t.viz.type,messageChannels:new by,instanceData:new _d(t.viz.conf)};return this.instances.set(t.id,s),s}}function jd(e,t,r,s){return{vizManager:r,locale:"zh",msgChannels:e.messageChannels,instanceData:e.instanceData,pluginData:new _d({}),colorPalette:{getColor(){return()=>""}},data:t,variables:s}}const vy=e=>{const{panel:t,measure:r,vizManager:s,data:i,variables:o}=e,l=s.resolveComponent(t.viz.type),c=s.getOrCreateInstance(t),u={...jd(c,i,s,o),viewport:{width:r.w,height:r.h}},d=l.viewRender;return n.jsx(d,{context:u,instance:c,...v.omit(e,["panel","vizManager","data"])})},_y=e=>{const{vizManager:t,panel:r,data:s,variables:i}=e,o=t.resolveComponent(r.viz.type),l=t.getOrCreateInstance(r),c={...jd(l,s,t,i)},u=o.configRender;return n.jsx(u,{context:c,instance:l,...v.omit(e,["panel","vizManager","data"])})},wd=(e,t)=>{const r=Dt.bezier(e),s=Dt.bezier(t);return function(i){return i<50?r(i*2/100).hex():s((i-50)*2/100).hex()}},xs=e=>{const t=Dt.bezier(e);return function(r){return t(r/100).hex()}},jy={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:wd(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},wy={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:wd(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Cy={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:xs(["#fff7f1","darkred"]),name:"red",category:"sequential"},Sy={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:xs(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Ty={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:xs(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},ky={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:xs(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class Dy{constructor(t){N(this,"symbol");this.symbol=Symbol(t)}}function Jt(e){return new Dy(e)}class va{constructor(){N(this,"parent");N(this,"factoryRegistry",new Map);N(this,"instanceRegistry",new Map)}createScoped(){const t=new va;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 s=r(this);return this.instanceRegistry.set(t.symbol,s),s}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 Cd="14.3.3",zy=Object.freeze(Object.defineProperty({__proto__:null,version:Cd},Symbol.toStringTag,{value:"Module"}));class Iy{constructor(t){N(this,"staticColors",new Map);N(this,"interpolations",new Map);t.installedPlugins.forEach(r=>{r.manifest.color.forEach(s=>{this.register(s)})})}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 My{constructor(){N(this,"plugins",new Map);N(this,"vizComponents",new Map);N(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 Ey{constructor(){N(this,"migrations",[])}version(t,r){return this.migrations.push({version:t,handler:r}),this}run(t,r,s){var l;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 i=this.migrations.filter(c=>c.version>t.from&&c.version<=t.to),o=v.orderBy(i,"version","asc");if(((l=v.last(o))==null?void 0:l.version)!==t.to)throw new Error(`Migration to version ${t.to} not found`);return o.reduce((c,u)=>u.handler(c,s),r)}}class ke extends Ey{constructor(){super(),this.configVersions()}version(t,r){return super.version(t,(s,i)=>({version:t,...r(s,i)}))}async migrate({configData:t,panelModel:r}){const s=await t.getItem(null),i=v.get(s,"version",0),o=this.run({from:i,to:this.VERSION},s,{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:s}]=U.useBoolean(!0),[i,o]=f.useState();f.useEffect(()=>(e.getItem(t).then(c=>{o(c),s()}),e.watchItem(t,c=>{o(c)})));const l=f.useCallback(async c=>{await e.setItem(t,c),o(c)},[e,t]);return{loading:r,value:i,set:l}},st={top:16,right:16,bottom:16,left:16},Et=e=>Math.max(0,e-st.left-st.right),Pt=e=>Math.max(0,e-st.top-st.bottom),zr=(e,t)=>({width:Et(e),height:Pt(t)}),at=({width:e,height:t,children:r})=>n.jsx(a.Box,{pt:st.top,pr:st.right,pb:st.bottom,pl:st.left,sx:{width:e,height:t,overflow:"hidden",position:"relative"},children:r}),_a={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"}};function Py({context:e}){const{value:t}=W(e.instanceData,"config"),r=e.data,{width:s,height:i}=e.viewport,{x_axis_data_key:o,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=v.defaults({},t,_a),h=f.useMemo(()=>qr(r,o),[r,o]),{x,y:b,z:m}=f.useMemo(()=>({x:O(o),y:O(l),z:O(c)}),[o,l,c]),{min:j,max:D}=f.useMemo(()=>{const z=v.minBy(h,M=>M[m.columnKey]),I=v.maxBy(h,M=>M[m.columnKey]);return{min:v.get(z,m.columnKey),max:v.get(I,m.columnKey)}},[h,m]),T={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:j,max:D,inRange:{color:["#313695","#4575b4","#74add1","#abd9e9","#e0f3f8","#ffffbf","#fee090","#fdae61","#f46d43","#d73027","#a50026"]}},xAxis3D:u,yAxis3D:d,zAxis3D:p,grid3D:{viewControl:{projection:"orthographic",autoRotate:!1},light:{main:{shadow:!0,quality:"ultra",intensity:1.5}}},series:[{type:"bar3D",wireframe:{},data:h.map(z=>[z[x.columnKey],z[b.columnKey],z[m.columnKey]])}]};return t?n.jsx(at,{width:s,height:i,children:n.jsx(Qe,{echarts:Fe,option:T,style:zr(s,i),notMerge:!0,theme:"merico-light"})}):null}const R=k.observer(f.forwardRef(({label:e,required:t,description:r,value:s,onChange:i,queryID:o,clearable:l=!1,sx:c,...u},d)=>{const{panel:p}=Pe(),h=f.useMemo(()=>p.dataFieldOptionGroups(s,l,o),[s,l,o]);if(h.length===0){const x=p.explainDataKey(s);return n.jsxs(a.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[n.jsx(a.HoverCard.Target,{children:n.jsx(a.Box,{children:n.jsx(a.TextInput,{label:e,required:t,defaultValue:x.columnKey,readOnly:!0,disabled:!0})})}),n.jsx(a.HoverCard.Dropdown,{children:n.jsxs(a.Group,{justify:"flex-start",gap:0,children:[n.jsx(a.Text,{size:"xs",c:x.queryName?"black":"red",ff:"monospace",children:x.queryName??x.queryID}),n.jsx(a.Text,{size:"xs",c:"black",ff:"monospace",children:"."}),n.jsx(a.Text,{size:"xs",c:"red",ff:"monospace",children:x.columnKey})]})})]})}return n.jsx(a.Select,{ref:d,label:e,description:r,data:h,value:s,onChange:Se(i),required:t,sx:c,maxDropdownHeight:500,...u})}));function Ay({context:e}){const{value:t,set:r}=W(e.instanceData,"config"),s=v.defaults({},t,_a),{control:i,handleSubmit:o,reset:l}=y.useForm({defaultValues:s});return f.useEffect(()=>{l(s)},[t]),t?n.jsx(a.Stack,{gap:"xs",children:n.jsxs("form",{onSubmit:o(r),children:[n.jsx(a.Text,{size:"sm",children:"X Axis"}),n.jsxs(a.Group,{justify:"space-between",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n.jsx(y.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>n.jsx(R,{label:"Data Field",required:!0,...c})}),n.jsx(y.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>n.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),n.jsx(a.Text,{mt:"lg",size:"sm",children:"Y Axis"}),n.jsxs(a.Group,{justify:"space-between",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n.jsx(y.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>n.jsx(R,{label:"Data Field",required:!0,...c})}),n.jsx(y.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>n.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),n.jsx(a.Text,{mt:"lg",size:"sm",children:"Z Axis"}),n.jsxs(a.Group,{justify:"space-between",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[n.jsx(y.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>n.jsx(R,{label:"Data Field",required:!0,...c})}),n.jsx(y.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>n.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),n.jsx(a.Group,{justify:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:n.jsxs(a.Button,{color:"blue",type:"submit",children:[n.jsx(C.IconDeviceFloppy,{size:20}),n.jsx(a.Text,{ml:"md",size:"sm",children:"Save"})]})})]})}):null}const Ly=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function Oy(e,{panelModel:t}){try{const r=t.queryIDs[0];if(!r)throw new Error("cannot migrate when queryID is empty");const s=u=>u&&`${r}.${u}`,{x_axis_data_key:i,y_axis_data_key:o,z_axis_data_key:l,...c}=e;return{...c,x_axis_data_key:s(i),y_axis_data_key:s(o),z_axis_data_key:s(l)}}catch(r){throw console.error("[Migration failed]",r),r}}class Vy extends ke{constructor(){super(...arguments);N(this,"VERSION",2)}configVersions(){this.version(1,r=>({version:1,config:r})),this.version(2,(r,s)=>{const{config:i}=r;return{...r,version:2,config:Oy(i,s)}})}}const By={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new Vy,name:"bar-3d",viewRender:Py,configRender:Ay,createConfig(){return{version:2,config:v.cloneDeep(_a)}},translation:Ly},qy=({disabled:e,value:t,onChange:r})=>{const s=i=>{i&&r(i)};return n.jsxs(a.Box,{sx:{position:"relative"},children:[e&&n.jsx(a.Overlay,{backgroundOpacity:.6,color:"#fff",zIndex:5,blur:2}),n.jsx(ht,{height:"500px",defaultLanguage:"javascript",value:t,onChange:s,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:e}})]})};function ot({enabled:e,func_content:t}){return(r,s)=>{if(!e)return r;try{return new Function(`return ${t}`)()(r,s)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),r}}}function Xe(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
93
93
|
`)}}const At=f.forwardRef(({value:e,onChange:t,triggerButtonText:r},s)=>{const{t:i}=_.useTranslation(),[o,{setTrue:l,setFalse:c}]=U.useBoolean(),[u,d]=f.useState(e);f.useEffect(()=>{d(e)},[e]);const p=D=>{d({...u,enabled:D})},h=()=>{c();const{enabled:D,func_content:T}=u,z={enabled:D,func_content:T};d(z),t(z)},x=()=>{c(),d(e)},b=D=>{d(T=>({...T,func_content:D}))},m=()=>{b(Xe().func_content)},j=r??i("chart.axis.customize_label");return n.jsxs(n.Fragment,{children:[n.jsx(a.Button,{variant:"filled",color:"grape",leftSection:n.jsx(C.IconMathFunction,{size:16}),mt:24,onClick:l,sx:{flexGrow:0},children:j}),n.jsx(a.Modal,{size:800,title:j,opened:o,onClose:c,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:o&&n.jsxs(a.Stack,{children:[n.jsx(a.Checkbox,{mt:10,label:i("common.enabled"),checked:u.enabled,onChange:D=>p(D.currentTarget.checked)}),n.jsx(qy,{value:u.func_content,onChange:b,disabled:!u.enabled}),n.jsxs(a.Group,{justify:"space-between",children:[n.jsx(a.Button,{onClick:m,color:"red",leftSection:n.jsx(C.IconRecycle,{size:20}),children:i("common.actions.reset_to_default")}),n.jsxs(a.Group,{justify:"flex-end",children:[n.jsx(a.Button,{onClick:x,variant:"subtle",children:i("common.actions.cancel")}),n.jsx(a.Button,{color:"green",leftSection:n.jsx(C.IconDeviceFloppy,{size:16}),onClick:h,children:i("common.actions.save")})]})]})]})})]})}),Tn={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1};function Sd(){return v.cloneDeep(Tn)}const Ny=[{lang:"en",resources:{boxplot:{viz_name:"Boxplot Chart",box:"Box",outlier:"Outlier",scatter:"Scatter",click_series:{label:"Click box, scatter or outlier"}}}},{lang:"zh",resources:{boxplot:{viz_name:"箱线图",box:"箱体",outlier:"异常点",scatter:"散点",click_series:{label:"点击箱体、散点或异常点"}}}}],Td={id:"builtin:echarts:click-echart:series",displayName:"viz.boxplot.click_series.label",nameRender:Gy,configRender:$y,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 $y(e){return n.jsx(n.Fragment,{})}function Gy(e){const{t}=_.useTranslation();return n.jsx(a.Text,{size:"sm",children:t("viz.boxplot.click_series.label")})}const ms=f.forwardRef(({sectionTitle:e,value:t,onChange:r},s)=>{const{t:i,i18n:o}=_.useTranslation(),l=u=>d=>{const p=v.cloneDeep(t);v.set(p,u,d),r(p)},c=f.useMemo(()=>[{label:i("chart.axis.overflow.truncate"),value:"truncate"},{label:i("chart.axis.overflow.break_line"),value:"break"},{label:i("chart.axis.overflow.break_word"),value:"breakAll"}],[o.language]);return n.jsxs(a.Stack,{gap:0,children:[e&&n.jsx(a.Divider,{mb:-5,mt:5,variant:"dotted",label:e,labelPosition:"right",styles:{label:{color:"dimmed"}}}),n.jsxs(a.Group,{grow:!0,wrap:"nowrap",children:[n.jsx(a.NumberInput,{label:i("chart.axis.overflow.max_width"),hideControls:!0,value:t.width,onChange:l("width")}),n.jsx(a.Select,{label:i("chart.axis.overflow.label"),data:c,value:t.overflow,onChange:l("overflow")}),n.jsx(a.TextInput,{label:i("chart.axis.overflow.ellipsis"),value:t.ellipsis,disabled:!0})]})]})}),Lt=f.forwardRef(({value:e,onChange:t},r)=>{const{t:s}=_.useTranslation(),i=l=>{t({...e,on_axis:l})},o=l=>{t({...e,in_tooltip:l})};return n.jsxs(a.Stack,{ref:r,gap:0,children:[n.jsx(ms,{sectionTitle:s("chart.axis.overflow.section_title.on_axis"),value:e.on_axis,onChange:i}),n.jsx(ms,{sectionTitle:s("chart.axis.overflow.section_title.in_tooltip"),value:e.in_tooltip,onChange:o})]})});function lt(){return{on_axis:{width:80,overflow:"truncate",ellipsis:"..."},in_tooltip:{width:200,overflow:"break",ellipsis:"..."}}}function Ct({overflow:e,width:t}){const r={truncate:"initial",break:"break-all",breakAll:"break-word"}[e],s=e==="truncate"?"nowrap":"initial",i={truncate:"ellipsis",break:"clip",breakAll:"clip"}[e];return`
|
|
94
94
|
max-width: ${t}px;
|
|
95
95
|
word-break: ${r};
|
package/dist/version.json
CHANGED