@devtable/dashboard 12.10.2 → 12.11.0
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 +6 -3
- package/dist/dashboard.umd.js +3 -3
- package/dist/stats.html +1 -1
- package/package.json +1 -1
package/dist/dashboard.es.js
CHANGED
|
@@ -876,7 +876,10 @@ class lx {
|
|
|
876
876
|
getRequest(e, n) {
|
|
877
877
|
return (s, i, a, o) => {
|
|
878
878
|
const l = this.buildHeader(a), c = this.buildAxiosConfig(e, s, i, a, l, n);
|
|
879
|
-
return Bt(c).then((d) => o ? d : d.data).catch((d) =>
|
|
879
|
+
return Bt(c).then((d) => o ? d : d.data).catch((d) => {
|
|
880
|
+
const u = S.get(d, "response.data.detail.message", d.message);
|
|
881
|
+
return Promise.reject(new Error(u));
|
|
882
|
+
});
|
|
880
883
|
};
|
|
881
884
|
}
|
|
882
885
|
get(e) {
|
|
@@ -1728,7 +1731,7 @@ class Ai {
|
|
|
1728
1731
|
}), this.instanceRegistry.clear(), this.factoryRegistry.clear();
|
|
1729
1732
|
}
|
|
1730
1733
|
}
|
|
1731
|
-
const rc = "12.
|
|
1734
|
+
const rc = "12.11.0", Hx = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
|
|
1732
1735
|
__proto__: null,
|
|
1733
1736
|
version: rc
|
|
1734
1737
|
}, Symbol.toStringTag, { value: "Module" }));
|
|
@@ -30369,7 +30372,7 @@ function vu({
|
|
|
30369
30372
|
i.isPlaceholder ? null : Kr(i.column.columnDef.header, i.getContext()),
|
|
30370
30373
|
/* @__PURE__ */ r.jsx(Y, { onMouseDown: i.getResizeHandler(), onTouchStart: i.getResizeHandler(), className: `resizer ${i.column.getIsResizing() ? "isResizing" : ""}`, children: /* @__PURE__ */ r.jsx(lp, {}) })
|
|
30371
30374
|
] }, i.id)) }, s.id)) }),
|
|
30372
|
-
/* @__PURE__ */ r.jsx("tbody", { children: n.getRowModel().rows.map((s) => /* @__PURE__ */ r.jsx("tr", { children: s.getVisibleCells().map((i) => /* @__PURE__ */ r.jsx("td", { children: /* @__PURE__ */ r.jsx(Ue, { children: Kr(i.column.columnDef.cell, i.getContext()) }) }, i.id)) }, s.id)) })
|
|
30375
|
+
/* @__PURE__ */ r.jsx("tbody", { children: n.getRowModel().rows.map((s) => /* @__PURE__ */ r.jsx("tr", { children: s.getVisibleCells().map((i) => /* @__PURE__ */ r.jsx("td", { children: /* @__PURE__ */ r.jsx(Ue, { children: typeof i.getValue() == "object" ? /* @__PURE__ */ r.jsx("pre", { children: JSON.stringify(i.getValue(), null, 2) }) : Kr(i.column.columnDef.cell, i.getContext()) }) }, i.id)) }, s.id)) })
|
|
30373
30376
|
] }) });
|
|
30374
30377
|
}
|
|
30375
30378
|
const sL = [{
|
package/dist/dashboard.umd.js
CHANGED
|
@@ -51,9 +51,9 @@ Check the top-level render call using <`+P+">.")}return M}}function lu(w,M){{if(
|
|
|
51
51
|
${sd.map(rd).join("")}
|
|
52
52
|
</tbody>
|
|
53
53
|
</table>
|
|
54
|
-
`;function bs(t,e){const n=Object.keys(e),r=Object.values(e);try{return new Function(...n,`return \`${t}\`;`)(...r)}catch(i){throw n.length===0&&t.includes("$")?new Error("[formatSQL] insufficient payload"):i}}function vs(t,e){try{return bs(t,e)}catch(n){return console.error(n),n.message}}function ad({sql:t,pre_process:e}){if(!e.trim())return t;try{return new Function(`return ${e}`)()({sql:t},ot)}catch(n){return console.error(n),t}}function od(t,e,n){if(!t.trim())return e;try{return new Function(`return ${t}`)()(e,ot,n)}catch(r){return console.error(r),e}}function ld(t){t=t||{};const e=Object.keys(t).sort(),n=[];for(let r=0;r<e.length;r++){const i=e[r];if(i!="authentication"&&t[i])n.push(e[r]+"="+(typeof t[i]=="object"?JSON.stringify(t[i]):t[i]));else{const o=Object.keys(t[i]).sort();for(let l=0;l<o.length;l++){const c=o[l];c!="sign"&&t[i][c]&&n.push(o[l]+"="+(typeof t[i][c]=="object"?JSON.stringify(t[i][c]):t[i][c]))}}}return n.sort().join("&")}function cd(t,e){let n=ld(t);return n+="&key="+e,Hu.MD5(n).toString().toUpperCase()}class la{constructor(){this.type="default_api_client",this.baseURL="http://localhost:31200",this.app_id="",this.app_secret=""}getAuthentication(e){if(!this.app_id||!this.app_secret)return;const n=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:n,sign:cd({app_id:this.app_id,nonce_str:n,...e},this.app_secret)}}getRequest(e,n){return(r,i,o,l)=>{const c=this.buildHeader(o),u=this.buildAxiosConfig(e,r,i,o,c,n);return it(u).then(d=>l?d:d.data).catch(d=>Promise.reject(
|
|
54
|
+
`;function bs(t,e){const n=Object.keys(e),r=Object.values(e);try{return new Function(...n,`return \`${t}\`;`)(...r)}catch(i){throw n.length===0&&t.includes("$")?new Error("[formatSQL] insufficient payload"):i}}function vs(t,e){try{return bs(t,e)}catch(n){return console.error(n),n.message}}function ad({sql:t,pre_process:e}){if(!e.trim())return t;try{return new Function(`return ${e}`)()({sql:t},ot)}catch(n){return console.error(n),t}}function od(t,e,n){if(!t.trim())return e;try{return new Function(`return ${t}`)()(e,ot,n)}catch(r){return console.error(r),e}}function ld(t){t=t||{};const e=Object.keys(t).sort(),n=[];for(let r=0;r<e.length;r++){const i=e[r];if(i!="authentication"&&t[i])n.push(e[r]+"="+(typeof t[i]=="object"?JSON.stringify(t[i]):t[i]));else{const o=Object.keys(t[i]).sort();for(let l=0;l<o.length;l++){const c=o[l];c!="sign"&&t[i][c]&&n.push(o[l]+"="+(typeof t[i][c]=="object"?JSON.stringify(t[i][c]):t[i][c]))}}}return n.sort().join("&")}function cd(t,e){let n=ld(t);return n+="&key="+e,Hu.MD5(n).toString().toUpperCase()}class la{constructor(){this.type="default_api_client",this.baseURL="http://localhost:31200",this.app_id="",this.app_secret=""}getAuthentication(e){if(!this.app_id||!this.app_secret)return;const n=new Date().getTime().toString();return{app_id:this.app_id,nonce_str:n,sign:cd({app_id:this.app_id,nonce_str:n,...e},this.app_secret)}}getRequest(e,n){return(r,i,o,l)=>{const c=this.buildHeader(o),u=this.buildAxiosConfig(e,r,i,o,c,n);return it(u).then(d=>l?d:d.data).catch(d=>{const p=y.get(d,"response.data.detail.message",d.message);return Promise.reject(new Error(p))})}}get(e){return this.getRequest("GET",e)}post(e){return this.getRequest("POST",e)}put(e){return this.getRequest("PUT",e)}buildAxiosConfig(e,n,r,i,o,l){const c={baseURL:this.baseURL,method:e,url:n,params:e==="GET"?r:i.params,headers:o,signal:l};return["POST","PUT"].includes(e)&&(c.data=i.string?JSON.stringify(r):r,c.data.authentication=this.getAuthentication(c.data)),c}buildHeader(e){const n=window.localStorage.getItem("token");return{"X-Requested-With":"XMLHttpRequest","Content-Type":e.string?"application/x-www-form-urlencoded":"application/json",authorization:n?`bearer ${n}`:"",...e.headers}}}class ud{constructor(e){this.implementation=e}getRequest(e,n){return this.implementation.getRequest(e,n)}get(e){return this.getRequest("GET",e)}post(e){return this.getRequest("POST",e)}put(e){return this.getRequest("PUT",e)}}class ca extends la{constructor(){super(...arguments);$(this,"makeQueryENV",null)}query(n){return async(r,i={})=>{var o;return r.env||(r.env=((o=this.makeQueryENV)==null?void 0:o.call(this))??{error:"failed to run makeQueryENV"}),this.post(n)("/query",r,i)}}httpDataSourceQuery(n){return async(r,i={})=>{var o;return r.env||(r.env=((o=this.makeQueryENV)==null?void 0:o.call(this))??{error:"failed to run makeQueryENV"}),this.getRequest("POST",n)("/query",r,i,!0)}}structure(n){return async(r,i={})=>this.post(n)("/query/structure",r,i)}}class ua{constructor(e){this.implementation=e}query(e){return this.implementation.query(e)}httpDataSourceQuery(e){return this.implementation.httpDataSourceQuery(e)}structure(e){return this.implementation.structure(e)}getRequest(e,n){return this.implementation.getRequest(e,n)}get(e){return this.getRequest("GET",e)}post(e){return this.getRequest("POST",e)}put(e){return this.getRequest("PUT",e)}}const Lt=new ca;function js(t){Lt.baseURL!==t.apiBaseURL&&(Lt.baseURL=t.apiBaseURL),t.app_id&&(Lt.app_id=t.app_id),t.app_secret&&(Lt.app_secret=t.app_secret),t.makeQueryENV&&(Lt.makeQueryENV=t.makeQueryENV)}const da=new ua(Lt),He=da,tn=g.forwardRef(function({value:e,onChange:n,...r},i){return s.jsx(a.TextInput,{ref:i,value:e,onChange:n,...r})});function A(t){const[e,n]=t.split(".");return{queryID:e,columnKey:n}}function dd(t){return t.includes(".")?A(t):{queryID:"",columnKey:t}}function et(t,e){var i;const{queryID:n,columnKey:r}=A(e);return n?r?((i=t[n])==null?void 0:i.map(o=>o[r]))??[]:t[n]:[]}function nn(t,e){const{queryID:n}=A(e);return n?t[n]:[]}function pd(t){return Object.values(t)[0]}function Sn(t,e){const{queryID:n,columnKey:r}=A(e);return t[r]}const pa=["function aggregation({ queryData }, utils) {",' return "Aggregation Result";',"}"].join(`
|
|
55
55
|
`),Bt={type:"none",config:{},fallback:"0"};function hd(t){const e=Array.from(t).sort((r,i)=>r-i),n=Math.floor(e.length/2);return e.length%2===0?(e[n-1]+e[n])/2:e[n]}function xd(t,e){switch(e.type){case"sum":return y.sum(t);case"mean":return y.mean(t);case"median":return hd(t);case"max":return y.max(t);case"min":return y.min(t);case"quantile":return Xt.quantile(t,e.config.p);case"CV":const n=$t.std(...t),r=$t.mean(...t);return r?n/r:Number.NaN;case"std":return $t.std(...t);default:return t}}function _s(t,e){const n=t.map(Number),r=xd(n,e);return typeof r=="number"?Number.isFinite(r)?r:e.fallback:r??e.fallback}function gd(t,e,n){try{const r=nn(t,e);return new Function(`return ${n.config.func}`)()({queryData:r},ot)}catch(r){return console.error(r),r.message}}function kn(t,e,n){try{return n.type==="custom"?gd(t,e,n):_s(et(t,e),n)}catch(r){return console.error(r),null}}class md{constructor({valueRange:e,colorRange:n}){$(this,"mapper");this.mapper=Ct.interpolate(e,n)}getColor(e){return this.mapper(e)}}const ye={mantissa:0,output:"number",trimMantissa:!1,average:!1,absolute:!1};function W(t,{absolute:e,...n}){if(t===null)return String(t);try{let r=_n(t).value();if(r===void 0||Number.isNaN(r))throw new Error(`[formatNumber]Not a number: ${t}`);return e&&(r=Math.abs(r)),_n(r).format(n)}catch(r){return console.debug(r),String(t)}}function fd(t){return t===null?"null":t===void 0?"undefined":Array.isArray(t)?`Array(${t.length})`:t.toString()}function lt({data_field:t,aggregation:e},n){return kn(n,t,e)}function Be({formatter:t,aggregation:e},n){if(typeof n!="string"&&typeof n!="number")return fd(n);if(e.type==="custom")return n;try{return W(n,t)}catch(r){return console.error(r),n}}function yd(t,e){if(t.type==="static")return t.staticColor;if(t.type==="continuous")try{if(typeof e!="number")throw new Error(`[getColorByColorConf] Invalid type of aggregated value: ${e}`);return new md(t).getColor(e)}catch(n){return console.error(n),"black"}return"black"}function bd(t,e){const{color:n,data_field:r,aggregation:i,size:o,weight:l}=t,c=kn(e,r,i),u=Be(t,c);return s.jsx(a.Text,{sx:{fontSize:o,display:"inline"},color:yd(n,c),weight:l,children:u})}function vd(t,e){const n={};return t.forEach(r=>{const i=r.name;n[i]=bd(r,e)}),n}function jd(t){return t.split(" ").map((e,n)=>s.jsxs(g.Fragment,{children:[e," "]},n))}function _d(t){const n=t.replaceAll("<br />","<br/>").replaceAll(`
|
|
56
|
-
`,"<br/>").split("<br/>");return n.map((i,o)=>{const l=[jd(i)];return o!==n.length-1&&l.push(s.jsx("br",{},`br-${o}`)),l}).flat().filter(i=>i!==void 0)}function ws(t){return _d(t)}function sn(t,e,n){const r=vd(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map((o,l)=>{const c=i.exec(o);if(!c)return ws(o);const u=r[c[1]];if(!u)return ws(o);const d=c[2]??"";return s.jsxs(g.Fragment,{children:[u,ws(d)]},`${o}-${l}`)})}function wd(t,e){const{data_field:n,aggregation:r}=t,i=kn(e,n,r);return Be(t,i)}function ha(t,e){const n={};return t.forEach(r=>{n[r.name]=wd(r,e)}),n}function Tn(t,e,n){const r=ha(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map(o=>{const l=i.exec(o);if(!l)return o;const c=r[l[1]];if(!c)return o;const u=l[2]??"";return`${c}${u}`}).join("")}const Cs={grid:{axis:"#97999D",scope:"rgba(47,140,192,0.1)",boundary:"#789AB4",reference:"#CFCFD8"},graphics:{compared:{blueDark:"#3E7CAB",blue:"#6398C7",blueLight:"#7CB0DF",blue10:"#6398C71a",redDark:"#AF5F6B",red:"#CD7C88",redLight:"#E794A0",red10:"#CD7C881a"},gradient:{distributed:"linear-gradient(90deg, #1babe6 0%, #2fc8c8 28.63%, #98d44b 48.86%, #ffd057 67.53%, #f5ae53 80.6%, #e76441 91.18%, #b90000 100%)",protrude:"linear-gradient(180deg, #ec73734d 0%, #ec737300 100%)"},level:{lv0:"#6398C7",lv1:"#61B5BF",lv2:"#54D4BB",lv3:"#F5D277",lv4:"#E8BB7F",lv5:"#DB9E84",lv6:"#CB8089"},depth:{dp0:"#FFF7F8",dp1:"#FFE1E1",dp2:"#FDBCBC",dp3:"#F39494",dp4:"#FA4242",dp5:"#E21212"},multiple:{c1:"#66B4DB",c2:"#E46464",c3:"#EEBA00",c4:"#33A678",c5:"#9D88CB",c6:"#939943",c7:"#E49792",c8:"#09A2B8",c9:"#AF5F6B",c10:"#6CA157",c11:"#3E7CAB",c12:"#6398C7",c13:"#E692BA",c14:"#97B566",c15:"#8CACE2",c16:"#CA79AC",c17:"#6DBC80",c18:"#B08F4B",c19:"#39BFA2",c20:"#826BAF"}}};function Cd(){ve.registerTheme("merico-light",{color:Object.values(Cs.graphics.multiple),visualMap:{color:Object.values(Cs.graphics.depth).reverse()},axes:[{type:"all",name:"通用坐标轴",axisLineColor:"#97999D",axisTickColor:"#97999D",axisLabelShow:!0,axisLabelColor:"#818388",splitLineShow:!0,splitLineColor:["#E0E6F1"]}]})}function xa(){Cd()}function*Sd(t){const e=Cs.graphics[t];if(!e)throw new Error("Invalid palette key provided");const n=Object.values(e);let r=0;for(;;)yield n[r%n.length],r++}function ga(){return{filters:{},context:{}}}function Ss(t){const e=ga();if(!t)return ga();const{filters:n=e.filters,context:r=e.context}=t;return{filters:n,context:r}}class je extends g.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}render(){var e;if(this.state.error){const n=()=>{this.setState({error:null})};return s.jsxs(a.Box,{children:[s.jsx(a.Text,{size:"xs",children:(e=this.state.error)==null?void 0:e.message}),s.jsx(a.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function kd(t,e={handleError:!0}){return n=>s.jsx(je,{...e,children:s.jsx(t,{...n})})}function Td(t,e){return new Function(`return ${t}`)()(e,ot)}function Dd(t,e,n){return Td(t,{context:e,filters:n})}function zd(t,e){try{return new Function(`return ${t.config.processing.pre}`)()(e,ot)}catch(n){return console.error(n),e}}function Md(t,e){return new Function(`return ${t.config.processing.post}`)()(e,ot)}function Id(t,e,n){return t?new Function(`return ${t}`)()(e,ot,n):e}function ma(){Bi.use([xu.CanvasRenderer,Ze.BarChart,Ze.BoxplotChart,Ze.CustomChart,Ze.FunnelChart,Ze.HeatmapChart,Ze.LineChart,Ze.PieChart,Ze.RadarChart,Ze.ScatterChart,Ze.SunburstChart,gt.CalendarComponent,gt.DataZoomComponent,gt.GridComponent,gt.LegendComponent,gt.TooltipComponent,gt.MarkLineComponent,gt.MarkAreaComponent,gt.VisualMapComponent])}const qt=t=>y.cloneDeepWith(t,(e,n)=>{if(n!==void 0&&e)return K.toJS(e)}),Dn={sqlSnippet:new RegExp("(?<=sql_snippets\\.)([^\\?}.]+)","gm"),context:new RegExp("(?<=context\\.)([^\\?}.]+)","gm"),filter:new RegExp("(?<=filters\\.)([^\\?}.]+)","gm")};function Ed(t,e){const n=qi.decode(e);n!==t&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:t,after:e,v:n}),console.groupEnd())}async function Ad({query:t,name:e,payload:n,additionals:r},i){if(!t.sql)return[];const{type:o,key:l,sql:c,pre_process:u,post_process:d}=t,p=bs(c,n),h=ad({sql:p,pre_process:u}),x=qi.encode(h);Ed(h,x);let m=await He.query(i)({type:o,key:l,query:x,...r},{params:{name:e}});return m=od(d,m,Ss(n)),m}async function Pd({type:t,key:e,configString:n,name:r,additionals:i},o){try{return await He.httpDataSourceQuery(o)({type:t,key:e,query:n,...i},{params:{name:r}})}catch(l){if(it.isCancel(l))throw l;return console.error(l),l}}async function ks(){try{return(await He.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(t){return console.error(t),[]}}async function fa(){try{return(await He.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(t){return console.error(t),[]}}class ya{constructor(e){$(this,"rootRef");this.rootRef=K.observable({current:e})}async deleteItem(e){K.runInAction(()=>{y.unset(this.rootRef.current,[e])})}getItem(e){const n=this.getValueFromRoot(e);return Promise.resolve(n)}getValueFromRoot(e){return e===null?K.toJS(this.rootRef.current):y.get(this.rootRef.current,[e])}setItem(e,n){if(e===null)if(y.isObject(n))K.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else K.runInAction(()=>{y.set(this.rootRef.current,[e],n)});return Promise.resolve(this.getItem(e))}watchItem(e,n,r){return K.reaction(()=>this.getValueFromRoot(e),(i,o)=>{n(i,o)},{requiresObservable:!0,fireImmediately:y.get(r,"fireImmediately",!1)})}}class $d{constructor(){$(this,"channels",new Map);$(this,"globalChannel",new Oi)}getChannel(e){const n=this.channels.get(e);if(n)return n;const r=new Oi;return this.channels.set(e,r),r}}class Ld{constructor(e){$(this,"instances",new Map);this.pluginManager=e}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(e=>e.manifest.viz)}resolveComponent(e){return this.pluginManager.factory.viz(e)}getOrCreateInstance(e){const n=this.instances.get(e.id);if(n)return n;const r={id:e.id,name:e.viz.type,type:e.viz.type,messageChannels:new $d,instanceData:new ya(e.viz.conf)};return this.instances.set(e.id,r),r}}function ba(t,e,n,r){return{vizManager:n,locale:"zh",msgChannels:t.messageChannels,instanceData:t.instanceData,pluginData:new ya({}),colorPalette:{getColor(){return()=>""}},data:e,variables:r}}const Bd=t=>{const{panel:e,measure:n,vizManager:r,data:i,variables:o}=t,l=r.resolveComponent(e.viz.type),c=r.getOrCreateInstance(e),u={...ba(c,i,r,o),viewport:{width:n.w,height:n.h}},d=l.viewRender;return s.jsx(d,{context:u,instance:c,...y.omit(t,["panel","vizManager","data"])})},qd=t=>{const{vizManager:e,panel:n,data:r,variables:i}=t,o=e.resolveComponent(n.viz.type),l=e.getOrCreateInstance(n),c={...ba(l,r,e,i)},u=o.configRender;return s.jsx(u,{context:c,instance:l,...y.omit(t,["panel","vizManager","data"])})},va=(t,e)=>{const n=at.bezier(t),r=at.bezier(e);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},zn=t=>{const e=at.bezier(t);return function(n){return e(n/100).hex()}},Od={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:va(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Vd={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:va(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Nd={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:zn(["#fff7f1","darkred"]),name:"red",category:"sequential"},Fd={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:zn(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Gd={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:zn(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},Wd={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:zn(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class Qd{constructor(e){$(this,"symbol");this.symbol=Symbol(e)}}function ct(t){return new Qd(t)}class Ts{constructor(){$(this,"parent");$(this,"factoryRegistry",new Map);$(this,"instanceRegistry",new Map)}createScoped(){const e=new Ts;return e.parent=this,e}getRequired(e){return this.get(e)}get(e){if(this.instanceRegistry.has(e.symbol))return this.instanceRegistry.get(e.symbol);const n=this.factoryRegistry.get(e.symbol);if(n){const r=n(this);return this.instanceRegistry.set(e.symbol,r),r}if(this.parent)return this.parent.get(e)}provideFactory(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,n),this}provideValue(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(e=>{const n=y.get(e,"dispose");y.isFunction(n)&&n.bind(e)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const ja="12.10.2",Rd=Object.freeze(Object.defineProperty({__proto__:null,version:ja},Symbol.toStringTag,{value:"Module"}));class Yd{constructor(e){$(this,"staticColors",new Map);$(this,"interpolations",new Map);e.installedPlugins.forEach(n=>{n.manifest.color.forEach(r=>{this.register(r)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(e){const n=this.encodeColor(e);e.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.staticColors.set(n,e)):e.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`,`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.interpolations.set(n,e))}decodeStaticColor(e){return this.staticColors.get(e)}encodeColor(e){return`\${${e.category}}.{${e.name}}`}decodeInterpolation(e){return this.interpolations.get(e)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class Ud{constructor(){$(this,"plugins",new Map);$(this,"vizComponents",new Map);$(this,"factory",{viz:e=>{const n=this.vizComponents.get(e);if(n)return n;throw new Error(`Viz Component (${e}) not found`)}})}install(e){if(this.plugins.has(e.id))throw new Error(`Plugin (${e.id}) has been installed before`);this.plugins.set(e.id,e);for(const n of e.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class Kd{constructor(){$(this,"migrations",[])}version(e,n){return this.migrations.push({version:e,handler:n}),this}run(e,n,r){var l;if(e.from===e.to)return n;if(e.from>e.to)throw new Error(`Can not downgrade from version '${e.from}' to (${e.to})`);const i=this.migrations.filter(c=>c.version>e.from&&c.version<=e.to),o=y.orderBy(i,"version","asc");if(((l=y.last(o))==null?void 0:l.version)!==e.to)throw new Error(`Migration to version ${e.to} not found`);return o.reduce((c,u)=>u.handler(c,r),n)}}class oe extends Kd{constructor(){super(),this.configVersions()}version(e,n){return super.version(e,(r,i)=>({version:e,...n(r,i)}))}async migrate({configData:e,panelModel:n}){const r=await e.getItem(null),i=y.get(r,"version",0),o=this.run({from:i,to:this.VERSION},r,{panelModel:n});await e.setItem(null,o)}async needMigration({configData:e}){const n=await e.getItem(null);return y.get(n,"version",0)<this.VERSION}}const O=(t,e)=>{const[n,{setFalse:r}]=N.useBoolean(!0),[i,o]=g.useState();g.useEffect(()=>(t.getItem(e).then(c=>{o(c),r()}),t.watchItem(e,c=>{o(c)})));const l=g.useCallback(async c=>{await t.setItem(e,c),o(c)},[t,e]);return{loading:n,value:i,set:l}},De={top:16,right:16,bottom:16,left:16},Ye=t=>Math.max(0,t-De.left-De.right),Ue=t=>Math.max(0,t-De.top-De.bottom),rn=(t,e)=>({width:Ye(t),height:Ue(e)}),ze=({width:t,height:e,children:n})=>s.jsx(a.Box,{pt:De.top,pr:De.right,pb:De.bottom,pl:De.left,sx:{width:t,height:e,overflow:"hidden",position:"relative"},children:n}),Ds={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 Jd({context:t}){const{value:e}=O(t.instanceData,"config"),n=t.data,{width:r,height:i}=t.viewport,{x_axis_data_key:o,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=y.defaults({},e,Ds),h=g.useMemo(()=>nn(n,o),[n,o]),{x,y:m,z:v}=g.useMemo(()=>({x:A(o),y:A(l),z:A(c)}),[o,l,c]),{min:C,max:k}=g.useMemo(()=>{const E=y.minBy(h,G=>G[v.columnKey]),B=y.maxBy(h,G=>G[v.columnKey]);return{min:y.get(E,v.columnKey),max:y.get(B,v.columnKey)}},[h,v]),D={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:C,max:k,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(E=>[E[x.columnKey],E[m.columnKey],E[v.columnKey]])}]};return e?s.jsx(ze,{width:r,height:i,children:s.jsx(Se,{echarts:ve,option:D,style:rn(r,i),notMerge:!0,theme:"merico-light"})}):null}const _a=g.createContext(null),zs=_a.Provider;function Ms(){const t=g.useContext(_a);if(!t)throw new Error("Please use DashboardModelContextProvider");return t}const X=()=>Ms(),wa=()=>Ms(),Ca=g.createContext({searchButtonProps:{}}),Is=Ca.Provider;function Sa(){return g.useContext(Ca)}const ka=g.createContext(null),Es=ka.Provider;function Ta(){const t=g.useContext(ka);if(!t)throw new Error("Please use ContentModelContextProvider");return t}const Q=()=>Ta(),ue=()=>Ta(),Xd={inEditMode:!1},Mn=g.createContext(Xd),Da=g.createContext({panel:null,data:{},loading:!1,errors:[],downloadPanelScreenshot:()=>{}}),As=Da.Provider;function za(){const t=g.useContext(Da);if(!t.panel)throw new Error("Please use PanelContextProvider");return t}const vt=()=>za(),qe=()=>za(),Zd={fullScreenPanelID:"",setFullScreenPanelID:y.noop},Ps=g.createContext(Zd);function Ma(){const t=g.useContext(Ps);if(!t)throw new Error("Please use FullScreenPanelContext.Provider");return t}const Hd={en:"en",zh:"zh-cn"};function $s({children:t}){const{i18n:e}=j.useTranslation(),n=g.useMemo(()=>{const r=e.language;return Hd[r]??"en"},[e.language]);return s.jsx(Vi.DatesProvider,{settings:{locale:n,firstDayOfWeek:1},children:t})}const q=S.observer(g.forwardRef(({label:t,required:e,description:n,value:r,onChange:i,clearable:o=!1,sx:l,...c},u)=>{const{panel:d}=qe(),p=g.useMemo(()=>d.dataFieldOptions(r,o),[r,o]);if(p.length===0){const h=d.explainDataKey(r);return s.jsxs(a.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[s.jsx(a.HoverCard.Target,{children:s.jsx(a.Box,{children:s.jsx(a.TextInput,{label:t,required:e,defaultValue:h.columnKey,readOnly:!0,disabled:!0})})}),s.jsx(a.HoverCard.Dropdown,{children:s.jsxs(a.Group,{position:"left",spacing:0,children:[s.jsx(a.Text,{size:"xs",color:h.queryName?"black":"red",sx:{fontFamily:"monospace"},children:h.queryName??h.queryID}),s.jsx(a.Text,{size:"xs",color:"black",sx:{fontFamily:"monospace"},children:"."}),s.jsx(a.Text,{size:"xs",color:"red",sx:{fontFamily:"monospace"},children:h.columnKey})]})})]})}return s.jsx(a.Select,{ref:u,label:t,description:n,data:p,value:r,onChange:i,required:e,sx:l,maxDropdownHeight:500,...c})}));function ep({context:t}){const{value:e,set:n}=O(t.instanceData,"config"),r=y.defaults({},e,Ds),{control:i,handleSubmit:o,reset:l}=b.useForm({defaultValues:r});return g.useEffect(()=>{l(r)},[e]),e?s.jsx(a.Stack,{spacing:"xs",children:s.jsxs("form",{onSubmit:o(n),children:[s.jsx(a.Text,{children:"X Axis"}),s.jsxs(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>s.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(a.Text,{mt:"lg",children:"Y Axis"}),s.jsxs(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>s.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(a.Text,{mt:"lg",children:"Z Axis"}),s.jsxs(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>s.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(a.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:s.jsxs(a.Button,{color:"blue",type:"submit",children:[s.jsx(z.DeviceFloppy,{size:20}),s.jsx(a.Text,{ml:"md",children:"Save"})]})})]})}):null}const tp=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function np(t,{panelModel:e}){try{const n=e.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const r=u=>u&&`${n}.${u}`,{x_axis_data_key:i,y_axis_data_key:o,z_axis_data_key:l,...c}=t;return{...c,x_axis_data_key:r(i),y_axis_data_key:r(o),z_axis_data_key:r(l)}}catch(n){throw console.error("[Migration failed]",n),n}}class sp extends oe{constructor(){super(...arguments);$(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,r)=>{const{config:i}=n;return{...n,version:2,config:np(i,r)}})}}const rp={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new sp,name:"bar-3d",viewRender:Jd,configRender:ep,createConfig(){return{version:2,config:y.cloneDeep(Ds)}},translation:tp},ip=({disabled:t,value:e,onChange:n})=>{const r=i=>{i&&n(i)};return s.jsxs(a.Box,{sx:{position:"relative"},children:[t&&s.jsx(a.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s.jsx(Ae,{height:"500px",defaultLanguage:"javascript",value:e,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:t}})]})};function Me({enabled:t,func_content:e}){return(n,r)=>{if(!t)return n;try{return new Function(`return ${e}`)()(n,r)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function _e(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
56
|
+
`,"<br/>").split("<br/>");return n.map((i,o)=>{const l=[jd(i)];return o!==n.length-1&&l.push(s.jsx("br",{},`br-${o}`)),l}).flat().filter(i=>i!==void 0)}function ws(t){return _d(t)}function sn(t,e,n){const r=vd(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map((o,l)=>{const c=i.exec(o);if(!c)return ws(o);const u=r[c[1]];if(!u)return ws(o);const d=c[2]??"";return s.jsxs(g.Fragment,{children:[u,ws(d)]},`${o}-${l}`)})}function wd(t,e){const{data_field:n,aggregation:r}=t,i=kn(e,n,r);return Be(t,i)}function ha(t,e){const n={};return t.forEach(r=>{n[r.name]=wd(r,e)}),n}function Tn(t,e,n){const r=ha(e,n),i=/^\{(.+)\}(.*)$/;return t.split("$").map(o=>{const l=i.exec(o);if(!l)return o;const c=r[l[1]];if(!c)return o;const u=l[2]??"";return`${c}${u}`}).join("")}const Cs={grid:{axis:"#97999D",scope:"rgba(47,140,192,0.1)",boundary:"#789AB4",reference:"#CFCFD8"},graphics:{compared:{blueDark:"#3E7CAB",blue:"#6398C7",blueLight:"#7CB0DF",blue10:"#6398C71a",redDark:"#AF5F6B",red:"#CD7C88",redLight:"#E794A0",red10:"#CD7C881a"},gradient:{distributed:"linear-gradient(90deg, #1babe6 0%, #2fc8c8 28.63%, #98d44b 48.86%, #ffd057 67.53%, #f5ae53 80.6%, #e76441 91.18%, #b90000 100%)",protrude:"linear-gradient(180deg, #ec73734d 0%, #ec737300 100%)"},level:{lv0:"#6398C7",lv1:"#61B5BF",lv2:"#54D4BB",lv3:"#F5D277",lv4:"#E8BB7F",lv5:"#DB9E84",lv6:"#CB8089"},depth:{dp0:"#FFF7F8",dp1:"#FFE1E1",dp2:"#FDBCBC",dp3:"#F39494",dp4:"#FA4242",dp5:"#E21212"},multiple:{c1:"#66B4DB",c2:"#E46464",c3:"#EEBA00",c4:"#33A678",c5:"#9D88CB",c6:"#939943",c7:"#E49792",c8:"#09A2B8",c9:"#AF5F6B",c10:"#6CA157",c11:"#3E7CAB",c12:"#6398C7",c13:"#E692BA",c14:"#97B566",c15:"#8CACE2",c16:"#CA79AC",c17:"#6DBC80",c18:"#B08F4B",c19:"#39BFA2",c20:"#826BAF"}}};function Cd(){ve.registerTheme("merico-light",{color:Object.values(Cs.graphics.multiple),visualMap:{color:Object.values(Cs.graphics.depth).reverse()},axes:[{type:"all",name:"通用坐标轴",axisLineColor:"#97999D",axisTickColor:"#97999D",axisLabelShow:!0,axisLabelColor:"#818388",splitLineShow:!0,splitLineColor:["#E0E6F1"]}]})}function xa(){Cd()}function*Sd(t){const e=Cs.graphics[t];if(!e)throw new Error("Invalid palette key provided");const n=Object.values(e);let r=0;for(;;)yield n[r%n.length],r++}function ga(){return{filters:{},context:{}}}function Ss(t){const e=ga();if(!t)return ga();const{filters:n=e.filters,context:r=e.context}=t;return{filters:n,context:r}}class je extends g.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){this.setState({error:e})}render(){var e;if(this.state.error){const n=()=>{this.setState({error:null})};return s.jsxs(a.Box,{children:[s.jsx(a.Text,{size:"xs",children:(e=this.state.error)==null?void 0:e.message}),s.jsx(a.Button,{variant:"subtle",size:"xs",mx:"auto",compact:!0,sx:{display:"block"},onClick:n,children:"Retry"})]})}return this.props.children}}function kd(t,e={handleError:!0}){return n=>s.jsx(je,{...e,children:s.jsx(t,{...n})})}function Td(t,e){return new Function(`return ${t}`)()(e,ot)}function Dd(t,e,n){return Td(t,{context:e,filters:n})}function zd(t,e){try{return new Function(`return ${t.config.processing.pre}`)()(e,ot)}catch(n){return console.error(n),e}}function Md(t,e){return new Function(`return ${t.config.processing.post}`)()(e,ot)}function Id(t,e,n){return t?new Function(`return ${t}`)()(e,ot,n):e}function ma(){Bi.use([xu.CanvasRenderer,Ze.BarChart,Ze.BoxplotChart,Ze.CustomChart,Ze.FunnelChart,Ze.HeatmapChart,Ze.LineChart,Ze.PieChart,Ze.RadarChart,Ze.ScatterChart,Ze.SunburstChart,gt.CalendarComponent,gt.DataZoomComponent,gt.GridComponent,gt.LegendComponent,gt.TooltipComponent,gt.MarkLineComponent,gt.MarkAreaComponent,gt.VisualMapComponent])}const qt=t=>y.cloneDeepWith(t,(e,n)=>{if(n!==void 0&&e)return K.toJS(e)}),Dn={sqlSnippet:new RegExp("(?<=sql_snippets\\.)([^\\?}.]+)","gm"),context:new RegExp("(?<=context\\.)([^\\?}.]+)","gm"),filter:new RegExp("(?<=filters\\.)([^\\?}.]+)","gm")};function Ed(t,e){const n=qi.decode(e);n!==t&&(console.error("Inconsistent sql"),console.groupCollapsed("Inconsistent sql"),console.table({before:t,after:e,v:n}),console.groupEnd())}async function Ad({query:t,name:e,payload:n,additionals:r},i){if(!t.sql)return[];const{type:o,key:l,sql:c,pre_process:u,post_process:d}=t,p=bs(c,n),h=ad({sql:p,pre_process:u}),x=qi.encode(h);Ed(h,x);let m=await He.query(i)({type:o,key:l,query:x,...r},{params:{name:e}});return m=od(d,m,Ss(n)),m}async function Pd({type:t,key:e,configString:n,name:r,additionals:i},o){try{return await He.httpDataSourceQuery(o)({type:t,key:e,query:n,...i},{params:{name:r}})}catch(l){if(it.isCancel(l))throw l;return console.error(l),l}}async function ks(){try{return(await He.post()("/datasource/list",{filter:{},sort:[{field:"create_time",order:"ASC"}],pagination:{page:1,pagesize:100}},{})).data}catch(t){return console.error(t),[]}}async function fa(){try{return(await He.post()("/sql_snippet/list",{filter:{},sort:[{field:"id",order:"ASC"}],pagination:{page:1,pagesize:1e3}},{})).data}catch(t){return console.error(t),[]}}class ya{constructor(e){$(this,"rootRef");this.rootRef=K.observable({current:e})}async deleteItem(e){K.runInAction(()=>{y.unset(this.rootRef.current,[e])})}getItem(e){const n=this.getValueFromRoot(e);return Promise.resolve(n)}getValueFromRoot(e){return e===null?K.toJS(this.rootRef.current):y.get(this.rootRef.current,[e])}setItem(e,n){if(e===null)if(y.isObject(n))K.runInAction(()=>{this.rootRef.current=n});else throw new Error("Cannot set root value to non-object");else K.runInAction(()=>{y.set(this.rootRef.current,[e],n)});return Promise.resolve(this.getItem(e))}watchItem(e,n,r){return K.reaction(()=>this.getValueFromRoot(e),(i,o)=>{n(i,o)},{requiresObservable:!0,fireImmediately:y.get(r,"fireImmediately",!1)})}}class $d{constructor(){$(this,"channels",new Map);$(this,"globalChannel",new Oi)}getChannel(e){const n=this.channels.get(e);if(n)return n;const r=new Oi;return this.channels.set(e,r),r}}class Ld{constructor(e){$(this,"instances",new Map);this.pluginManager=e}get availableVizList(){return this.pluginManager.installedPlugins.flatMap(e=>e.manifest.viz)}resolveComponent(e){return this.pluginManager.factory.viz(e)}getOrCreateInstance(e){const n=this.instances.get(e.id);if(n)return n;const r={id:e.id,name:e.viz.type,type:e.viz.type,messageChannels:new $d,instanceData:new ya(e.viz.conf)};return this.instances.set(e.id,r),r}}function ba(t,e,n,r){return{vizManager:n,locale:"zh",msgChannels:t.messageChannels,instanceData:t.instanceData,pluginData:new ya({}),colorPalette:{getColor(){return()=>""}},data:e,variables:r}}const Bd=t=>{const{panel:e,measure:n,vizManager:r,data:i,variables:o}=t,l=r.resolveComponent(e.viz.type),c=r.getOrCreateInstance(e),u={...ba(c,i,r,o),viewport:{width:n.w,height:n.h}},d=l.viewRender;return s.jsx(d,{context:u,instance:c,...y.omit(t,["panel","vizManager","data"])})},qd=t=>{const{vizManager:e,panel:n,data:r,variables:i}=t,o=e.resolveComponent(n.viz.type),l=e.getOrCreateInstance(n),c={...ba(l,r,e,i)},u=o.configRender;return s.jsx(u,{context:c,instance:l,...y.omit(t,["panel","vizManager","data"])})},va=(t,e)=>{const n=at.bezier(t),r=at.bezier(e);return function(i){return i<50?n(i*2/100).hex():r((i-50)*2/100).hex()}},zn=t=>{const e=at.bezier(t);return function(n){return e(n/100).hex()}},Od={type:"interpolation",displayName:"style.color.interpolation.palette.red_green",getColor:va(["darkred","deeppink","lightyellow"],["lightyellow","lightgreen","teal"]),name:"red-green",category:"diverging"},Vd={type:"interpolation",displayName:"style.color.interpolation.palette.yellow_blue",getColor:va(["#8f531d","#ffd347","#e3efe3"],["#eefaee","#4ecbbf","#003f94"]),name:"yellow-blue",category:"diverging"},Nd={type:"interpolation",displayName:"style.color.interpolation.palette.red",getColor:zn(["#fff7f1","darkred"]),name:"red",category:"sequential"},Fd={type:"interpolation",displayName:"style.color.interpolation.palette.green",getColor:zn(["#f0ffed","darkgreen"]),name:"green",category:"sequential"},Gd={type:"interpolation",displayName:"style.color.interpolation.palette.blue",getColor:zn(["#f9fcff","#48b3e9","darkblue"]),name:"blue",category:"sequential"},Wd={type:"interpolation",displayName:"style.color.interpolation.palette.orange",getColor:zn(["#fff7f1","darkorange","#b60000"]),name:"orange",category:"sequential"};class Qd{constructor(e){$(this,"symbol");this.symbol=Symbol(e)}}function ct(t){return new Qd(t)}class Ts{constructor(){$(this,"parent");$(this,"factoryRegistry",new Map);$(this,"instanceRegistry",new Map)}createScoped(){const e=new Ts;return e.parent=this,e}getRequired(e){return this.get(e)}get(e){if(this.instanceRegistry.has(e.symbol))return this.instanceRegistry.get(e.symbol);const n=this.factoryRegistry.get(e.symbol);if(n){const r=n(this);return this.instanceRegistry.set(e.symbol,r),r}if(this.parent)return this.parent.get(e)}provideFactory(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,n),this}provideValue(e,n){return this.factoryRegistry.has(e.symbol)?console.warn(`Token ${e.symbol.toString()} is already registered`):this.factoryRegistry.set(e.symbol,()=>n),this}dispose(){this.instanceRegistry.forEach(e=>{const n=y.get(e,"dispose");y.isFunction(n)&&n.bind(e)()}),this.instanceRegistry.clear(),this.factoryRegistry.clear()}}const ja="12.11.0",Rd=Object.freeze(Object.defineProperty({__proto__:null,version:ja},Symbol.toStringTag,{value:"Module"}));class Yd{constructor(e){$(this,"staticColors",new Map);$(this,"interpolations",new Map);e.installedPlugins.forEach(n=>{n.manifest.color.forEach(r=>{this.register(r)})})}getStaticColors(){return Array.from(this.staticColors.values())}register(e){const n=this.encodeColor(e);e.type==="single"?(this.staticColors.has(n)&&console.warn(`the color '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.staticColors.set(n,e)):e.type==="interpolation"&&(this.interpolations.has(n)&&console.warn(`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`,`the interpolation '${e.name}' has been registered under '${e.category}', previous registered value will be overridden`),this.interpolations.set(n,e))}decodeStaticColor(e){return this.staticColors.get(e)}encodeColor(e){return`\${${e.category}}.{${e.name}}`}decodeInterpolation(e){return this.interpolations.get(e)}getColorInterpolations(){return Array.from(this.interpolations.values())}}class Ud{constructor(){$(this,"plugins",new Map);$(this,"vizComponents",new Map);$(this,"factory",{viz:e=>{const n=this.vizComponents.get(e);if(n)return n;throw new Error(`Viz Component (${e}) not found`)}})}install(e){if(this.plugins.has(e.id))throw new Error(`Plugin (${e.id}) has been installed before`);this.plugins.set(e.id,e);for(const n of e.manifest.viz){if(this.vizComponents.has(n.name))throw new Error(`Viz Component (${n.name}) has been installed before`);this.vizComponents.set(n.name,n)}}get installedPlugins(){return Array.from(this.plugins.values())}}class Kd{constructor(){$(this,"migrations",[])}version(e,n){return this.migrations.push({version:e,handler:n}),this}run(e,n,r){var l;if(e.from===e.to)return n;if(e.from>e.to)throw new Error(`Can not downgrade from version '${e.from}' to (${e.to})`);const i=this.migrations.filter(c=>c.version>e.from&&c.version<=e.to),o=y.orderBy(i,"version","asc");if(((l=y.last(o))==null?void 0:l.version)!==e.to)throw new Error(`Migration to version ${e.to} not found`);return o.reduce((c,u)=>u.handler(c,r),n)}}class oe extends Kd{constructor(){super(),this.configVersions()}version(e,n){return super.version(e,(r,i)=>({version:e,...n(r,i)}))}async migrate({configData:e,panelModel:n}){const r=await e.getItem(null),i=y.get(r,"version",0),o=this.run({from:i,to:this.VERSION},r,{panelModel:n});await e.setItem(null,o)}async needMigration({configData:e}){const n=await e.getItem(null);return y.get(n,"version",0)<this.VERSION}}const O=(t,e)=>{const[n,{setFalse:r}]=N.useBoolean(!0),[i,o]=g.useState();g.useEffect(()=>(t.getItem(e).then(c=>{o(c),r()}),t.watchItem(e,c=>{o(c)})));const l=g.useCallback(async c=>{await t.setItem(e,c),o(c)},[t,e]);return{loading:n,value:i,set:l}},De={top:16,right:16,bottom:16,left:16},Ye=t=>Math.max(0,t-De.left-De.right),Ue=t=>Math.max(0,t-De.top-De.bottom),rn=(t,e)=>({width:Ye(t),height:Ue(e)}),ze=({width:t,height:e,children:n})=>s.jsx(a.Box,{pt:De.top,pr:De.right,pb:De.bottom,pl:De.left,sx:{width:t,height:e,overflow:"hidden",position:"relative"},children:n}),Ds={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 Jd({context:t}){const{value:e}=O(t.instanceData,"config"),n=t.data,{width:r,height:i}=t.viewport,{x_axis_data_key:o,y_axis_data_key:l,z_axis_data_key:c,xAxis3D:u,yAxis3D:d,zAxis3D:p}=y.defaults({},e,Ds),h=g.useMemo(()=>nn(n,o),[n,o]),{x,y:m,z:v}=g.useMemo(()=>({x:A(o),y:A(l),z:A(c)}),[o,l,c]),{min:C,max:k}=g.useMemo(()=>{const E=y.minBy(h,G=>G[v.columnKey]),B=y.maxBy(h,G=>G[v.columnKey]);return{min:y.get(E,v.columnKey),max:y.get(B,v.columnKey)}},[h,v]),D={tooltip:{},backgroundColor:"#fff",visualMap:{show:!0,dimension:2,min:C,max:k,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(E=>[E[x.columnKey],E[m.columnKey],E[v.columnKey]])}]};return e?s.jsx(ze,{width:r,height:i,children:s.jsx(Se,{echarts:ve,option:D,style:rn(r,i),notMerge:!0,theme:"merico-light"})}):null}const _a=g.createContext(null),zs=_a.Provider;function Ms(){const t=g.useContext(_a);if(!t)throw new Error("Please use DashboardModelContextProvider");return t}const X=()=>Ms(),wa=()=>Ms(),Ca=g.createContext({searchButtonProps:{}}),Is=Ca.Provider;function Sa(){return g.useContext(Ca)}const ka=g.createContext(null),Es=ka.Provider;function Ta(){const t=g.useContext(ka);if(!t)throw new Error("Please use ContentModelContextProvider");return t}const Q=()=>Ta(),ue=()=>Ta(),Xd={inEditMode:!1},Mn=g.createContext(Xd),Da=g.createContext({panel:null,data:{},loading:!1,errors:[],downloadPanelScreenshot:()=>{}}),As=Da.Provider;function za(){const t=g.useContext(Da);if(!t.panel)throw new Error("Please use PanelContextProvider");return t}const vt=()=>za(),qe=()=>za(),Zd={fullScreenPanelID:"",setFullScreenPanelID:y.noop},Ps=g.createContext(Zd);function Ma(){const t=g.useContext(Ps);if(!t)throw new Error("Please use FullScreenPanelContext.Provider");return t}const Hd={en:"en",zh:"zh-cn"};function $s({children:t}){const{i18n:e}=j.useTranslation(),n=g.useMemo(()=>{const r=e.language;return Hd[r]??"en"},[e.language]);return s.jsx(Vi.DatesProvider,{settings:{locale:n,firstDayOfWeek:1},children:t})}const q=S.observer(g.forwardRef(({label:t,required:e,description:n,value:r,onChange:i,clearable:o=!1,sx:l,...c},u)=>{const{panel:d}=qe(),p=g.useMemo(()=>d.dataFieldOptions(r,o),[r,o]);if(p.length===0){const h=d.explainDataKey(r);return s.jsxs(a.HoverCard,{shadow:"md",position:"bottom-start",withinPortal:!0,zIndex:320,children:[s.jsx(a.HoverCard.Target,{children:s.jsx(a.Box,{children:s.jsx(a.TextInput,{label:t,required:e,defaultValue:h.columnKey,readOnly:!0,disabled:!0})})}),s.jsx(a.HoverCard.Dropdown,{children:s.jsxs(a.Group,{position:"left",spacing:0,children:[s.jsx(a.Text,{size:"xs",color:h.queryName?"black":"red",sx:{fontFamily:"monospace"},children:h.queryName??h.queryID}),s.jsx(a.Text,{size:"xs",color:"black",sx:{fontFamily:"monospace"},children:"."}),s.jsx(a.Text,{size:"xs",color:"red",sx:{fontFamily:"monospace"},children:h.columnKey})]})})]})}return s.jsx(a.Select,{ref:u,label:t,description:n,data:p,value:r,onChange:i,required:e,sx:l,maxDropdownHeight:500,...c})}));function ep({context:t}){const{value:e,set:n}=O(t.instanceData,"config"),r=y.defaults({},e,Ds),{control:i,handleSubmit:o,reset:l}=b.useForm({defaultValues:r});return g.useEffect(()=>{l(r)},[e]),e?s.jsx(a.Stack,{spacing:"xs",children:s.jsxs("form",{onSubmit:o(n),children:[s.jsx(a.Text,{children:"X Axis"}),s.jsxs(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"x_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"xAxis3D.name",control:i,render:({field:c})=>s.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(a.Text,{mt:"lg",children:"Y Axis"}),s.jsxs(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"y_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"yAxis3D.name",control:i,render:({field:c})=>s.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(a.Text,{mt:"lg",children:"Z Axis"}),s.jsxs(a.Group,{position:"apart",grow:!0,p:"md",sx:{position:"relative",border:"1px solid #eee"},children:[s.jsx(b.Controller,{name:"z_axis_data_key",control:i,render:({field:c})=>s.jsx(q,{label:"Data Field",required:!0,...c})}),s.jsx(b.Controller,{name:"zAxis3D.name",control:i,render:({field:c})=>s.jsx(a.TextInput,{sx:{flexGrow:1},size:"md",label:"Name",...c})})]}),s.jsx(a.Group,{position:"center",mt:"xl",grow:!0,sx:{width:"60%"},mx:"auto",children:s.jsxs(a.Button,{color:"blue",type:"submit",children:[s.jsx(z.DeviceFloppy,{size:20}),s.jsx(a.Text,{ml:"md",children:"Save"})]})})]})}):null}const tp=[{lang:"en",resources:{bar_chart_3d:{viz_name:"Bar Chart(3D)"}}},{lang:"zh",resources:{bar_chart_3d:{viz_name:"柱图(3D)"}}}];function np(t,{panelModel:e}){try{const n=e.queryIDs[0];if(!n)throw new Error("cannot migrate when queryID is empty");const r=u=>u&&`${n}.${u}`,{x_axis_data_key:i,y_axis_data_key:o,z_axis_data_key:l,...c}=t;return{...c,x_axis_data_key:r(i),y_axis_data_key:r(o),z_axis_data_key:r(l)}}catch(n){throw console.error("[Migration failed]",n),n}}class sp extends oe{constructor(){super(...arguments);$(this,"VERSION",2)}configVersions(){this.version(1,n=>({version:1,config:n})),this.version(2,(n,r)=>{const{config:i}=n;return{...n,version:2,config:np(i,r)}})}}const rp={displayName:"viz.bar_chart_3d.viz_name",displayGroup:"chart.groups.echarts_based_charts",migrator:new sp,name:"bar-3d",viewRender:Jd,configRender:ep,createConfig(){return{version:2,config:y.cloneDeep(Ds)}},translation:tp},ip=({disabled:t,value:e,onChange:n})=>{const r=i=>{i&&n(i)};return s.jsxs(a.Box,{sx:{position:"relative"},children:[t&&s.jsx(a.Overlay,{opacity:.6,color:"#fff",zIndex:5,blur:2}),s.jsx(Ae,{height:"500px",defaultLanguage:"javascript",value:e,onChange:r,theme:"vs-dark",options:{minimap:{enabled:!1},readOnly:t}})]})};function Me({enabled:t,func_content:e}){return(n,r)=>{if(!t)return n;try{return new Function(`return ${e}`)()(n,r)}catch(i){return console.error(`[getEchartsXAxisLabel] failed parsing custom function, error: ${i.message}`),n}}}function _e(){return{enabled:!1,func_content:["function label(value, index) {"," // your code goes here"," // return value","}"].join(`
|
|
57
57
|
`)}}const Ke=g.forwardRef(({value:t,onChange:e,triggerButtonText:n},r)=>{const{t:i}=j.useTranslation(),[o,{setTrue:l,setFalse:c}]=N.useBoolean(),[u,d]=g.useState(t);g.useEffect(()=>{d(t)},[t]);const p=k=>{d({...u,enabled:k})},h=()=>{c();const{enabled:k,func_content:D}=u,E={enabled:k,func_content:D};d(E),e(E)},x=()=>{c(),d(t)},m=k=>{d(D=>({...D,func_content:k}))},v=()=>{m(_e().func_content)},C=n??i("chart.axis.customize_label");return s.jsxs(s.Fragment,{children:[s.jsx(a.Button,{variant:"filled",color:"grape",leftIcon:s.jsx(T.IconMathFunction,{size:16}),mt:24,onClick:l,sx:{flexGrow:0},children:C}),s.jsx(a.Modal,{size:800,title:C,opened:o,onClose:c,closeOnClickOutside:!1,withCloseButton:!1,zIndex:320,children:o&&s.jsxs(a.Stack,{children:[s.jsx(a.Checkbox,{mt:10,label:i("common.enabled"),checked:u.enabled,onChange:k=>p(k.currentTarget.checked)}),s.jsx(ip,{value:u.func_content,onChange:m,disabled:!u.enabled}),s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Button,{onClick:v,color:"red",leftIcon:s.jsx(z.Recycle,{size:20}),children:i("common.actions.reset_to_default")}),s.jsxs(a.Group,{position:"right",children:[s.jsx(a.Button,{onClick:x,variant:"subtle",children:i("common.actions.cancel")}),s.jsx(a.Button,{color:"green",leftIcon:s.jsx(T.IconDeviceFloppy,{size:16}),onClick:h,children:i("common.actions.save")})]})]})]})})]})}),St={x_axis_scroll:!1,y_axis_scroll:!1,x_axis_slider:!1,y_axis_slider:!1};function Ia(){return y.cloneDeep(St)}const ap=[{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:"点击箱体、散点或异常点"}}}}],Ea={id:"builtin:echarts:click-echart:series",displayName:"viz.boxplot.click_series.label",nameRender:lp,configRender:op,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 op(t){return s.jsx(s.Fragment,{})}function lp(t){const{t:e}=j.useTranslation();return s.jsx(a.Text,{children:e("viz.boxplot.click_series.label")})}const In=g.forwardRef(({sectionTitle:t,value:e,onChange:n},r)=>{const{t:i,i18n:o}=j.useTranslation(),l=u=>d=>{const p=y.cloneDeep(e);y.set(p,u,d),n(p)},c=g.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 s.jsxs(a.Stack,{spacing:0,children:[t&&s.jsx(a.Divider,{mb:-5,mt:5,variant:"dotted",label:t,labelPosition:"right",labelProps:{color:"dimmed"}}),s.jsxs(a.Group,{grow:!0,noWrap:!0,children:[s.jsx(a.NumberInput,{label:i("chart.axis.overflow.max_width"),hideControls:!0,value:e.width,onChange:l("width")}),s.jsx(a.Select,{label:i("chart.axis.overflow.label"),data:c,value:e.overflow,onChange:l("overflow")}),s.jsx(a.TextInput,{label:i("chart.axis.overflow.ellipsis"),value:e.ellipsis,disabled:!0})]})]})}),Je=g.forwardRef(({value:t,onChange:e},n)=>{const{t:r}=j.useTranslation(),i=l=>{e({...t,on_axis:l})},o=l=>{e({...t,in_tooltip:l})};return s.jsxs(a.Stack,{ref:n,spacing:0,children:[s.jsx(In,{sectionTitle:r("chart.axis.overflow.section_title.on_axis"),value:t.on_axis,onChange:i}),s.jsx(In,{sectionTitle:r("chart.axis.overflow.section_title.in_tooltip"),value:t.in_tooltip,onChange:o})]})});function Ie(){return{on_axis:{width:80,overflow:"truncate",ellipsis:"..."},in_tooltip:{width:200,overflow:"break",ellipsis:"..."}}}function Oe({overflow:t,width:e}){const n={truncate:"initial",break:"break-all",breakAll:"break-word"}[t],r=t==="truncate"?"nowrap":"initial",i={truncate:"ellipsis",break:"clip",breakAll:"clip"}[t];return`
|
|
58
58
|
max-width: ${e}px;
|
|
59
59
|
word-break: ${n};
|
|
@@ -461,7 +461,7 @@ Check the top-level render call using <`+P+">.")}return M}}function lu(w,M){{if(
|
|
|
461
461
|
parent_value: string;
|
|
462
462
|
description?: string;
|
|
463
463
|
}
|
|
464
|
-
`,Kk=()=>{const{t}=j.useTranslation(),[e,n]=g.useState(!1);return s.jsxs(s.Fragment,{children:[s.jsx(a.Button,{variant:"subtle",compact:!0,onClick:()=>n(r=>!r),children:t(e?"common.actions.close":"filter.widget.common.see_data_structure")}),s.jsx(a.Collapse,{in:e,children:s.jsx(ft.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:Uk})})]})},Jk=S.observer(function({filter:e}){const{t:n}=j.useTranslation(),r=e.config;return s.jsxs(s.Fragment,{children:[s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Checkbox,{checked:r.required,onChange:i=>r.setRequired(i.currentTarget.checked),label:n("filter.widget.select.required")}),s.jsx(Ut,{filter:e})]}),s.jsx(a.TextInput,{label:n("filter.widget.common.min_width"),value:r.min_width,onChange:i=>r.setMinWidth(i.currentTarget.value),placeholder:"200px"}),s.jsx(a.Divider,{label:n("filter.widget.common.fetch_options_from_datasource"),labelPosition:"center"}),s.jsx(a.Checkbox,{checked:r.treeCheckStrictly,onChange:i=>r.setTreeCheckStrictly(i.currentTarget.checked),label:n("filter.widget.tree_select.strictly")}),s.jsx(a.NumberInput,{value:r.default_selection_count,onChange:r.setDefaultSelectionCount,label:n("filter.widget.common.default_selection_count")}),s.jsx(vi,{value:r.options_query_id,onChange:r.setOptionsQueryID}),s.jsx(Kk,{})]})}),Xk=S.observer(function({filter:e}){const{t:n}=j.useTranslation();return s.jsxs(a.Box,{sx:{maxWidth:"480px"},children:[s.jsx(a.Text,{pt:"0",pb:"md",color:"gray",children:n("common.titles.config")}),s.jsx(ft.Prism,{mt:22,language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(e,null,4)})]})}),Zk={select:Rk,"multi-select":Qk,"tree-select":Jk,"text-input":Yk,checkbox:Nk,"date-range":Gk},At={select:"filter.widget.names.select","multi-select":"filter.widget.names.multi_select","tree-select":"filter.widget.names.tree_select","text-input":"filter.widget.names.text_input",checkbox:"filter.widget.names.checkbox","date-range":"filter.widget.names.date_range"},Hk=S.observer(function({filter:e}){const{t:n,i18n:r}=j.useTranslation(),i=Q(),o=g.useMemo(()=>Zk[e.type],[e.type]),l=g.useMemo(()=>[{label:n(At.select),value:"select"},{label:n(At["multi-select"]),value:"multi-select"},{label:n(At["tree-select"]),value:"tree-select"},{label:n(At["text-input"]),value:"text-input"},{label:n(At.checkbox),value:"checkbox"},{label:n(At["date-range"]),value:"date-range"}],[r.language]);return s.jsxs(a.Group,{grow:!0,spacing:20,align:"top",children:[s.jsxs(a.Box,{sx:{maxWidth:"600px"},children:[s.jsx(a.Text,{pb:"md",color:"gray",children:n("common.titles.edit")}),s.jsxs(a.Stack,{children:[s.jsxs(a.Group,{noWrap:!0,children:[s.jsx(a.NumberInput,{label:n("filter.field.order"),required:!0,value:e.order,onChange:e.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),e.auto_submit_supported&&s.jsx(a.Checkbox,{label:n("filter.field.auto_submit"),checked:e.auto_submit,onChange:c=>e.setAutoSubmit(c.currentTarget.checked),mt:22})]}),s.jsx(a.MultiSelect,{label:n("filter.field.visible_in"),data:i.views.options,value:[...e.visibleInViewsIDs],onChange:e.setVisibleInViewsIDs}),s.jsx(a.TextInput,{label:n("common.key"),placeholder:n("filter.field.key_placeholder"),required:!0,value:e.key,onChange:c=>{e.setKey(c.currentTarget.value)}}),s.jsx(a.TextInput,{label:n("common.label"),placeholder:n("filter.field.label_placeholder"),required:!0,value:e.label,onChange:c=>{e.setLabel(c.currentTarget.value)}}),s.jsx(a.Select,{label:n("filter.field.widget"),data:l,required:!0,value:e.type,onChange:e.setType,maxDropdownHeight:500}),s.jsx(a.Divider,{mb:0,mt:10,variant:"dashed",labelPosition:"center"}),s.jsx(o,{filter:e})]})]}),s.jsx(Xk,{filter:e})]})}),eT=S.observer(({id:t})=>{const{t:e}=j.useTranslation(),n=Le.useModals(),r=X(),i=Q();if(t==="")return null;const o=i.filters.findByID(t);if(!o)return s.jsxs(a.Text,{size:14,children:["Filter by ID[",t,"] is not found"]});const l=()=>{r.editor.setPath(["_FILTERS_",""])},c=()=>{n.openConfirmModal({title:`${e("filter.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.filters.removeByID(t),l()},confirmProps:{color:"red"},zIndex:320})};return s.jsxs(a.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[s.jsx(a.Group,{position:"right",pt:10,children:s.jsx(a.Button,{size:"xs",color:"red",leftIcon:s.jsx(z.Trash,{size:16}),onClick:c,children:e("filter.delete")})}),s.jsx(a.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s.jsx(Hk,{filter:o})})]})}),tT=S.observer(()=>{const{t}=j.useTranslation(),[e,n]=g.useState([]),r=X(),i=d=>{r.editor.setPath(["_FILTERS_",d])},o=()=>{r.content.filters.downloadSchema(e)},l=g.useMemo(()=>r.content.filters.sortedList.map(d=>d.id),[r.content.filters.sortedList]),c=()=>{n(l)},u=()=>{n([])};return s.jsxs(a.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[s.jsx(a.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(a.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:t("filter.manage")})}),s.jsx(a.Flex,{justify:"space-between",align:"center",px:12,children:s.jsxs(a.Group,{position:"left",children:[s.jsxs(a.Button.Group,{children:[s.jsx(a.Button,{variant:"default",size:"xs",onClick:c,children:t("common.actions.select_all")}),s.jsx(a.Button,{variant:"default",size:"xs",onClick:u,children:t("common.actions.clear_selection")})]}),s.jsx(a.Button,{size:"xs",color:"blue",leftIcon:s.jsx(T.IconCode,{size:14}),disabled:e.length===0,onClick:o,children:t("common.actions.download_schema")})]})}),s.jsx(a.Box,{sx:{flexGrow:1,overflow:"auto"},children:s.jsx(a.Checkbox.Group,{size:"xs",value:e,onChange:n,children:s.jsxs(a.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:"40px"}}),s.jsx("th",{style:{width:"300px"},children:t("common.label")}),s.jsx("th",{children:t("common.key")}),s.jsx("th",{style:{width:"100px"},children:t("filter.field.widget")}),s.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:t("common.action")})]})}),s.jsx("tbody",{children:r.content.filters.sortedList.map(d=>s.jsxs("tr",{children:[s.jsx("td",{children:s.jsx(a.Checkbox,{value:d.id,styles:{input:{cursor:"pointer"}}})}),s.jsx("td",{children:d.label}),s.jsx("td",{children:d.key}),s.jsx("td",{children:t(At[d.type])}),s.jsx("td",{children:s.jsx(a.Button,{variant:"subtle",size:"xs",onClick:()=>i(d.id),children:t("common.actions.open")})})]},d.id))})]})})})]})}),nT=S.observer(()=>{const{t}=j.useTranslation(),e=Q(),[n,r]=g.useState(()=>JSON.stringify(e.mock_context.current,null,4)),i=()=>{try{e.mock_context.replace(JSON.parse(n))}catch(l){mt.showNotification({title:"Failed",message:l.message,color:"red"})}},o=g.useMemo(()=>{try{return JSON.stringify(JSON.parse(n))!==JSON.stringify(e.mock_context.current)}catch{return!1}},[n,e.mock_context.current]);return s.jsxs(a.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[s.jsx(a.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:s.jsx(a.Text,{weight:500,children:t("mock_context.label")})}),s.jsxs(a.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[s.jsxs(a.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[s.jsx(a.Text,{children:t("mock_context.hint")}),s.jsx(a.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:n,onChange:r,sx:{flexGrow:1}})]}),s.jsx(a.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!o,onClick:i,children:s.jsx(z.DeviceFloppy,{size:20})})]})]})}),sT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe();return s.jsx(yr,{label:t("panel.panel_description"),value:e.description,onChange:e.setDescription,styles:{root:{flexGrow:1}}})}),rT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe(),n=ue().layouts.findItemByPanelID(e.id),{style:r}=e;return s.jsxs(s.Fragment,{children:[s.jsx(a.Divider,{mb:-10,label:t("panel.style.label"),labelPosition:"center",variant:"dashed"}),s.jsxs(a.Stack,{spacing:20,children:[s.jsxs(a.Group,{grow:!0,align:"top",children:[s.jsx(a.NumberInput,{label:t("panel.style.width"),min:1,max:36,step:1,precision:0,rightSection:s.jsx(a.Text,{size:12,children:t("panel.style.width_postfix")}),styles:{rightSection:{width:"auto",maxWidth:"100px",paddingRight:"14px",justifyContent:"flex-end"}},value:n.w,onChange:i=>{i&&n.setWidth(i)}}),s.jsx(a.NumberInput,{label:t("panel.style.height"),rightSection:s.jsx(a.Text,{size:12,children:t("panel.style.height_postfix")}),styles:{rightSection:{width:"40px"}},value:n.h,onChange:i=>{i&&n.setHeight(i)}})]}),s.jsx(a.Checkbox,{ml:6,label:t("panel.style.border"),checked:r.border.enabled,onChange:i=>r.border.setEnabled(i.currentTarget.checked)})]})]})}),iT=()=>s.jsxs("span",{className:"mantine-103svbs mantine-InputWrapper-required mantine-Select-required","aria-hidden":"true",children:[" ","*"]}),aT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe(),{name:n}=e,[r,i]=ie.useInputState(n),o=n!==r,l=g.useCallback(()=>{o&&e.setName(r)},[o,r]);g.useEffect(()=>{i(n)},[n]);const c=!r.trim();return s.jsxs(a.Stack,{spacing:4,children:[s.jsxs(a.Group,{align:"center",children:[s.jsxs(a.Text,{size:14,fw:500,children:[t("panel.panel_name"),s.jsx(iT,{})]}),s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",disabled:!o||c,onClick:l,children:s.jsx(T.IconDeviceFloppy,{size:18})})]}),s.jsx(a.TextInput,{value:r,onChange:i,required:!0})]})}),oT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe();return s.jsx(a.Stack,{spacing:6,mb:10,children:s.jsxs(a.Group,{pl:6,position:"left",spacing:20,children:[s.jsx(a.Checkbox,{size:"sm",checked:e.title.show,onChange:n=>e.title.setShow(n.currentTarget.checked),label:t("panel.show_title"),sx:{userSelect:"none"}}),s.jsx(a.Checkbox,{size:"sm",checked:!0,disabled:!0,label:t("panel.use_name_as_title")})]})})});function lT(){const{t}=j.useTranslation();return s.jsxs(a.Stack,{sx:{height:"100%"},children:[s.jsx(rT,{}),s.jsx(a.Divider,{label:t("common.info"),labelPosition:"center",variant:"dashed"}),s.jsx(aT,{}),s.jsx(oT,{}),s.jsx(sT,{})]})}const cT={width:"fit-content",minWidth:"100%",tableLayout:"fixed",tr:{width:"fit-content"},th:{position:"relative"},"th, td":{wordBreak:"break-word"},".resizer":{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",cursor:"col-resize",userSelect:"none",touchAction:"none"},".resizer.isResizing":{color:"#228be6",opacity:"1"},"@media (hover: hover)":{".resizer":{opacity:"0"},"*:hover > .resizer":{color:"#228be6",opacity:"1"}}};function Ec({data:t}){const e=g.useMemo(()=>{if(!Array.isArray(t)||t.length===0)return[];const r=Re.createColumnHelper();return Object.keys(t[0]).map(i=>r.accessor(i,{cell:o=>o.getValue()}))},[t]),n=Re.useReactTable({data:t,columns:e,columnResizeMode:"onChange",getCoreRowModel:Re.getCoreRowModel()});return t.length===0?s.jsx(a.Box,{sx:{height:"5em"}}):s.jsx(je,{children:s.jsxs(a.Table,{sx:cT,children:[s.jsx("thead",{children:n.getHeaderGroups().map(r=>s.jsx("tr",{children:r.headers.map(i=>s.jsxs("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Re.flexRender(i.column.columnDef.header,i.getContext()),s.jsx(a.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:s.jsx(z.ArrowBarToRight,{})})]},i.id))},r.id))}),s.jsx("tbody",{children:n.getRowModel().rows.map(r=>s.jsx("tr",{children:r.getVisibleCells().map(i=>s.jsx("td",{children:s.jsx(je,{children:Re.flexRender(i.column.columnDef.cell,i.getContext())})},i.id))},r.id))})]})})}const uT=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],dT={icon:{width:"80px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"80px"}}},pT=({data:t,page:e,setPage:n,limit:r,setLimit:i})=>{const{t:o}=j.useTranslation(),l=t.length,c=Math.ceil(l/r),u=p=>{n(1),i(Number(p))};if(l===0)return null;const d=c===1&&l<=10;return s.jsxs(a.Group,{pt:10,px:10,position:"apart",children:[s.jsxs(a.Group,{position:"left",children:[c>1&&s.jsx(a.Pagination,{size:"sm",value:e,onChange:n,total:c,withEdges:c>7,styles:{control:{height:"30px"}}}),!d&&s.jsx(a.Select,{icon:s.jsx(a.Text,{ta:"center",color:"dimmed",size:14,children:o("common.pagination.page_size")}),size:"xs",styles:dT,data:uT,value:String(r),onChange:u})]}),s.jsx(a.Group,{position:"right",children:s.jsx(a.Text,{color:"dimmed",my:0,size:14,children:o("common.pagination.total_rows",{total:l})})})]})},hT=kd(({data:t,loading:e})=>{const[n,r]=g.useState(1),[i,o]=g.useState(20),l=g.useMemo(()=>{const c=(n-1)*i,u=c+i;return t.slice(c,u)},[t,n,i]);return s.jsxs(je,{children:[s.jsx(pT,{data:t,page:n,setPage:r,limit:i,setLimit:o}),s.jsxs(a.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[s.jsx(a.LoadingOverlay,{visible:e,overlayBlur:2}),s.jsx(Ec,{data:l})]})]})}),xT=({queryID:t})=>{const e=ue(),{state:n,error:r}=e.getDataStuffByID(t),i=g.useMemo(()=>e.queries.findByID(t),[e,t]);return n==="loading"?null:r?s.jsx(a.Text,{mt:10,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:r}):i!=null&&i.stateMessage?s.jsx(a.Text,{mt:10,color:"gray",align:"center",children:i.stateMessage}):null},ji=S.observer(({id:t,moreActions:e,refreshOnMount:n})=>{const{t:r}=j.useTranslation(),i=ue(),{data:o,state:l}=i.getDataStuffByID(t),c=l==="loading",u=g.useCallback(()=>{i.queries.refetchDataByQueryID(t)},[t,i]),d=()=>{i.queries.downloadDataByQueryID(t)};g.useEffect(()=>{n&&u()},[u,n]);const p=!Array.isArray(o)||o.length===0;return s.jsxs(a.Stack,{spacing:0,sx:{height:"100%",border:"1px solid #eee"},children:[s.jsxs(a.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s.jsx(a.Group,{position:"left",children:s.jsx(a.Text,{weight:500,children:r("data.preview_data")})}),s.jsxs(a.Group,{pr:15,children:[e,s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",disabled:c,onClick:u,children:s.jsx(z.Refresh,{size:16})}),s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",disabled:c||p,onClick:d,children:s.jsx(z.Download,{size:16})})]})]}),s.jsxs(a.Box,{pb:20,sx:{position:"relative",flexGrow:1,overflow:"auto"},children:[s.jsx(xT,{queryID:t}),s.jsx(hT,{data:o,loading:c})]})]})}),gT=S.observer(function(){const{t:e}=j.useTranslation(),n=X(),r=Q(),{panel:i}=qe(),[o,l]=g.useState(!1),c=u=>{n.editor.setPath(["_QUERIES_",u])};return s.jsxs(s.Fragment,{children:[s.jsx(a.Drawer,{opened:o,onClose:()=>l(!1),title:e("panel.settings.choose_queries"),padding:"xl",size:500,zIndex:320,children:s.jsx(a.Checkbox.Group,{value:[...i.queryIDs],onChange:i.setQueryIDs,children:s.jsx(a.Stack,{spacing:"lg",children:r.queries.options.map(u=>s.jsx(a.Checkbox,{label:u.label,value:u.value},u.value))})})}),s.jsxs(a.Stack,{spacing:6,children:[s.jsx(a.Group,{position:"right",children:s.jsx(a.Button,{variant:"light",size:"sm",leftIcon:s.jsx(T.IconLine,{size:16}),onClick:()=>l(!0),children:e("panel.settings.choose_queries")})}),i.queryIDs.length===1&&s.jsx(ji,{id:i.queryIDs[0],moreActions:s.jsx(a.Tooltip,{label:e("query.open"),children:s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(i.queryIDs[0]),children:s.jsx(T.IconArrowCurveRight,{size:16})})})}),i.queryIDs.length>1&&s.jsxs(a.Tabs,{defaultValue:i.queryIDs[0],children:[s.jsx(a.Tabs.List,{children:i.queries.map(u=>s.jsx(a.Tabs.Tab,{value:u.id,children:u.name},u.id))}),i.queries.map(u=>s.jsx(a.Tabs.Panel,{value:u.id,children:s.jsx(ji,{id:u.id,moreActions:s.jsx(a.Tooltip,{label:e("query.open"),children:s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(u.id),children:s.jsx(T.IconArrowCurveRight,{size:16})})})})},u.id))]})]})]})}),mT=S.observer(()=>{const{panel:t}=vt();return s.jsx(je,{children:s.jsx(a.Box,{sx:{height:"100%",flexGrow:0,flexShrink:0,width:"600px"},children:s.jsxs(a.Stack,{mt:24,spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.style.border.enabled?"1px":"0px"},children:[s.jsxs(a.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[s.jsx(a.Group,{children:s.jsx(di,{})}),s.jsx(a.Group,{grow:!0,position:"center",children:s.jsx(a.Text,{lineClamp:1,weight:"bold",children:t.title.show?t.name:""})}),s.jsx(a.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),s.jsx(a.Group,{px:5,pb:5,sx:{flexGrow:1,".panel-viz-section":{height:"calc(100% - 28px)"}},children:s.jsx(pi,{panel:t})})]})})})}),_i={name:"new_var",size:"1rem",weight:"initial",color:{type:"static",staticColor:"Red"},data_field:"",aggregation:{type:"sum",config:{},fallback:"0"},formatter:{output:"number",mantissa:0,trimMantissa:!1,average:!1}};class fT{constructor(e){$(this,"panel");$(this,"selected");this.panel=e,e.variables.length>0&&(this.selected=e.variables[0]),K.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}get variableOptions(){return this.panel.variables.map(e=>({label:e.name,value:e.name,description:e.aggregation.type}))}addNew(){const e=this.panel.variables.filter(n=>n.name.startsWith(_i.name)).length;this.panel.addVariable(y.cloneDeep({..._i,name:`${_i.name}${e||""}`})),this.selected=y.last(this.panel.variables)}select(e){this.selected=e}selectByName(e){if(!e){console.warn("Unexpected null name when calling selectByName");return}const n=this.variables.find(r=>r.name===e);if(!n){console.error(`Variable by name[${e}] not found`);return}this.selected=n}remove(e){this.selected===e&&(this.selected=void 0);const n=this.panel.variables.indexOf(e);if(this.panel.removeVariable(e),!this.selected&&!y.isEmpty(this.panel.variables)){const r=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[r]}}}function yT(){const{panel:t}=qe();return N.useCreation(()=>new fT(t),[t])}function bT({label:t,value:e,onChange:n},r){const[i,o]=g.useState(Array.isArray(e)?[...e]:[]),l=g.useCallback(()=>{o(x=>[...x,""])},[o]),c=g.useCallback(x=>{o(m=>(m.splice(x,1),[...m]))},[o]),u=g.useMemo(()=>!y.isEqual(i,e),[i,e]),d=()=>{n(i.map(x=>x.toString()))},p=a.useMantineTheme(),h=g.useMemo(()=>Object.entries(p.colors).map(([x,m])=>m[6]),[p]);return s.jsxs(s.Fragment,{children:[s.jsxs(a.Group,{position:"left",ref:r,children:[s.jsx(a.Text,{children:t}),s.jsx(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!u,onClick:d,children:s.jsx(z.DeviceFloppy,{size:20})})]}),s.jsxs(a.Group,{children:[i.map((x,m)=>s.jsx(a.ColorInput,{value:x,onChange:v=>{o(C=>(C.splice(m,1,v),[...C]))},swatches:h,rightSection:s.jsx(a.ActionIcon,{onClick:()=>c(m),color:"red",children:s.jsx(z.Trash,{size:14})}),sx:{width:"45%"}})),s.jsx(a.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:s.jsx(z.PlaylistAdd,{size:20})})]})]})}const vT=g.forwardRef(bT);function jT({label:t,value:e,onChange:n,type:r},i){const[o,l]=g.useState(Array.isArray(e)?[...e]:[]),c=g.useCallback(()=>{l(h=>[...h,""])},[l]),u=g.useCallback(h=>{l(x=>(x.splice(h,1),[...x]))},[l]),d=g.useMemo(()=>!y.isEqual(o.map(String),e.map(String)),[o,e]),p=()=>{n(o.map(h=>r==="number"?Number(h):h.toString()))};return s.jsxs(s.Fragment,{children:[s.jsxs(a.Group,{position:"left",ref:i,children:[s.jsx(a.Text,{children:t}),s.jsx(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:s.jsx(z.DeviceFloppy,{size:20})})]}),s.jsxs(a.Group,{children:[o.map((h,x)=>s.jsx(a.TextInput,{type:r,value:h,onChange:m=>{const v=m.currentTarget.value;l(C=>(C.splice(x,1,v),[...C]))},rightSection:s.jsx(a.ActionIcon,{onClick:()=>u(x),color:"red",children:s.jsx(z.Trash,{size:14})}),sx:{width:"45%"}})),s.jsx(a.ActionIcon,{onClick:c,color:"blue",variant:"outline",children:s.jsx(z.PlaylistAdd,{size:20})})]})]})}const _T=g.forwardRef(jT),wT=g.forwardRef(function({value:e,onChange:n},r){const{t:i}=j.useTranslation(),o=e.color.type,l=(u,d)=>{const p=y.cloneDeep(e);y.set(p,u,d),n(p)},c=u=>{if(u==="static"){n({...e,color:{type:"static",staticColor:"#25262B"}});return}n({...e,color:{type:"continuous",colorRange:[],valueRange:[]}})};return s.jsxs(s.Fragment,{children:[s.jsx(a.Stack,{children:s.jsx(a.TextInput,{label:i("style.font_size.label"),placeholder:i("styles.font_size.placeholder"),sx:{flex:1},value:e.size,onChange:u=>l("size",u.currentTarget.value)})}),s.jsx(a.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:s.jsx(Zo,{label:i("style.font_weight.label"),value:e.weight,onChange:u=>l("weight",u)})}),s.jsx(a.Divider,{mt:"lg",mb:0,variant:"dashed",label:i("style.label"),labelPosition:"center"}),s.jsxs(a.Stack,{children:[s.jsx(a.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:e.color.type,onChange:c}),o==="static"&&s.jsx(ke,{value:e.color.staticColor,onChange:u=>l("color.staticColor",u)}),o==="continuous"&&s.jsxs(s.Fragment,{children:[s.jsx(_T,{label:"Value Range",value:e.color.valueRange,type:"number",onChange:u=>l("color.valueRange",u)}),s.jsx(vT,{label:"Color Range",value:e.color.colorRange,onChange:u=>l("color.colorRange",u)})]})]})]})}),CT=g.forwardRef(function({value:e,onChange:n,withStyle:r=!0,remove:i},o){const{t:l}=j.useTranslation(),c=(u,d)=>{const p=y.cloneDeep(e);y.set(p,u,d),n(p)};return s.jsxs(a.Stack,{ref:o,children:[s.jsxs(a.Stack,{spacing:"xs",px:"sm",py:"md",sx:{border:"1px solid #e9ecef"},children:[s.jsxs(a.Group,{grow:!0,noWrap:!0,children:[s.jsx(a.TextInput,{label:l("common.name"),required:!0,value:e.name,onChange:u=>c("name",u.currentTarget.value)}),s.jsx(q,{label:l("common.data_field"),required:!0,value:e.data_field,onChange:u=>c("data_field",u)})]}),s.jsx(pr,{label:l("panel.variable.aggregation.label"),pt:0,value:e.aggregation,onChange:u=>c("aggregation",u),withFallback:!0}),e.aggregation.type!=="custom"&&s.jsxs(s.Fragment,{children:[s.jsx(a.Divider,{mt:"xl",mb:0,label:l("numbro.format.label"),labelPosition:"center",variant:"dashed"}),s.jsx(Ge,{value:e.formatter,onChange:u=>c("formatter",u)})]})]}),r&&s.jsx(a.Accordion,{variant:"contained",children:s.jsxs(a.Accordion.Item,{value:"Styles",children:[s.jsx(a.Accordion.Control,{icon:s.jsx(a.Text,{size:"xl",children:"🖼️"}),children:l("style.label")}),s.jsx(a.Accordion.Panel,{children:s.jsx(wT,{value:e,onChange:n})})]})}),s.jsx(a.Button,{mt:20,leftIcon:s.jsx(T.IconTrash,{size:16}),color:"red",variant:"light",onClick:i,children:l("panel.variable.delete")})]})}),ST=S.observer(t=>{const{t:e}=j.useTranslation(),n=N.useCreation(()=>Ul(t.variable),[t.variable]),r=()=>t.uiModel.remove(t.variable);return s.jsxs(a.Stack,{"data-testid":"variable-editor",align:"stretch",children:[s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Button,{variant:"subtle",size:"xs",disabled:!n.changed,color:"red",onClick:n.reset,leftIcon:s.jsx(T.IconRecycle,{size:18}),children:e("common.actions.revert_changes")}),s.jsx(a.Button,{variant:"filled",size:"xs",disabled:!n.changed,color:"green",onClick:n.commit,leftIcon:s.jsx(T.IconDeviceFloppy,{size:18}),children:e("common.actions.save_changes")})]}),s.jsx(CT,{value:f.getSnapshot(n.copy),onChange:n.update,remove:r})]})});S.observer(t=>{const{uiModel:e}=t;return s.jsx(a.Stack,{className:"var-list",children:e.variables.map(n=>s.jsx(a.Button,{variant:e.selected===n?"filled":"subtle",color:"gray",onClick:()=>e.select(n),children:n.name},n.name))})});const kT=S.observer(({model:t})=>{const{t:e}=j.useTranslation();return s.jsx(a.Overlay,{color:"#fff",opacity:1,sx:{position:"absolute"},children:s.jsx(a.Button,{variant:"light",size:"xs",leftIcon:s.jsx(T.IconPlus,{size:16}),onClick:t.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:e("panel.variable.add")})})}),TT=S.observer(()=>{var n;const{t}=j.useTranslation(),e=yT();return e.variableOptions.length===0?s.jsx(kT,{model:e}):s.jsxs(a.Stack,{pb:20,children:[s.jsxs(a.Group,{position:"left",children:[s.jsx(a.Select,{label:t("panel.variable.labels"),data:e.variableOptions,value:(n=e.selected)==null?void 0:n.name,onChange:e.selectByName,maxDropdownHeight:600,sx:{flexGrow:1}}),s.jsx(a.Button,{variant:"light",size:"xs",leftIcon:s.jsx(T.IconPlus,{size:16}),onClick:e.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:t("panel.variable.add")})]}),s.jsx(a.Divider,{variant:"dashed"}),e.selected?s.jsx(ST,{uiModel:e,variable:e.selected}):s.jsx("span",{children:"Select or create a new variable on right side"})]})}),DT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe();return Object.keys(e.variableStrings).length===0?null:s.jsxs(a.Stack,{mt:22,spacing:4,children:[s.jsx(a.Text,{size:"sm",fw:500,color:"dimmed",children:t("panel.variable.labels")}),s.jsx(ft.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(e.variableStrings,null,4)})]})});function zT(){const{t}=j.useTranslation(),{vizManager:e}=g.useContext(rt);return g.useMemo(()=>{const n=e.availableVizList.map(r=>({value:r.name,label:t(r.displayName??r.name),group:t(r.displayGroup??"")}));return y.orderBy(n,[r=>r.group,r=>r.label],["asc","asc"])},[e])}const MT=S.observer(({value:t,submit:e})=>{const{t:n}=j.useTranslation(),[r,i]=ie.useInputState(t);g.useEffect(()=>{i(t)},[t]);const o=zT(),l=t!==r;return s.jsx(a.Select,{label:n("visualization.component"),value:r,searchable:!0,onChange:i,data:o,rightSection:s.jsx(a.ActionIcon,{variant:"filled",color:"green",disabled:!l,onClick:()=>e(r),children:s.jsx(z.DeviceFloppy,{size:20})}),maxDropdownHeight:600})}),Ac=[];function IT(t,e){try{return t.resolveComponent(e).createConfig()}catch{return null}}function ET(){const{data:t,panel:{variables:e,viz:n,title:r,name:i,queryIDs:o,description:l,id:c}}=qe(),{vizManager:u}=g.useContext(rt),d={name:i,title:r,description:l,viz:n,queryIDs:o,id:c},p=Jl(d);try{return u.resolveComponent(d.viz.type),s.jsx(ss,{configure:p,children:s.jsx(aS,{variables:e,setVizConf:n.setConf,panel:d,vizManager:u,data:t})})}catch(h){return console.info(y.get(h,"message")),null}}const AT=S.observer(()=>{const{data:t,panel:{viz:e}}=qe(),{vizManager:n}=g.useContext(rt),r=g.useCallback(d=>{if(d===e.type)return;const p=IT(n,d);e.setType(d),e.setConf(p||{})},[e.type]),i=d=>{try{e.setConf(JSON.parse(d))}catch(p){console.error(p)}},o=g.useMemo(()=>{var d;return(d=Ac.find(p=>p.value===e.type))==null?void 0:d.Panel},[e.type,Ac]),l=ET(),c=o?g.createElement(o,{data:t,conf:e.conf,setConf:e.setConf}):null,u=l||c;return s.jsxs(a.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[s.jsx(MT,{submit:r,value:e.type}),s.jsxs(je,{children:[s.jsx(a.Stack,{pb:10,sx:{flexGrow:1,maxHeight:"100%",overflow:"auto"},children:u}),!u&&s.jsx(a.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(e.conf,null,2),onChange:i})]})]})}),PT=S.observer(({panel:t,sourceViewID:e})=>{const{t:n}=j.useTranslation(),r=Q(),[i,o]=g.useState(e);g.useEffect(()=>{o(e)},[e]);const[l,{open:c,close:u}]=ie.useDisclosure(!1),d=()=>{t.moveToView(e,i),u()};return s.jsxs(s.Fragment,{children:[s.jsx(a.Button,{size:"xs",variant:"subtle",color:"blue",onClick:c,leftIcon:s.jsx(T.IconBoxMultiple,{size:14}),children:n("panel.settings.change_view")}),s.jsx(a.Modal,{opened:l,onClose:u,title:n("panel.settings.change_view_title"),zIndex:320,children:s.jsxs(a.Stack,{sx:{maxHeight:"calc(100vh - 185px)",overflow:"hidden"},children:[s.jsx(a.Radio.Group,{value:i,onChange:o,pb:10,sx:{flexGrow:1,maxHeight:"calc(100vh - 185px - 30px)",overflow:"auto"},children:s.jsx(a.Stack,{spacing:"xs",children:r.views.options.map(p=>s.jsx(a.Radio,{value:p.value,label:p.label},p.value))})}),s.jsxs(a.Group,{noWrap:!0,position:"apart",sx:{flexGrow:0,flexShrink:0},children:[s.jsx(a.Button,{size:"xs",color:"red",leftIcon:s.jsx(T.IconX,{size:14}),onClick:u,children:n("common.actions.cancel")}),s.jsx(a.Button,{size:"xs",color:"blue",leftIcon:s.jsx(T.IconDeviceFloppy,{size:14}),onClick:d,disabled:i===e,children:n("common.actions.confirm")})]})]})})]})}),$T={root:{flexGrow:1,width:"100%",minWidth:"1200px",overflow:"hidden"},panel:{width:"100%",minWidth:"1200px",height:"calc(100% - 44px)",padding:10,overflow:"auto"}},wi=({children:t})=>s.jsxs(a.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"100%",position:"relative"},children:[s.jsx(a.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:t}),s.jsxs(a.Stack,{justify:"flex-start",sx:{alignSelf:"flex-start",width:"600px",flexGrow:0,flexShrink:0},children:[s.jsx(mT,{}),s.jsx(a.Box,{sx:{flexGrow:1},children:s.jsx(DT,{})})]})]});function LT(t){return!["richText","button"].includes(t)}const BT=S.observer(({panel:t})=>{const{t:e}=j.useTranslation(),n=Le.useModals(),r=X(),i=Q(),[o,l]=g.useState("Data"),c=t.queries,d=LT(t.viz.type)&&t.dataLoading,p=d||t.queryErrors.length>0||t.queryStateMessages!==""||c.length===0,h=r.editor.path[1];g.useEffect(()=>{l(v=>p&&v==="Visualization"?"Data":v)},[t.id,p]);const x=()=>{r.editor.setPath(["_VIEWS_",h])},m=()=>n.openConfirmModal({title:`${e("panel.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.removePanelByID(t.id,h),x()},confirmProps:{color:"red"},zIndex:320});return s.jsxs(As,{value:{panel:t,data:t.data,loading:d,errors:t.queryErrors,downloadPanelScreenshot:()=>{}},children:[s.jsxs(a.Group,{px:16,position:"apart",sx:{borderBottom:"1px solid #eee"},children:[s.jsx(a.Text,{pt:9,pb:8,children:t.name}),s.jsxs(a.Group,{position:"right",noWrap:!0,children:[s.jsx(PT,{panel:t,sourceViewID:h}),s.jsx(a.Button,{size:"xs",variant:"subtle",color:"red",onClick:m,leftIcon:s.jsx(T.IconTrash,{size:14}),children:e("panel.delete")})]})]}),s.jsxs(a.Tabs,{value:o,onTabChange:l,keepMounted:!1,styles:$T,children:[s.jsxs(a.Tabs.List,{children:[s.jsx(a.Tabs.Tab,{value:"Data",disabled:d,children:e("data.label")}),s.jsx(a.Tabs.Tab,{value:"Panel",children:e("panel.label")}),s.jsx(a.Tabs.Tab,{value:"Variables",disabled:p,children:s.jsx(a.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s.jsx(a.Text,{children:e("panel.variable.labels")})})}),s.jsx(a.Tabs.Tab,{value:"Visualization",disabled:p,children:s.jsx(a.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s.jsx(a.Text,{children:e("visualization.label")})})}),s.jsx(a.Tabs.Tab,{value:"Interactions",children:e("interactions.label")})]}),s.jsxs(a.Tabs.Panel,{value:"Data",children:[s.jsx(a.LoadingOverlay,{visible:d,exitTransitionDuration:0}),s.jsx(gT,{})]}),s.jsx(a.Tabs.Panel,{value:"Panel",children:s.jsx(wi,{children:s.jsx(lT,{})})}),s.jsx(a.Tabs.Panel,{value:"Variables",children:s.jsx(wi,{children:s.jsx(TT,{})})}),s.jsx(a.Tabs.Panel,{value:"Visualization",children:s.jsx(je,{children:s.jsx(wi,{children:s.jsx(AT,{})})})}),s.jsx(a.Tabs.Panel,{value:"Interactions",children:s.jsx(je,{children:s.jsx(Kp,{})})})]})]})}),qT=S.observer(({viewID:t,panelID:e})=>{const n=Q();if(!n.views.findByID(t))return s.jsxs(a.Text,{size:14,children:["View by ID[",t,"] is not found"]});const i=n.panels.findByID(e);return i?s.jsx(BT,{panel:i}):s.jsxs(a.Text,{size:14,children:["Panel by ID[",e,"] is not found"]})}),OT=S.observer(()=>{const{t}=j.useTranslation(),[e,n]=g.useState([]),r=Le.useModals(),i=X(),o=x=>{i.editor.setPath(["_QUERIES_",x])},l=()=>{r.openConfirmModal({title:"Delete ununsed queries?",children:s.jsx(a.Text,{size:"sm",children:"This action cannot be undone."}),labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>i.content.removeUnusedQueries(),confirmProps:{color:"red"},zIndex:320})},c=()=>{i.content.queries.downloadSchema(e)},u=g.useMemo(()=>i.content.queries.sortedList.map(x=>x.id),[i.content.queries.sortedList]),d=()=>{n(u)},p=()=>{n([])},h=i.content.queriesUsage;return s.jsxs(a.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[s.jsx(a.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(a.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:t("query.manage")})}),s.jsxs(a.Flex,{justify:"space-between",align:"center",px:12,children:[s.jsxs(a.Group,{position:"left",children:[s.jsxs(a.Button.Group,{children:[s.jsx(a.Button,{variant:"default",size:"xs",onClick:d,children:t("common.actions.select_all")}),s.jsx(a.Button,{variant:"default",size:"xs",onClick:p,children:t("common.actions.clear_selection")})]}),s.jsx(a.Button,{size:"xs",color:"blue",leftIcon:s.jsx(T.IconCode,{size:14}),disabled:e.length===0,onClick:c,children:t("common.actions.download_schema")})]}),s.jsx(a.Button,{variant:"subtle",size:"xs",color:"red",leftIcon:s.jsx(T.IconTrash,{size:14}),disabled:!i.content.hasUnusedQueries,onClick:l,children:t("query.delete_unused")})]}),s.jsx(a.Box,{sx:{flexGrow:1,overflow:"auto"},children:s.jsx(a.Checkbox.Group,{size:"xs",value:e,onChange:n,children:s.jsxs(a.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:"40px"}}),s.jsx("th",{children:t("common.name")}),s.jsx("th",{style:{width:"200px"},children:t("data_source.label")}),s.jsx("th",{style:{width:"100px",textAlign:"right"},children:t("common.type")}),s.jsx("th",{style:{width:"100px",textAlign:"center"},children:t("query.usage.label")}),s.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:t("common.action")})]})}),s.jsx("tbody",{children:i.content.queries.sortedList.map(x=>{var v;const m=((v=h[x.id])==null?void 0:v.length)??0;return s.jsxs("tr",{children:[s.jsx("td",{children:s.jsx(a.Checkbox,{value:x.id,styles:{input:{cursor:"pointer"}}})}),s.jsx("td",{children:x.name}),s.jsx("td",{children:x.key}),s.jsx("td",{style:{textAlign:"right"},children:x.type}),s.jsx("td",{style:{color:m===0?"#ff0000":"#000",fontWeight:m===0?"bold":"normal",textAlign:"center"},children:m}),s.jsx("td",{children:s.jsx(a.Button,{variant:"subtle",size:"xs",onClick:()=>o(x.id),children:t("common.actions.open")})})]},x.id)})})]})})})]})}),VT=t=>{const{t:e}=j.useTranslation(),{queryModel:n}=t,r=X(),i=Q(),l=i.findQueryUsage(n.id).length>0,c=Le.useModals(),u=()=>{c.openConfirmModal({title:`${e("query.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.queries.removeQuery(n.id),r.editor.setPath(["_QUERIES_",""])},confirmProps:{color:"red"},zIndex:320})};return l?s.jsx(a.Tooltip,{label:e("query.cant_delete"),withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,zIndex:320,position:"top-end",children:s.jsx(a.Box,{sx:{alignSelf:"flex-end"},children:s.jsx(a.Button,{disabled:!0,size:"xs",leftIcon:s.jsx(T.IconTrash,{size:16}),children:e("query.delete")})})}):s.jsx(a.Button,{color:"red",size:"xs",onClick:u,leftIcon:s.jsx(T.IconTrash,{size:16}),sx:{alignSelf:"flex-end"},children:e("query.delete")})},NT=S.observer(VT),Pc=({width:t="calc(100% - 32px)",lastWidth:e="50%",height:n,count:r,spacing:i=16,pl:o=0})=>s.jsxs(a.Stack,{spacing:i,mt:6,pl:o,children:[Array.from(new Array(r-1),(l,c)=>s.jsx(a.Skeleton,{width:t,height:n,radius:"xs"},c)),s.jsx(a.Skeleton,{width:e,height:n,radius:"xs"})]}),fn=({value:t})=>t===null||t===""?null:s.jsx(a.Tooltip,{label:t,disabled:!t,multiline:!0,children:s.jsx(a.ActionIcon,{children:s.jsx(T.IconInfoCircle,{size:14})})}),FT=({column:t})=>{const{column_key:e,column_key_text:n}=t;return e?s.jsx(a.Tooltip,{label:n,disabled:!n,children:s.jsx(a.Badge,{children:e})}):null},GT=S.observer(({dataSource:t})=>{const{columns:e}=t;return e.loading?s.jsx(Pc,{height:"24px",width:"100%",lastWidth:"100%",count:20,pl:6}):e.empty?null:s.jsxs(a.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"1000px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[s.jsxs("colgroup",{children:[s.jsx("col",{style:{width:50}}),s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{width:30}}),s.jsx("col",{style:{width:70}}),s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{minWidth:80,width:80}}),s.jsx("col",{style:{minWidth:120,width:120}})]}),s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"#"}),s.jsx("th",{children:"Column Name"}),s.jsx("th",{}),s.jsx("th",{}),s.jsx("th",{children:"Type"}),s.jsx("th",{children:"Nullable"}),s.jsx("th",{children:"Default Value"})]})}),s.jsx("tbody",{children:e.data.map(n=>s.jsxs("tr",{children:[s.jsx("td",{children:n.ordinal_position}),s.jsx("td",{children:n.column_name}),s.jsx("td",{children:s.jsx(fn,{value:n.column_comment})}),s.jsx("td",{children:s.jsx(FT,{column:n})}),s.jsx("td",{children:n.column_type}),s.jsx("td",{children:n.is_nullable}),s.jsx("td",{children:s.jsx(fn,{value:n.column_default})})]},n.column_name))})]})}),WT=S.observer(({dataSource:t})=>{const{indexes:e}=t,n=e.data;return s.jsxs(a.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"950px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[s.jsxs("colgroup",{children:[s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{width:150}}),s.jsx("col",{style:{width:150}}),s.jsx("col",{style:{width:250}})]}),s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Index Length"}),s.jsx("th",{children:"Index Name"}),s.jsx("th",{children:"Index Algorithm"}),s.jsx("th",{children:"Unique"}),s.jsx("th",{children:"Column Name"})]})}),s.jsx("tbody",{children:n.map(r=>s.jsxs("tr",{children:[s.jsx("td",{children:r.index_length}),s.jsx("td",{children:r.index_name}),s.jsx("td",{children:r.index_algorithm}),s.jsx("td",{children:r.is_unique?"YES":"NO"}),s.jsx("td",{children:r.column_name})]},r.index_name))})]})}),QT=S.observer(({dataSource:t})=>{const{indexes:e}=t,n=e.data;return s.jsxs(a.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"850px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[s.jsxs("colgroup",{children:[s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{width:150}}),s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{width:100}})]}),s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Index Name"}),s.jsx("th",{children:"Index Algorithm"}),s.jsx("th",{children:"Unique"}),s.jsx("th",{children:"Definition"}),s.jsx("th",{children:"Condition"}),s.jsx("th",{children:"Comment"})]})}),s.jsx("tbody",{children:n.map(r=>s.jsxs("tr",{children:[s.jsx("td",{children:r.index_name}),s.jsx("td",{children:r.index_algorithm}),s.jsx("td",{children:r.is_unique?"YES":"NO"}),s.jsx("td",{children:s.jsx(fn,{value:r.index_definition})}),s.jsx("td",{children:s.jsx(fn,{value:r.condition})}),s.jsx("td",{children:s.jsx(fn,{value:r.comment})})]},r.index_name))})]})}),RT=S.observer(({dataSource:t})=>{const{indexes:e}=t;return e.loading||e.empty?null:t.type===le.MySQL?s.jsx(WT,{dataSource:t}):t.type===le.Postgresql?s.jsx(QT,{dataSource:t}):null}),YT=S.observer(({dataSource:t})=>s.jsxs(a.Stack,{spacing:40,pt:10,sx:{flexGrow:1,overflow:"auto",position:"relative"},children:[s.jsx(je,{children:s.jsx(GT,{dataSource:t})}),s.jsx(je,{children:s.jsx(RT,{dataSource:t})})]}));function UT({table_type:t}){return t==="VIEW"?s.jsx(T.IconEye,{size:14}):t==="BASE TABLE"?s.jsx(T.IconTable,{size:14}):null}const KT=S.observer(({dataSource:t})=>{const{tables:e}=t;return e.loading?s.jsx(Pc,{height:"24px",lastWidth:"50%",count:15}):s.jsx(a.Box,{h:"100%",sx:{overflow:"auto",".mantine-NavLink-label":{fontFamily:"monospace"}},children:Object.entries(e.data).map(([n,r])=>s.jsx(a.NavLink,{label:n,icon:s.jsx(T.IconDatabase,{size:14}),defaultOpened:t.table_schema===n,pl:0,childrenOffset:14,children:r.map(i=>s.jsx(a.NavLink,{label:i.table_name,icon:s.jsx(UT,{table_type:i.table_type}),onClick:()=>{t.setKeywords(n,i.table_name)},active:t.table_name===i.table_name},i.table_name))},n))})}),JT=({visible:t})=>s.jsx(a.Box,{py:10,sx:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:s.jsx(a.LoadingOverlay,{visible:t})}),XT=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],ZT={icon:{width:"50px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"50px"}}},HT=S.observer(({dataSource:t})=>{const{t:e}=j.useTranslation(),{tableData:n}=t;return s.jsxs(a.Group,{pt:10,px:10,position:"apart",children:[s.jsxs(a.Group,{position:"left",children:[n.maxPage>1&&s.jsx(a.Pagination,{size:"sm",value:n.page,onChange:n.setPage,total:n.maxPage,withEdges:n.maxPage>7,styles:{control:{height:"30px"}}}),s.jsx(a.Select,{icon:s.jsx(a.Text,{ta:"center",color:"dimmed",size:14,children:e("common.pagination.page_size")}),size:"xs",styles:ZT,data:XT,value:String(n.limit),onChange:r=>n.setLimit(Number(r))})]}),s.jsx(a.Group,{position:"right",children:s.jsx(a.Text,{color:"dimmed",my:0,size:14,children:e("common.pagination.total_rows",{total:n.total})})})]})}),e1=S.observer(({dataSource:t})=>{const e=t.tableData;return e.maxPage===0?s.jsx(a.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:"This table is empty"}):e.error?s.jsx(a.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:e.error}):e.page===1&&e.loading?s.jsx(JT,{visible:!0}):s.jsxs(je,{children:[s.jsx(HT,{dataSource:t}),s.jsxs(a.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[s.jsx(a.LoadingOverlay,{visible:e.loading,overlayBlur:2}),s.jsx(Ec,{data:e.data})]})]})}),t1={root:{flexGrow:1,overflow:"auto",borderLeft:"1px solid #efefef"},tabsList:{borderBottom:"1px solid #efefef"},tab:{minWidth:120}},n1=S.observer(({dataSource:t})=>{const{t:e}=j.useTranslation();return g.useEffect(()=>{t.loadTablesIfEmpty()},[t]),t.tables.error?s.jsx(a.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:t.tables.error}):s.jsxs(a.Flex,{sx:{height:"100%"},children:[s.jsx(a.Box,{w:300,sx:{flexGrow:0,flexShrink:0,position:"relative"},children:s.jsx(je,{children:s.jsx(KT,{dataSource:t})})}),s.jsxs(a.Tabs,{defaultValue:"structure",styles:t1,children:[s.jsxs(a.Tabs.List,{children:[s.jsx(a.Tabs.Tab,{value:"structure",icon:s.jsx(T.IconColumns,{size:14}),children:e("data_source.table_structure_short")}),s.jsx(a.Tabs.Tab,{value:"data",icon:s.jsx(T.IconDatabase,{size:14}),children:e("data.label")})]}),s.jsx(a.Tabs.Panel,{value:"structure",children:s.jsx(YT,{dataSource:t})}),s.jsx(a.Tabs.Panel,{value:"data",sx:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:s.jsx(e1,{dataSource:t})})]})]})}),s1={modal:{paddingLeft:"0px !important",paddingRight:"0px !important"},header:{marginBottom:0,padding:"20px 20px 10px",borderBottom:"1px solid #efefef",gap:"20px"},title:{flexGrow:1},body:{padding:"0 0 0 20px"}},$c=S.observer(({dataSource:t,triggerButtonProps:e={}})=>{const{t:n}=j.useTranslation(),[r,i]=g.useState(!1);return t.type==="http"?null:s.jsxs(s.Fragment,{children:[s.jsx(a.Modal,{opened:r,onClose:()=>i(!1),title:s.jsxs(a.Group,{position:"apart",sx:{flexGrow:1},children:[s.jsx(a.Text,{fw:500,children:n("data_source.explorer")}),s.jsxs(a.Group,{spacing:7,children:[s.jsx(a.Badge,{variant:"gradient",gradient:{from:"indigo",to:"cyan"},children:t.key}),s.jsx(a.Badge,{variant:"gradient",gradient:{from:"orange",to:"red"},children:t.type})]})]}),zIndex:320,size:"96vw",styles:s1,children:s.jsx(a.Box,{sx:{height:"calc(100vh - 220px)"},children:s.jsx(n1,{dataSource:t})})}),s.jsx(a.Button,{variant:"subtle",onClick:()=>i(!0),px:16,styles:{inner:{justifyContent:"flex-start"}},...e,children:n("data_source.see_table_structure")})]})}),r1=g.forwardRef(({label:t,type:e,...n},r)=>e===le.Transform?s.jsxs(a.Group,{className:"transform-query-option",position:"left",ref:r,...n,sx:{'&[data-selected="true"]':{".mantine-Text-root":{color:"white"},svg:{stroke:"white"}}},children:[s.jsx(T.IconVectorTriangle,{size:14,color:"#228be6"}),s.jsx(a.Text,{color:"blue",children:t})]}):s.jsxs(a.Group,{position:"apart",ref:r,...n,children:[s.jsx(a.Text,{children:t}),s.jsx(a.Text,{children:e})]})),i1=S.observer(({value:t,onChange:e})=>{const{t:n}=j.useTranslation(),r=X(),{data:i=[],loading:o}=N.useRequest(ks,{refreshDeps:[]},[]),l=g.useMemo(()=>{const p=i.map(h=>({label:h.key,value:h.key,type:h.type}));return p.push({label:n("query.transform.data_source"),value:le.Transform,type:le.Transform}),p},[i]),c=g.useMemo(()=>l.reduce((p,h)=>(p[h.value]=h.type,p),{}),[l]),u=p=>{p!==null&&e({key:p,type:c[p]})},d=g.useMemo(()=>r.datasources.find(t),[r,t]);return s.jsx(a.Select,{data:l,label:s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Box,{children:n("data_source.label")}),d&&s.jsx($c,{dataSource:d,triggerButtonProps:{compact:!0,size:"xs",px:10}})]}),itemComponent:r1,rightSection:d?s.jsx(a.Text,{size:"xs",color:"dimmed",children:d.type}):void 0,rightSectionWidth:85,maxDropdownHeight:500,styles:{root:{flex:1},label:{display:"block"},rightSection:{pointerEvents:"none",justifyContent:"flex-end",paddingRight:"10px",".mantine-Text-root":{userSelect:"none"}}},disabled:o,value:t.key,onChange:u})}),Lc=g.forwardRef((t,e)=>{const{label:n,description:r,...i}=t;return s.jsx("div",{ref:e,...i,children:s.jsxs(a.Group,{position:"apart",noWrap:!0,children:[s.jsx(a.Text,{children:n}),s.jsx(a.Text,{size:"xs",color:"dimmed",children:r})]})})}),a1=S.observer(({queryModel:t})=>{const{t:e}=j.useTranslation(),[n,r]=g.useState(t.name);return g.useEffect(()=>{r(t.name)},[t.name]),s.jsx(a.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:s.jsxs(a.Stack,{spacing:10,sx:{width:"100%"},children:[s.jsx(a.Divider,{mb:-10,variant:"dashed",label:e("query.basics"),labelPosition:"center"}),s.jsx(a.TextInput,{placeholder:e("query.name_description"),label:e("query.name"),required:!0,sx:{flex:1},value:n,onChange:i=>{r(i.currentTarget.value)},rightSection:s.jsx(a.ActionIcon,{variant:"filled",color:"blue",size:"sm",onClick:()=>t.setName(n),disabled:n===t.name,children:s.jsx(T.IconDeviceFloppy,{size:16})}),onBlur:()=>{t.setName(n)}}),s.jsx(i1,{value:{type:t.type,key:t.key},onChange:({type:i,key:o})=>{t.setKey(o),t.setType(i)}}),s.jsx(a.Divider,{mt:10,mb:-10,variant:"dashed",label:e("query.conditions"),labelPosition:"center"}),s.jsx(a.MultiSelect,{label:e("query.run_by_condition.label"),placeholder:e("query.run_by_condition.unset"),data:t.conditionOptions,value:[...t.run_by],onChange:t.setRunBy,itemComponent:Lc,maxDropdownHeight:500}),t.typedAsHTTP&&s.jsx(a.MultiSelect,{label:e("query.re_run_condition.label"),placeholder:e("query.re_run_condition.label"),data:t.conditionOptions,value:[...t.react_to],onChange:t.setReactTo,itemComponent:Lc,maxDropdownHeight:500}),s.jsx(a.Divider,{mt:20,mb:10,variant:"dashed"}),s.jsx(NT,{queryModel:t})]})})});function o1({content:t}){return s.jsxs(a.HoverCard,{width:"60vw",shadow:"md",children:[s.jsx(a.HoverCard.Target,{children:s.jsx(a.ActionIcon,{size:16,color:"blue",children:s.jsx(T.IconEye,{})})}),s.jsx(a.HoverCard.Dropdown,{children:s.jsx(ft.Prism,{language:"sql",noCopy:!0,withLineNumbers:!0,children:t})})]})}const l1=S.observer(()=>{const e=[...X().globalSQLSnippets.list];return e.length===0?null:s.jsxs(a.Table,{horizontalSpacing:"xs",verticalSpacing:"xs",fontSize:"sm",highlightOnHover:!0,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Key"}),s.jsx("th",{children:"Value"})]})}),s.jsx("tbody",{children:e.map(n=>{const{id:r,content:i}=n;return s.jsxs("tr",{children:[s.jsx("td",{children:r}),s.jsx("td",{width:200,children:s.jsx(o1,{content:i})})]},r)})})]})}),c1=`
|
|
464
|
+
`,Kk=()=>{const{t}=j.useTranslation(),[e,n]=g.useState(!1);return s.jsxs(s.Fragment,{children:[s.jsx(a.Button,{variant:"subtle",compact:!0,onClick:()=>n(r=>!r),children:t(e?"common.actions.close":"filter.widget.common.see_data_structure")}),s.jsx(a.Collapse,{in:e,children:s.jsx(ft.Prism,{language:"typescript",noCopy:!0,colorScheme:"dark",children:Uk})})]})},Jk=S.observer(function({filter:e}){const{t:n}=j.useTranslation(),r=e.config;return s.jsxs(s.Fragment,{children:[s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Checkbox,{checked:r.required,onChange:i=>r.setRequired(i.currentTarget.checked),label:n("filter.widget.select.required")}),s.jsx(Ut,{filter:e})]}),s.jsx(a.TextInput,{label:n("filter.widget.common.min_width"),value:r.min_width,onChange:i=>r.setMinWidth(i.currentTarget.value),placeholder:"200px"}),s.jsx(a.Divider,{label:n("filter.widget.common.fetch_options_from_datasource"),labelPosition:"center"}),s.jsx(a.Checkbox,{checked:r.treeCheckStrictly,onChange:i=>r.setTreeCheckStrictly(i.currentTarget.checked),label:n("filter.widget.tree_select.strictly")}),s.jsx(a.NumberInput,{value:r.default_selection_count,onChange:r.setDefaultSelectionCount,label:n("filter.widget.common.default_selection_count")}),s.jsx(vi,{value:r.options_query_id,onChange:r.setOptionsQueryID}),s.jsx(Kk,{})]})}),Xk=S.observer(function({filter:e}){const{t:n}=j.useTranslation();return s.jsxs(a.Box,{sx:{maxWidth:"480px"},children:[s.jsx(a.Text,{pt:"0",pb:"md",color:"gray",children:n("common.titles.config")}),s.jsx(ft.Prism,{mt:22,language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(e,null,4)})]})}),Zk={select:Rk,"multi-select":Qk,"tree-select":Jk,"text-input":Yk,checkbox:Nk,"date-range":Gk},At={select:"filter.widget.names.select","multi-select":"filter.widget.names.multi_select","tree-select":"filter.widget.names.tree_select","text-input":"filter.widget.names.text_input",checkbox:"filter.widget.names.checkbox","date-range":"filter.widget.names.date_range"},Hk=S.observer(function({filter:e}){const{t:n,i18n:r}=j.useTranslation(),i=Q(),o=g.useMemo(()=>Zk[e.type],[e.type]),l=g.useMemo(()=>[{label:n(At.select),value:"select"},{label:n(At["multi-select"]),value:"multi-select"},{label:n(At["tree-select"]),value:"tree-select"},{label:n(At["text-input"]),value:"text-input"},{label:n(At.checkbox),value:"checkbox"},{label:n(At["date-range"]),value:"date-range"}],[r.language]);return s.jsxs(a.Group,{grow:!0,spacing:20,align:"top",children:[s.jsxs(a.Box,{sx:{maxWidth:"600px"},children:[s.jsx(a.Text,{pb:"md",color:"gray",children:n("common.titles.edit")}),s.jsxs(a.Stack,{children:[s.jsxs(a.Group,{noWrap:!0,children:[s.jsx(a.NumberInput,{label:n("filter.field.order"),required:!0,value:e.order,onChange:e.setOrder,hideControls:!0,sx:{flexGrow:"1 !important"}}),e.auto_submit_supported&&s.jsx(a.Checkbox,{label:n("filter.field.auto_submit"),checked:e.auto_submit,onChange:c=>e.setAutoSubmit(c.currentTarget.checked),mt:22})]}),s.jsx(a.MultiSelect,{label:n("filter.field.visible_in"),data:i.views.options,value:[...e.visibleInViewsIDs],onChange:e.setVisibleInViewsIDs}),s.jsx(a.TextInput,{label:n("common.key"),placeholder:n("filter.field.key_placeholder"),required:!0,value:e.key,onChange:c=>{e.setKey(c.currentTarget.value)}}),s.jsx(a.TextInput,{label:n("common.label"),placeholder:n("filter.field.label_placeholder"),required:!0,value:e.label,onChange:c=>{e.setLabel(c.currentTarget.value)}}),s.jsx(a.Select,{label:n("filter.field.widget"),data:l,required:!0,value:e.type,onChange:e.setType,maxDropdownHeight:500}),s.jsx(a.Divider,{mb:0,mt:10,variant:"dashed",labelPosition:"center"}),s.jsx(o,{filter:e})]})]}),s.jsx(Xk,{filter:e})]})}),eT=S.observer(({id:t})=>{const{t:e}=j.useTranslation(),n=Le.useModals(),r=X(),i=Q();if(t==="")return null;const o=i.filters.findByID(t);if(!o)return s.jsxs(a.Text,{size:14,children:["Filter by ID[",t,"] is not found"]});const l=()=>{r.editor.setPath(["_FILTERS_",""])},c=()=>{n.openConfirmModal({title:`${e("filter.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.filters.removeByID(t),l()},confirmProps:{color:"red"},zIndex:320})};return s.jsxs(a.Stack,{sx:{maxWidth:"1100px",height:"100vh"},spacing:"sm",pb:30,children:[s.jsx(a.Group,{position:"right",pt:10,children:s.jsx(a.Button,{size:"xs",color:"red",leftIcon:s.jsx(z.Trash,{size:16}),onClick:c,children:e("filter.delete")})}),s.jsx(a.Box,{sx:{flexGrow:1,maxHeight:"calc(100% - 52px)",overflow:"auto"},children:s.jsx(Hk,{filter:o})})]})}),tT=S.observer(()=>{const{t}=j.useTranslation(),[e,n]=g.useState([]),r=X(),i=d=>{r.editor.setPath(["_FILTERS_",d])},o=()=>{r.content.filters.downloadSchema(e)},l=g.useMemo(()=>r.content.filters.sortedList.map(d=>d.id),[r.content.filters.sortedList]),c=()=>{n(l)},u=()=>{n([])};return s.jsxs(a.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[s.jsx(a.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(a.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:t("filter.manage")})}),s.jsx(a.Flex,{justify:"space-between",align:"center",px:12,children:s.jsxs(a.Group,{position:"left",children:[s.jsxs(a.Button.Group,{children:[s.jsx(a.Button,{variant:"default",size:"xs",onClick:c,children:t("common.actions.select_all")}),s.jsx(a.Button,{variant:"default",size:"xs",onClick:u,children:t("common.actions.clear_selection")})]}),s.jsx(a.Button,{size:"xs",color:"blue",leftIcon:s.jsx(T.IconCode,{size:14}),disabled:e.length===0,onClick:o,children:t("common.actions.download_schema")})]})}),s.jsx(a.Box,{sx:{flexGrow:1,overflow:"auto"},children:s.jsx(a.Checkbox.Group,{size:"xs",value:e,onChange:n,children:s.jsxs(a.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:"40px"}}),s.jsx("th",{style:{width:"300px"},children:t("common.label")}),s.jsx("th",{children:t("common.key")}),s.jsx("th",{style:{width:"100px"},children:t("filter.field.widget")}),s.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:t("common.action")})]})}),s.jsx("tbody",{children:r.content.filters.sortedList.map(d=>s.jsxs("tr",{children:[s.jsx("td",{children:s.jsx(a.Checkbox,{value:d.id,styles:{input:{cursor:"pointer"}}})}),s.jsx("td",{children:d.label}),s.jsx("td",{children:d.key}),s.jsx("td",{children:t(At[d.type])}),s.jsx("td",{children:s.jsx(a.Button,{variant:"subtle",size:"xs",onClick:()=>i(d.id),children:t("common.actions.open")})})]},d.id))})]})})})]})}),nT=S.observer(()=>{const{t}=j.useTranslation(),e=Q(),[n,r]=g.useState(()=>JSON.stringify(e.mock_context.current,null,4)),i=()=>{try{e.mock_context.replace(JSON.parse(n))}catch(l){mt.showNotification({title:"Failed",message:l.message,color:"red"})}},o=g.useMemo(()=>{try{return JSON.stringify(JSON.parse(n))!==JSON.stringify(e.mock_context.current)}catch{return!1}},[n,e.mock_context.current]);return s.jsxs(a.Stack,{sx:{border:"1px solid #eee",borderLeft:"none",borderRight:"none",flexGrow:1,maxWidth:"unset"},children:[s.jsx(a.Group,{position:"left",pl:"md",py:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef",flexGrow:0},children:s.jsx(a.Text,{weight:500,children:t("mock_context.label")})}),s.jsxs(a.Group,{grow:!0,px:"md",pb:"md",pt:0,sx:{flexGrow:1,position:"relative",alignItems:"flex-start"},children:[s.jsxs(a.Stack,{spacing:10,sx:{maxWidth:"unset !important"},children:[s.jsx(a.Text,{children:t("mock_context.hint")}),s.jsx(a.JsonInput,{validationError:"Invalid json",formatOnBlur:!0,autosize:!0,minRows:30,value:n,onChange:r,sx:{flexGrow:1}})]}),s.jsx(a.ActionIcon,{mr:5,variant:"filled",color:"blue",sx:{position:"absolute",right:12,top:0},disabled:!o,onClick:i,children:s.jsx(z.DeviceFloppy,{size:20})})]})]})}),sT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe();return s.jsx(yr,{label:t("panel.panel_description"),value:e.description,onChange:e.setDescription,styles:{root:{flexGrow:1}}})}),rT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe(),n=ue().layouts.findItemByPanelID(e.id),{style:r}=e;return s.jsxs(s.Fragment,{children:[s.jsx(a.Divider,{mb:-10,label:t("panel.style.label"),labelPosition:"center",variant:"dashed"}),s.jsxs(a.Stack,{spacing:20,children:[s.jsxs(a.Group,{grow:!0,align:"top",children:[s.jsx(a.NumberInput,{label:t("panel.style.width"),min:1,max:36,step:1,precision:0,rightSection:s.jsx(a.Text,{size:12,children:t("panel.style.width_postfix")}),styles:{rightSection:{width:"auto",maxWidth:"100px",paddingRight:"14px",justifyContent:"flex-end"}},value:n.w,onChange:i=>{i&&n.setWidth(i)}}),s.jsx(a.NumberInput,{label:t("panel.style.height"),rightSection:s.jsx(a.Text,{size:12,children:t("panel.style.height_postfix")}),styles:{rightSection:{width:"40px"}},value:n.h,onChange:i=>{i&&n.setHeight(i)}})]}),s.jsx(a.Checkbox,{ml:6,label:t("panel.style.border"),checked:r.border.enabled,onChange:i=>r.border.setEnabled(i.currentTarget.checked)})]})]})}),iT=()=>s.jsxs("span",{className:"mantine-103svbs mantine-InputWrapper-required mantine-Select-required","aria-hidden":"true",children:[" ","*"]}),aT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe(),{name:n}=e,[r,i]=ie.useInputState(n),o=n!==r,l=g.useCallback(()=>{o&&e.setName(r)},[o,r]);g.useEffect(()=>{i(n)},[n]);const c=!r.trim();return s.jsxs(a.Stack,{spacing:4,children:[s.jsxs(a.Group,{align:"center",children:[s.jsxs(a.Text,{size:14,fw:500,children:[t("panel.panel_name"),s.jsx(iT,{})]}),s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",disabled:!o||c,onClick:l,children:s.jsx(T.IconDeviceFloppy,{size:18})})]}),s.jsx(a.TextInput,{value:r,onChange:i,required:!0})]})}),oT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe();return s.jsx(a.Stack,{spacing:6,mb:10,children:s.jsxs(a.Group,{pl:6,position:"left",spacing:20,children:[s.jsx(a.Checkbox,{size:"sm",checked:e.title.show,onChange:n=>e.title.setShow(n.currentTarget.checked),label:t("panel.show_title"),sx:{userSelect:"none"}}),s.jsx(a.Checkbox,{size:"sm",checked:!0,disabled:!0,label:t("panel.use_name_as_title")})]})})});function lT(){const{t}=j.useTranslation();return s.jsxs(a.Stack,{sx:{height:"100%"},children:[s.jsx(rT,{}),s.jsx(a.Divider,{label:t("common.info"),labelPosition:"center",variant:"dashed"}),s.jsx(aT,{}),s.jsx(oT,{}),s.jsx(sT,{})]})}const cT={width:"fit-content",minWidth:"100%",tableLayout:"fixed",tr:{width:"fit-content"},th:{position:"relative"},"th, td":{wordBreak:"break-word"},".resizer":{position:"absolute",right:0,top:"50%",transform:"translateY(-50%)",cursor:"col-resize",userSelect:"none",touchAction:"none"},".resizer.isResizing":{color:"#228be6",opacity:"1"},"@media (hover: hover)":{".resizer":{opacity:"0"},"*:hover > .resizer":{color:"#228be6",opacity:"1"}}};function Ec({data:t}){const e=g.useMemo(()=>{if(!Array.isArray(t)||t.length===0)return[];const r=Re.createColumnHelper();return Object.keys(t[0]).map(i=>r.accessor(i,{cell:o=>o.getValue()}))},[t]),n=Re.useReactTable({data:t,columns:e,columnResizeMode:"onChange",getCoreRowModel:Re.getCoreRowModel()});return t.length===0?s.jsx(a.Box,{sx:{height:"5em"}}):s.jsx(je,{children:s.jsxs(a.Table,{sx:cT,children:[s.jsx("thead",{children:n.getHeaderGroups().map(r=>s.jsx("tr",{children:r.headers.map(i=>s.jsxs("th",{style:{width:i.getSize()},children:[i.isPlaceholder?null:Re.flexRender(i.column.columnDef.header,i.getContext()),s.jsx(a.ActionIcon,{onMouseDown:i.getResizeHandler(),onTouchStart:i.getResizeHandler(),className:`resizer ${i.column.getIsResizing()?"isResizing":""}`,children:s.jsx(z.ArrowBarToRight,{})})]},i.id))},r.id))}),s.jsx("tbody",{children:n.getRowModel().rows.map(r=>s.jsx("tr",{children:r.getVisibleCells().map(i=>s.jsx("td",{children:s.jsx(je,{children:typeof i.getValue()=="object"?s.jsx("pre",{children:JSON.stringify(i.getValue(),null,2)}):Re.flexRender(i.column.columnDef.cell,i.getContext())})},i.id))},r.id))})]})})}const uT=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],dT={icon:{width:"80px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"80px"}}},pT=({data:t,page:e,setPage:n,limit:r,setLimit:i})=>{const{t:o}=j.useTranslation(),l=t.length,c=Math.ceil(l/r),u=p=>{n(1),i(Number(p))};if(l===0)return null;const d=c===1&&l<=10;return s.jsxs(a.Group,{pt:10,px:10,position:"apart",children:[s.jsxs(a.Group,{position:"left",children:[c>1&&s.jsx(a.Pagination,{size:"sm",value:e,onChange:n,total:c,withEdges:c>7,styles:{control:{height:"30px"}}}),!d&&s.jsx(a.Select,{icon:s.jsx(a.Text,{ta:"center",color:"dimmed",size:14,children:o("common.pagination.page_size")}),size:"xs",styles:dT,data:uT,value:String(r),onChange:u})]}),s.jsx(a.Group,{position:"right",children:s.jsx(a.Text,{color:"dimmed",my:0,size:14,children:o("common.pagination.total_rows",{total:l})})})]})},hT=kd(({data:t,loading:e})=>{const[n,r]=g.useState(1),[i,o]=g.useState(20),l=g.useMemo(()=>{const c=(n-1)*i,u=c+i;return t.slice(c,u)},[t,n,i]);return s.jsxs(je,{children:[s.jsx(pT,{data:t,page:n,setPage:r,limit:i,setLimit:o}),s.jsxs(a.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[s.jsx(a.LoadingOverlay,{visible:e,overlayBlur:2}),s.jsx(Ec,{data:l})]})]})}),xT=({queryID:t})=>{const e=ue(),{state:n,error:r}=e.getDataStuffByID(t),i=g.useMemo(()=>e.queries.findByID(t),[e,t]);return n==="loading"?null:r?s.jsx(a.Text,{mt:10,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:r}):i!=null&&i.stateMessage?s.jsx(a.Text,{mt:10,color:"gray",align:"center",children:i.stateMessage}):null},ji=S.observer(({id:t,moreActions:e,refreshOnMount:n})=>{const{t:r}=j.useTranslation(),i=ue(),{data:o,state:l}=i.getDataStuffByID(t),c=l==="loading",u=g.useCallback(()=>{i.queries.refetchDataByQueryID(t)},[t,i]),d=()=>{i.queries.downloadDataByQueryID(t)};g.useEffect(()=>{n&&u()},[u,n]);const p=!Array.isArray(o)||o.length===0;return s.jsxs(a.Stack,{spacing:0,sx:{height:"100%",border:"1px solid #eee"},children:[s.jsxs(a.Group,{position:"apart",py:"md",pl:"md",sx:{borderBottom:"1px solid #eee",background:"#efefef"},children:[s.jsx(a.Group,{position:"left",children:s.jsx(a.Text,{weight:500,children:r("data.preview_data")})}),s.jsxs(a.Group,{pr:15,children:[e,s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",disabled:c,onClick:u,children:s.jsx(z.Refresh,{size:16})}),s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",disabled:c||p,onClick:d,children:s.jsx(z.Download,{size:16})})]})]}),s.jsxs(a.Box,{pb:20,sx:{position:"relative",flexGrow:1,overflow:"auto"},children:[s.jsx(xT,{queryID:t}),s.jsx(hT,{data:o,loading:c})]})]})}),gT=S.observer(function(){const{t:e}=j.useTranslation(),n=X(),r=Q(),{panel:i}=qe(),[o,l]=g.useState(!1),c=u=>{n.editor.setPath(["_QUERIES_",u])};return s.jsxs(s.Fragment,{children:[s.jsx(a.Drawer,{opened:o,onClose:()=>l(!1),title:e("panel.settings.choose_queries"),padding:"xl",size:500,zIndex:320,children:s.jsx(a.Checkbox.Group,{value:[...i.queryIDs],onChange:i.setQueryIDs,children:s.jsx(a.Stack,{spacing:"lg",children:r.queries.options.map(u=>s.jsx(a.Checkbox,{label:u.label,value:u.value},u.value))})})}),s.jsxs(a.Stack,{spacing:6,children:[s.jsx(a.Group,{position:"right",children:s.jsx(a.Button,{variant:"light",size:"sm",leftIcon:s.jsx(T.IconLine,{size:16}),onClick:()=>l(!0),children:e("panel.settings.choose_queries")})}),i.queryIDs.length===1&&s.jsx(ji,{id:i.queryIDs[0],moreActions:s.jsx(a.Tooltip,{label:e("query.open"),children:s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(i.queryIDs[0]),children:s.jsx(T.IconArrowCurveRight,{size:16})})})}),i.queryIDs.length>1&&s.jsxs(a.Tabs,{defaultValue:i.queryIDs[0],children:[s.jsx(a.Tabs.List,{children:i.queries.map(u=>s.jsx(a.Tabs.Tab,{value:u.id,children:u.name},u.id))}),i.queries.map(u=>s.jsx(a.Tabs.Panel,{value:u.id,children:s.jsx(ji,{id:u.id,moreActions:s.jsx(a.Tooltip,{label:e("query.open"),children:s.jsx(a.ActionIcon,{variant:"subtle",color:"blue",onClick:()=>c(u.id),children:s.jsx(T.IconArrowCurveRight,{size:16})})})})},u.id))]})]})]})}),mT=S.observer(()=>{const{panel:t}=vt();return s.jsx(je,{children:s.jsx(a.Box,{sx:{height:"100%",flexGrow:0,flexShrink:0,width:"600px"},children:s.jsxs(a.Stack,{mt:24,spacing:5,sx:{width:"600px",height:"450px",background:"transparent",borderRadius:"5px",border:"1px solid #e9ecef",borderWidth:t.style.border.enabled?"1px":"0px"},children:[s.jsxs(a.Group,{position:"apart",noWrap:!0,sx:{flexGrow:0,flexShrink:0},children:[s.jsx(a.Group,{children:s.jsx(di,{})}),s.jsx(a.Group,{grow:!0,position:"center",children:s.jsx(a.Text,{lineClamp:1,weight:"bold",children:t.title.show?t.name:""})}),s.jsx(a.Group,{position:"right",spacing:0,sx:{height:"28px"}})]}),s.jsx(a.Group,{px:5,pb:5,sx:{flexGrow:1,".panel-viz-section":{height:"calc(100% - 28px)"}},children:s.jsx(pi,{panel:t})})]})})})}),_i={name:"new_var",size:"1rem",weight:"initial",color:{type:"static",staticColor:"Red"},data_field:"",aggregation:{type:"sum",config:{},fallback:"0"},formatter:{output:"number",mantissa:0,trimMantissa:!1,average:!1}};class fT{constructor(e){$(this,"panel");$(this,"selected");this.panel=e,e.variables.length>0&&(this.selected=e.variables[0]),K.makeAutoObservable(this,{},{deep:!1,autoBind:!0})}get variables(){return this.panel.variables}get variableOptions(){return this.panel.variables.map(e=>({label:e.name,value:e.name,description:e.aggregation.type}))}addNew(){const e=this.panel.variables.filter(n=>n.name.startsWith(_i.name)).length;this.panel.addVariable(y.cloneDeep({..._i,name:`${_i.name}${e||""}`})),this.selected=y.last(this.panel.variables)}select(e){this.selected=e}selectByName(e){if(!e){console.warn("Unexpected null name when calling selectByName");return}const n=this.variables.find(r=>r.name===e);if(!n){console.error(`Variable by name[${e}] not found`);return}this.selected=n}remove(e){this.selected===e&&(this.selected=void 0);const n=this.panel.variables.indexOf(e);if(this.panel.removeVariable(e),!this.selected&&!y.isEmpty(this.panel.variables)){const r=Math.min(this.panel.variables.length-1,n);this.selected=this.panel.variables[r]}}}function yT(){const{panel:t}=qe();return N.useCreation(()=>new fT(t),[t])}function bT({label:t,value:e,onChange:n},r){const[i,o]=g.useState(Array.isArray(e)?[...e]:[]),l=g.useCallback(()=>{o(x=>[...x,""])},[o]),c=g.useCallback(x=>{o(m=>(m.splice(x,1),[...m]))},[o]),u=g.useMemo(()=>!y.isEqual(i,e),[i,e]),d=()=>{n(i.map(x=>x.toString()))},p=a.useMantineTheme(),h=g.useMemo(()=>Object.entries(p.colors).map(([x,m])=>m[6]),[p]);return s.jsxs(s.Fragment,{children:[s.jsxs(a.Group,{position:"left",ref:r,children:[s.jsx(a.Text,{children:t}),s.jsx(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!u,onClick:d,children:s.jsx(z.DeviceFloppy,{size:20})})]}),s.jsxs(a.Group,{children:[i.map((x,m)=>s.jsx(a.ColorInput,{value:x,onChange:v=>{o(C=>(C.splice(m,1,v),[...C]))},swatches:h,rightSection:s.jsx(a.ActionIcon,{onClick:()=>c(m),color:"red",children:s.jsx(z.Trash,{size:14})}),sx:{width:"45%"}})),s.jsx(a.ActionIcon,{onClick:l,color:"blue",variant:"outline",children:s.jsx(z.PlaylistAdd,{size:20})})]})]})}const vT=g.forwardRef(bT);function jT({label:t,value:e,onChange:n,type:r},i){const[o,l]=g.useState(Array.isArray(e)?[...e]:[]),c=g.useCallback(()=>{l(h=>[...h,""])},[l]),u=g.useCallback(h=>{l(x=>(x.splice(h,1),[...x]))},[l]),d=g.useMemo(()=>!y.isEqual(o.map(String),e.map(String)),[o,e]),p=()=>{n(o.map(h=>r==="number"?Number(h):h.toString()))};return s.jsxs(s.Fragment,{children:[s.jsxs(a.Group,{position:"left",ref:i,children:[s.jsx(a.Text,{children:t}),s.jsx(a.ActionIcon,{mr:5,variant:"filled",color:"blue",disabled:!d,onClick:p,children:s.jsx(z.DeviceFloppy,{size:20})})]}),s.jsxs(a.Group,{children:[o.map((h,x)=>s.jsx(a.TextInput,{type:r,value:h,onChange:m=>{const v=m.currentTarget.value;l(C=>(C.splice(x,1,v),[...C]))},rightSection:s.jsx(a.ActionIcon,{onClick:()=>u(x),color:"red",children:s.jsx(z.Trash,{size:14})}),sx:{width:"45%"}})),s.jsx(a.ActionIcon,{onClick:c,color:"blue",variant:"outline",children:s.jsx(z.PlaylistAdd,{size:20})})]})]})}const _T=g.forwardRef(jT),wT=g.forwardRef(function({value:e,onChange:n},r){const{t:i}=j.useTranslation(),o=e.color.type,l=(u,d)=>{const p=y.cloneDeep(e);y.set(p,u,d),n(p)},c=u=>{if(u==="static"){n({...e,color:{type:"static",staticColor:"#25262B"}});return}n({...e,color:{type:"continuous",colorRange:[],valueRange:[]}})};return s.jsxs(s.Fragment,{children:[s.jsx(a.Stack,{children:s.jsx(a.TextInput,{label:i("style.font_size.label"),placeholder:i("styles.font_size.placeholder"),sx:{flex:1},value:e.size,onChange:u=>l("size",u.currentTarget.value)})}),s.jsx(a.Group,{position:"apart",grow:!0,sx:{"> *":{flexGrow:1,maxWidth:"100%"}},children:s.jsx(Zo,{label:i("style.font_weight.label"),value:e.weight,onChange:u=>l("weight",u)})}),s.jsx(a.Divider,{mt:"lg",mb:0,variant:"dashed",label:i("style.label"),labelPosition:"center"}),s.jsxs(a.Stack,{children:[s.jsx(a.Select,{label:"Color Type",data:[{label:"Static Color",value:"static"},{label:"Continuous Color",value:"continuous"}],value:e.color.type,onChange:c}),o==="static"&&s.jsx(ke,{value:e.color.staticColor,onChange:u=>l("color.staticColor",u)}),o==="continuous"&&s.jsxs(s.Fragment,{children:[s.jsx(_T,{label:"Value Range",value:e.color.valueRange,type:"number",onChange:u=>l("color.valueRange",u)}),s.jsx(vT,{label:"Color Range",value:e.color.colorRange,onChange:u=>l("color.colorRange",u)})]})]})]})}),CT=g.forwardRef(function({value:e,onChange:n,withStyle:r=!0,remove:i},o){const{t:l}=j.useTranslation(),c=(u,d)=>{const p=y.cloneDeep(e);y.set(p,u,d),n(p)};return s.jsxs(a.Stack,{ref:o,children:[s.jsxs(a.Stack,{spacing:"xs",px:"sm",py:"md",sx:{border:"1px solid #e9ecef"},children:[s.jsxs(a.Group,{grow:!0,noWrap:!0,children:[s.jsx(a.TextInput,{label:l("common.name"),required:!0,value:e.name,onChange:u=>c("name",u.currentTarget.value)}),s.jsx(q,{label:l("common.data_field"),required:!0,value:e.data_field,onChange:u=>c("data_field",u)})]}),s.jsx(pr,{label:l("panel.variable.aggregation.label"),pt:0,value:e.aggregation,onChange:u=>c("aggregation",u),withFallback:!0}),e.aggregation.type!=="custom"&&s.jsxs(s.Fragment,{children:[s.jsx(a.Divider,{mt:"xl",mb:0,label:l("numbro.format.label"),labelPosition:"center",variant:"dashed"}),s.jsx(Ge,{value:e.formatter,onChange:u=>c("formatter",u)})]})]}),r&&s.jsx(a.Accordion,{variant:"contained",children:s.jsxs(a.Accordion.Item,{value:"Styles",children:[s.jsx(a.Accordion.Control,{icon:s.jsx(a.Text,{size:"xl",children:"🖼️"}),children:l("style.label")}),s.jsx(a.Accordion.Panel,{children:s.jsx(wT,{value:e,onChange:n})})]})}),s.jsx(a.Button,{mt:20,leftIcon:s.jsx(T.IconTrash,{size:16}),color:"red",variant:"light",onClick:i,children:l("panel.variable.delete")})]})}),ST=S.observer(t=>{const{t:e}=j.useTranslation(),n=N.useCreation(()=>Ul(t.variable),[t.variable]),r=()=>t.uiModel.remove(t.variable);return s.jsxs(a.Stack,{"data-testid":"variable-editor",align:"stretch",children:[s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Button,{variant:"subtle",size:"xs",disabled:!n.changed,color:"red",onClick:n.reset,leftIcon:s.jsx(T.IconRecycle,{size:18}),children:e("common.actions.revert_changes")}),s.jsx(a.Button,{variant:"filled",size:"xs",disabled:!n.changed,color:"green",onClick:n.commit,leftIcon:s.jsx(T.IconDeviceFloppy,{size:18}),children:e("common.actions.save_changes")})]}),s.jsx(CT,{value:f.getSnapshot(n.copy),onChange:n.update,remove:r})]})});S.observer(t=>{const{uiModel:e}=t;return s.jsx(a.Stack,{className:"var-list",children:e.variables.map(n=>s.jsx(a.Button,{variant:e.selected===n?"filled":"subtle",color:"gray",onClick:()=>e.select(n),children:n.name},n.name))})});const kT=S.observer(({model:t})=>{const{t:e}=j.useTranslation();return s.jsx(a.Overlay,{color:"#fff",opacity:1,sx:{position:"absolute"},children:s.jsx(a.Button,{variant:"light",size:"xs",leftIcon:s.jsx(T.IconPlus,{size:16}),onClick:t.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:e("panel.variable.add")})})}),TT=S.observer(()=>{var n;const{t}=j.useTranslation(),e=yT();return e.variableOptions.length===0?s.jsx(kT,{model:e}):s.jsxs(a.Stack,{pb:20,children:[s.jsxs(a.Group,{position:"left",children:[s.jsx(a.Select,{label:t("panel.variable.labels"),data:e.variableOptions,value:(n=e.selected)==null?void 0:n.name,onChange:e.selectByName,maxDropdownHeight:600,sx:{flexGrow:1}}),s.jsx(a.Button,{variant:"light",size:"xs",leftIcon:s.jsx(T.IconPlus,{size:16}),onClick:e.addNew,sx:{flexGrow:0,flexShrink:0,alignSelf:"flex-end",height:"38px"},children:t("panel.variable.add")})]}),s.jsx(a.Divider,{variant:"dashed"}),e.selected?s.jsx(ST,{uiModel:e,variable:e.selected}):s.jsx("span",{children:"Select or create a new variable on right side"})]})}),DT=S.observer(()=>{const{t}=j.useTranslation(),{panel:e}=qe();return Object.keys(e.variableStrings).length===0?null:s.jsxs(a.Stack,{mt:22,spacing:4,children:[s.jsx(a.Text,{size:"sm",fw:500,color:"dimmed",children:t("panel.variable.labels")}),s.jsx(ft.Prism,{language:"json",colorScheme:"dark",noCopy:!0,children:JSON.stringify(e.variableStrings,null,4)})]})});function zT(){const{t}=j.useTranslation(),{vizManager:e}=g.useContext(rt);return g.useMemo(()=>{const n=e.availableVizList.map(r=>({value:r.name,label:t(r.displayName??r.name),group:t(r.displayGroup??"")}));return y.orderBy(n,[r=>r.group,r=>r.label],["asc","asc"])},[e])}const MT=S.observer(({value:t,submit:e})=>{const{t:n}=j.useTranslation(),[r,i]=ie.useInputState(t);g.useEffect(()=>{i(t)},[t]);const o=zT(),l=t!==r;return s.jsx(a.Select,{label:n("visualization.component"),value:r,searchable:!0,onChange:i,data:o,rightSection:s.jsx(a.ActionIcon,{variant:"filled",color:"green",disabled:!l,onClick:()=>e(r),children:s.jsx(z.DeviceFloppy,{size:20})}),maxDropdownHeight:600})}),Ac=[];function IT(t,e){try{return t.resolveComponent(e).createConfig()}catch{return null}}function ET(){const{data:t,panel:{variables:e,viz:n,title:r,name:i,queryIDs:o,description:l,id:c}}=qe(),{vizManager:u}=g.useContext(rt),d={name:i,title:r,description:l,viz:n,queryIDs:o,id:c},p=Jl(d);try{return u.resolveComponent(d.viz.type),s.jsx(ss,{configure:p,children:s.jsx(aS,{variables:e,setVizConf:n.setConf,panel:d,vizManager:u,data:t})})}catch(h){return console.info(y.get(h,"message")),null}}const AT=S.observer(()=>{const{data:t,panel:{viz:e}}=qe(),{vizManager:n}=g.useContext(rt),r=g.useCallback(d=>{if(d===e.type)return;const p=IT(n,d);e.setType(d),e.setConf(p||{})},[e.type]),i=d=>{try{e.setConf(JSON.parse(d))}catch(p){console.error(p)}},o=g.useMemo(()=>{var d;return(d=Ac.find(p=>p.value===e.type))==null?void 0:d.Panel},[e.type,Ac]),l=ET(),c=o?g.createElement(o,{data:t,conf:e.conf,setConf:e.setConf}):null,u=l||c;return s.jsxs(a.Stack,{align:"stretch",sx:{height:"100%",overflow:"hidden"},children:[s.jsx(MT,{submit:r,value:e.type}),s.jsxs(je,{children:[s.jsx(a.Stack,{pb:10,sx:{flexGrow:1,maxHeight:"100%",overflow:"auto"},children:u}),!u&&s.jsx(a.JsonInput,{minRows:20,label:"Config",value:JSON.stringify(e.conf,null,2),onChange:i})]})]})}),PT=S.observer(({panel:t,sourceViewID:e})=>{const{t:n}=j.useTranslation(),r=Q(),[i,o]=g.useState(e);g.useEffect(()=>{o(e)},[e]);const[l,{open:c,close:u}]=ie.useDisclosure(!1),d=()=>{t.moveToView(e,i),u()};return s.jsxs(s.Fragment,{children:[s.jsx(a.Button,{size:"xs",variant:"subtle",color:"blue",onClick:c,leftIcon:s.jsx(T.IconBoxMultiple,{size:14}),children:n("panel.settings.change_view")}),s.jsx(a.Modal,{opened:l,onClose:u,title:n("panel.settings.change_view_title"),zIndex:320,children:s.jsxs(a.Stack,{sx:{maxHeight:"calc(100vh - 185px)",overflow:"hidden"},children:[s.jsx(a.Radio.Group,{value:i,onChange:o,pb:10,sx:{flexGrow:1,maxHeight:"calc(100vh - 185px - 30px)",overflow:"auto"},children:s.jsx(a.Stack,{spacing:"xs",children:r.views.options.map(p=>s.jsx(a.Radio,{value:p.value,label:p.label},p.value))})}),s.jsxs(a.Group,{noWrap:!0,position:"apart",sx:{flexGrow:0,flexShrink:0},children:[s.jsx(a.Button,{size:"xs",color:"red",leftIcon:s.jsx(T.IconX,{size:14}),onClick:u,children:n("common.actions.cancel")}),s.jsx(a.Button,{size:"xs",color:"blue",leftIcon:s.jsx(T.IconDeviceFloppy,{size:14}),onClick:d,disabled:i===e,children:n("common.actions.confirm")})]})]})})]})}),$T={root:{flexGrow:1,width:"100%",minWidth:"1200px",overflow:"hidden"},panel:{width:"100%",minWidth:"1200px",height:"calc(100% - 44px)",padding:10,overflow:"auto"}},wi=({children:t})=>s.jsxs(a.Group,{noWrap:!0,grow:!0,position:"left",spacing:20,sx:{width:"100%",height:"100%",position:"relative"},children:[s.jsx(a.Box,{sx:{maxWidth:"calc(100% - 610px - 10px)",height:"100%",overflow:"auto"},children:t}),s.jsxs(a.Stack,{justify:"flex-start",sx:{alignSelf:"flex-start",width:"600px",flexGrow:0,flexShrink:0},children:[s.jsx(mT,{}),s.jsx(a.Box,{sx:{flexGrow:1},children:s.jsx(DT,{})})]})]});function LT(t){return!["richText","button"].includes(t)}const BT=S.observer(({panel:t})=>{const{t:e}=j.useTranslation(),n=Le.useModals(),r=X(),i=Q(),[o,l]=g.useState("Data"),c=t.queries,d=LT(t.viz.type)&&t.dataLoading,p=d||t.queryErrors.length>0||t.queryStateMessages!==""||c.length===0,h=r.editor.path[1];g.useEffect(()=>{l(v=>p&&v==="Visualization"?"Data":v)},[t.id,p]);const x=()=>{r.editor.setPath(["_VIEWS_",h])},m=()=>n.openConfirmModal({title:`${e("panel.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.removePanelByID(t.id,h),x()},confirmProps:{color:"red"},zIndex:320});return s.jsxs(As,{value:{panel:t,data:t.data,loading:d,errors:t.queryErrors,downloadPanelScreenshot:()=>{}},children:[s.jsxs(a.Group,{px:16,position:"apart",sx:{borderBottom:"1px solid #eee"},children:[s.jsx(a.Text,{pt:9,pb:8,children:t.name}),s.jsxs(a.Group,{position:"right",noWrap:!0,children:[s.jsx(PT,{panel:t,sourceViewID:h}),s.jsx(a.Button,{size:"xs",variant:"subtle",color:"red",onClick:m,leftIcon:s.jsx(T.IconTrash,{size:14}),children:e("panel.delete")})]})]}),s.jsxs(a.Tabs,{value:o,onTabChange:l,keepMounted:!1,styles:$T,children:[s.jsxs(a.Tabs.List,{children:[s.jsx(a.Tabs.Tab,{value:"Data",disabled:d,children:e("data.label")}),s.jsx(a.Tabs.Tab,{value:"Panel",children:e("panel.label")}),s.jsx(a.Tabs.Tab,{value:"Variables",disabled:p,children:s.jsx(a.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s.jsx(a.Text,{children:e("panel.variable.labels")})})}),s.jsx(a.Tabs.Tab,{value:"Visualization",disabled:p,children:s.jsx(a.Tooltip,{label:"Requires data",disabled:!p,withinPortal:!0,zIndex:310,children:s.jsx(a.Text,{children:e("visualization.label")})})}),s.jsx(a.Tabs.Tab,{value:"Interactions",children:e("interactions.label")})]}),s.jsxs(a.Tabs.Panel,{value:"Data",children:[s.jsx(a.LoadingOverlay,{visible:d,exitTransitionDuration:0}),s.jsx(gT,{})]}),s.jsx(a.Tabs.Panel,{value:"Panel",children:s.jsx(wi,{children:s.jsx(lT,{})})}),s.jsx(a.Tabs.Panel,{value:"Variables",children:s.jsx(wi,{children:s.jsx(TT,{})})}),s.jsx(a.Tabs.Panel,{value:"Visualization",children:s.jsx(je,{children:s.jsx(wi,{children:s.jsx(AT,{})})})}),s.jsx(a.Tabs.Panel,{value:"Interactions",children:s.jsx(je,{children:s.jsx(Kp,{})})})]})]})}),qT=S.observer(({viewID:t,panelID:e})=>{const n=Q();if(!n.views.findByID(t))return s.jsxs(a.Text,{size:14,children:["View by ID[",t,"] is not found"]});const i=n.panels.findByID(e);return i?s.jsx(BT,{panel:i}):s.jsxs(a.Text,{size:14,children:["Panel by ID[",e,"] is not found"]})}),OT=S.observer(()=>{const{t}=j.useTranslation(),[e,n]=g.useState([]),r=Le.useModals(),i=X(),o=x=>{i.editor.setPath(["_QUERIES_",x])},l=()=>{r.openConfirmModal({title:"Delete ununsed queries?",children:s.jsx(a.Text,{size:"sm",children:"This action cannot be undone."}),labels:{confirm:t("common.actions.confirm"),cancel:t("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>i.content.removeUnusedQueries(),confirmProps:{color:"red"},zIndex:320})},c=()=>{i.content.queries.downloadSchema(e)},u=g.useMemo(()=>i.content.queries.sortedList.map(x=>x.id),[i.content.queries.sortedList]),d=()=>{n(u)},p=()=>{n([])},h=i.content.queriesUsage;return s.jsxs(a.Stack,{sx:{height:"100%"},spacing:"sm",pb:"59px",children:[s.jsx(a.Box,{pt:9,pb:8,sx:{borderBottom:"1px solid #eee"},children:s.jsx(a.Text,{px:"md",align:"left",sx:{userSelect:"none",cursor:"default"},children:t("query.manage")})}),s.jsxs(a.Flex,{justify:"space-between",align:"center",px:12,children:[s.jsxs(a.Group,{position:"left",children:[s.jsxs(a.Button.Group,{children:[s.jsx(a.Button,{variant:"default",size:"xs",onClick:d,children:t("common.actions.select_all")}),s.jsx(a.Button,{variant:"default",size:"xs",onClick:p,children:t("common.actions.clear_selection")})]}),s.jsx(a.Button,{size:"xs",color:"blue",leftIcon:s.jsx(T.IconCode,{size:14}),disabled:e.length===0,onClick:c,children:t("common.actions.download_schema")})]}),s.jsx(a.Button,{variant:"subtle",size:"xs",color:"red",leftIcon:s.jsx(T.IconTrash,{size:14}),disabled:!i.content.hasUnusedQueries,onClick:l,children:t("query.delete_unused")})]}),s.jsx(a.Box,{sx:{flexGrow:1,overflow:"auto"},children:s.jsx(a.Checkbox.Group,{size:"xs",value:e,onChange:n,children:s.jsxs(a.Table,{fontSize:"sm",highlightOnHover:!0,sx:{tableLayout:"fixed"},children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{style:{width:"40px"}}),s.jsx("th",{children:t("common.name")}),s.jsx("th",{style:{width:"200px"},children:t("data_source.label")}),s.jsx("th",{style:{width:"100px",textAlign:"right"},children:t("common.type")}),s.jsx("th",{style:{width:"100px",textAlign:"center"},children:t("query.usage.label")}),s.jsx("th",{style:{width:"300px",paddingLeft:"24px"},children:t("common.action")})]})}),s.jsx("tbody",{children:i.content.queries.sortedList.map(x=>{var v;const m=((v=h[x.id])==null?void 0:v.length)??0;return s.jsxs("tr",{children:[s.jsx("td",{children:s.jsx(a.Checkbox,{value:x.id,styles:{input:{cursor:"pointer"}}})}),s.jsx("td",{children:x.name}),s.jsx("td",{children:x.key}),s.jsx("td",{style:{textAlign:"right"},children:x.type}),s.jsx("td",{style:{color:m===0?"#ff0000":"#000",fontWeight:m===0?"bold":"normal",textAlign:"center"},children:m}),s.jsx("td",{children:s.jsx(a.Button,{variant:"subtle",size:"xs",onClick:()=>o(x.id),children:t("common.actions.open")})})]},x.id)})})]})})})]})}),VT=t=>{const{t:e}=j.useTranslation(),{queryModel:n}=t,r=X(),i=Q(),l=i.findQueryUsage(n.id).length>0,c=Le.useModals(),u=()=>{c.openConfirmModal({title:`${e("query.delete")}?`,labels:{confirm:e("common.actions.confirm"),cancel:e("common.actions.cancel")},onCancel:()=>console.log("Cancel"),onConfirm:()=>{i.queries.removeQuery(n.id),r.editor.setPath(["_QUERIES_",""])},confirmProps:{color:"red"},zIndex:320})};return l?s.jsx(a.Tooltip,{label:e("query.cant_delete"),withArrow:!0,events:{hover:!0,focus:!1,touch:!1},withinPortal:!0,zIndex:320,position:"top-end",children:s.jsx(a.Box,{sx:{alignSelf:"flex-end"},children:s.jsx(a.Button,{disabled:!0,size:"xs",leftIcon:s.jsx(T.IconTrash,{size:16}),children:e("query.delete")})})}):s.jsx(a.Button,{color:"red",size:"xs",onClick:u,leftIcon:s.jsx(T.IconTrash,{size:16}),sx:{alignSelf:"flex-end"},children:e("query.delete")})},NT=S.observer(VT),Pc=({width:t="calc(100% - 32px)",lastWidth:e="50%",height:n,count:r,spacing:i=16,pl:o=0})=>s.jsxs(a.Stack,{spacing:i,mt:6,pl:o,children:[Array.from(new Array(r-1),(l,c)=>s.jsx(a.Skeleton,{width:t,height:n,radius:"xs"},c)),s.jsx(a.Skeleton,{width:e,height:n,radius:"xs"})]}),fn=({value:t})=>t===null||t===""?null:s.jsx(a.Tooltip,{label:t,disabled:!t,multiline:!0,children:s.jsx(a.ActionIcon,{children:s.jsx(T.IconInfoCircle,{size:14})})}),FT=({column:t})=>{const{column_key:e,column_key_text:n}=t;return e?s.jsx(a.Tooltip,{label:n,disabled:!n,children:s.jsx(a.Badge,{children:e})}):null},GT=S.observer(({dataSource:t})=>{const{columns:e}=t;return e.loading?s.jsx(Pc,{height:"24px",width:"100%",lastWidth:"100%",count:20,pl:6}):e.empty?null:s.jsxs(a.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"1000px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[s.jsxs("colgroup",{children:[s.jsx("col",{style:{width:50}}),s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{width:30}}),s.jsx("col",{style:{width:70}}),s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{minWidth:80,width:80}}),s.jsx("col",{style:{minWidth:120,width:120}})]}),s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"#"}),s.jsx("th",{children:"Column Name"}),s.jsx("th",{}),s.jsx("th",{}),s.jsx("th",{children:"Type"}),s.jsx("th",{children:"Nullable"}),s.jsx("th",{children:"Default Value"})]})}),s.jsx("tbody",{children:e.data.map(n=>s.jsxs("tr",{children:[s.jsx("td",{children:n.ordinal_position}),s.jsx("td",{children:n.column_name}),s.jsx("td",{children:s.jsx(fn,{value:n.column_comment})}),s.jsx("td",{children:s.jsx(FT,{column:n})}),s.jsx("td",{children:n.column_type}),s.jsx("td",{children:n.is_nullable}),s.jsx("td",{children:s.jsx(fn,{value:n.column_default})})]},n.column_name))})]})}),WT=S.observer(({dataSource:t})=>{const{indexes:e}=t,n=e.data;return s.jsxs(a.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"950px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[s.jsxs("colgroup",{children:[s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{width:150}}),s.jsx("col",{style:{width:150}}),s.jsx("col",{style:{width:250}})]}),s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Index Length"}),s.jsx("th",{children:"Index Name"}),s.jsx("th",{children:"Index Algorithm"}),s.jsx("th",{children:"Unique"}),s.jsx("th",{children:"Column Name"})]})}),s.jsx("tbody",{children:n.map(r=>s.jsxs("tr",{children:[s.jsx("td",{children:r.index_length}),s.jsx("td",{children:r.index_name}),s.jsx("td",{children:r.index_algorithm}),s.jsx("td",{children:r.is_unique?"YES":"NO"}),s.jsx("td",{children:r.column_name})]},r.index_name))})]})}),QT=S.observer(({dataSource:t})=>{const{indexes:e}=t,n=e.data;return s.jsxs(a.Table,{highlightOnHover:!0,fontSize:14,sx:{width:"auto",minWidth:"850px",alignSelf:"flex-start",flexGrow:0,tableLayout:"fixed",tbody:{fontFamily:"monospace"}},children:[s.jsxs("colgroup",{children:[s.jsx("col",{style:{minWidth:300}}),s.jsx("col",{style:{width:150}}),s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{width:100}}),s.jsx("col",{style:{width:100}})]}),s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Index Name"}),s.jsx("th",{children:"Index Algorithm"}),s.jsx("th",{children:"Unique"}),s.jsx("th",{children:"Definition"}),s.jsx("th",{children:"Condition"}),s.jsx("th",{children:"Comment"})]})}),s.jsx("tbody",{children:n.map(r=>s.jsxs("tr",{children:[s.jsx("td",{children:r.index_name}),s.jsx("td",{children:r.index_algorithm}),s.jsx("td",{children:r.is_unique?"YES":"NO"}),s.jsx("td",{children:s.jsx(fn,{value:r.index_definition})}),s.jsx("td",{children:s.jsx(fn,{value:r.condition})}),s.jsx("td",{children:s.jsx(fn,{value:r.comment})})]},r.index_name))})]})}),RT=S.observer(({dataSource:t})=>{const{indexes:e}=t;return e.loading||e.empty?null:t.type===le.MySQL?s.jsx(WT,{dataSource:t}):t.type===le.Postgresql?s.jsx(QT,{dataSource:t}):null}),YT=S.observer(({dataSource:t})=>s.jsxs(a.Stack,{spacing:40,pt:10,sx:{flexGrow:1,overflow:"auto",position:"relative"},children:[s.jsx(je,{children:s.jsx(GT,{dataSource:t})}),s.jsx(je,{children:s.jsx(RT,{dataSource:t})})]}));function UT({table_type:t}){return t==="VIEW"?s.jsx(T.IconEye,{size:14}):t==="BASE TABLE"?s.jsx(T.IconTable,{size:14}):null}const KT=S.observer(({dataSource:t})=>{const{tables:e}=t;return e.loading?s.jsx(Pc,{height:"24px",lastWidth:"50%",count:15}):s.jsx(a.Box,{h:"100%",sx:{overflow:"auto",".mantine-NavLink-label":{fontFamily:"monospace"}},children:Object.entries(e.data).map(([n,r])=>s.jsx(a.NavLink,{label:n,icon:s.jsx(T.IconDatabase,{size:14}),defaultOpened:t.table_schema===n,pl:0,childrenOffset:14,children:r.map(i=>s.jsx(a.NavLink,{label:i.table_name,icon:s.jsx(UT,{table_type:i.table_type}),onClick:()=>{t.setKeywords(n,i.table_name)},active:t.table_name===i.table_name},i.table_name))},n))})}),JT=({visible:t})=>s.jsx(a.Box,{py:10,sx:{width:"100%",height:"100%",overflow:"hidden",position:"relative"},children:s.jsx(a.LoadingOverlay,{visible:t})}),XT=[{label:"10",value:"10"},{label:"20",value:"20"},{label:"50",value:"50"},{label:"100",value:"100"}],ZT={icon:{width:"50px",textAlign:"center"},input:{"&[data-with-icon]":{paddingLeft:"50px"}}},HT=S.observer(({dataSource:t})=>{const{t:e}=j.useTranslation(),{tableData:n}=t;return s.jsxs(a.Group,{pt:10,px:10,position:"apart",children:[s.jsxs(a.Group,{position:"left",children:[n.maxPage>1&&s.jsx(a.Pagination,{size:"sm",value:n.page,onChange:n.setPage,total:n.maxPage,withEdges:n.maxPage>7,styles:{control:{height:"30px"}}}),s.jsx(a.Select,{icon:s.jsx(a.Text,{ta:"center",color:"dimmed",size:14,children:e("common.pagination.page_size")}),size:"xs",styles:ZT,data:XT,value:String(n.limit),onChange:r=>n.setLimit(Number(r))})]}),s.jsx(a.Group,{position:"right",children:s.jsx(a.Text,{color:"dimmed",my:0,size:14,children:e("common.pagination.total_rows",{total:n.total})})})]})}),e1=S.observer(({dataSource:t})=>{const e=t.tableData;return e.maxPage===0?s.jsx(a.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:"This table is empty"}):e.error?s.jsx(a.Text,{mt:20,color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:e.error}):e.page===1&&e.loading?s.jsx(JT,{visible:!0}):s.jsxs(je,{children:[s.jsx(HT,{dataSource:t}),s.jsxs(a.Box,{py:10,sx:{width:"100%",height:"calc(100% - 42px)",overflow:"auto",position:"relative"},children:[s.jsx(a.LoadingOverlay,{visible:e.loading,overlayBlur:2}),s.jsx(Ec,{data:e.data})]})]})}),t1={root:{flexGrow:1,overflow:"auto",borderLeft:"1px solid #efefef"},tabsList:{borderBottom:"1px solid #efefef"},tab:{minWidth:120}},n1=S.observer(({dataSource:t})=>{const{t:e}=j.useTranslation();return g.useEffect(()=>{t.loadTablesIfEmpty()},[t]),t.tables.error?s.jsx(a.Text,{color:"red",size:"md",align:"center",sx:{fontFamily:"monospace"},children:t.tables.error}):s.jsxs(a.Flex,{sx:{height:"100%"},children:[s.jsx(a.Box,{w:300,sx:{flexGrow:0,flexShrink:0,position:"relative"},children:s.jsx(je,{children:s.jsx(KT,{dataSource:t})})}),s.jsxs(a.Tabs,{defaultValue:"structure",styles:t1,children:[s.jsxs(a.Tabs.List,{children:[s.jsx(a.Tabs.Tab,{value:"structure",icon:s.jsx(T.IconColumns,{size:14}),children:e("data_source.table_structure_short")}),s.jsx(a.Tabs.Tab,{value:"data",icon:s.jsx(T.IconDatabase,{size:14}),children:e("data.label")})]}),s.jsx(a.Tabs.Panel,{value:"structure",children:s.jsx(YT,{dataSource:t})}),s.jsx(a.Tabs.Panel,{value:"data",sx:{width:"100%",height:"calc(100% - 36px)",overflow:"hidden"},children:s.jsx(e1,{dataSource:t})})]})]})}),s1={modal:{paddingLeft:"0px !important",paddingRight:"0px !important"},header:{marginBottom:0,padding:"20px 20px 10px",borderBottom:"1px solid #efefef",gap:"20px"},title:{flexGrow:1},body:{padding:"0 0 0 20px"}},$c=S.observer(({dataSource:t,triggerButtonProps:e={}})=>{const{t:n}=j.useTranslation(),[r,i]=g.useState(!1);return t.type==="http"?null:s.jsxs(s.Fragment,{children:[s.jsx(a.Modal,{opened:r,onClose:()=>i(!1),title:s.jsxs(a.Group,{position:"apart",sx:{flexGrow:1},children:[s.jsx(a.Text,{fw:500,children:n("data_source.explorer")}),s.jsxs(a.Group,{spacing:7,children:[s.jsx(a.Badge,{variant:"gradient",gradient:{from:"indigo",to:"cyan"},children:t.key}),s.jsx(a.Badge,{variant:"gradient",gradient:{from:"orange",to:"red"},children:t.type})]})]}),zIndex:320,size:"96vw",styles:s1,children:s.jsx(a.Box,{sx:{height:"calc(100vh - 220px)"},children:s.jsx(n1,{dataSource:t})})}),s.jsx(a.Button,{variant:"subtle",onClick:()=>i(!0),px:16,styles:{inner:{justifyContent:"flex-start"}},...e,children:n("data_source.see_table_structure")})]})}),r1=g.forwardRef(({label:t,type:e,...n},r)=>e===le.Transform?s.jsxs(a.Group,{className:"transform-query-option",position:"left",ref:r,...n,sx:{'&[data-selected="true"]':{".mantine-Text-root":{color:"white"},svg:{stroke:"white"}}},children:[s.jsx(T.IconVectorTriangle,{size:14,color:"#228be6"}),s.jsx(a.Text,{color:"blue",children:t})]}):s.jsxs(a.Group,{position:"apart",ref:r,...n,children:[s.jsx(a.Text,{children:t}),s.jsx(a.Text,{children:e})]})),i1=S.observer(({value:t,onChange:e})=>{const{t:n}=j.useTranslation(),r=X(),{data:i=[],loading:o}=N.useRequest(ks,{refreshDeps:[]},[]),l=g.useMemo(()=>{const p=i.map(h=>({label:h.key,value:h.key,type:h.type}));return p.push({label:n("query.transform.data_source"),value:le.Transform,type:le.Transform}),p},[i]),c=g.useMemo(()=>l.reduce((p,h)=>(p[h.value]=h.type,p),{}),[l]),u=p=>{p!==null&&e({key:p,type:c[p]})},d=g.useMemo(()=>r.datasources.find(t),[r,t]);return s.jsx(a.Select,{data:l,label:s.jsxs(a.Group,{position:"apart",children:[s.jsx(a.Box,{children:n("data_source.label")}),d&&s.jsx($c,{dataSource:d,triggerButtonProps:{compact:!0,size:"xs",px:10}})]}),itemComponent:r1,rightSection:d?s.jsx(a.Text,{size:"xs",color:"dimmed",children:d.type}):void 0,rightSectionWidth:85,maxDropdownHeight:500,styles:{root:{flex:1},label:{display:"block"},rightSection:{pointerEvents:"none",justifyContent:"flex-end",paddingRight:"10px",".mantine-Text-root":{userSelect:"none"}}},disabled:o,value:t.key,onChange:u})}),Lc=g.forwardRef((t,e)=>{const{label:n,description:r,...i}=t;return s.jsx("div",{ref:e,...i,children:s.jsxs(a.Group,{position:"apart",noWrap:!0,children:[s.jsx(a.Text,{children:n}),s.jsx(a.Text,{size:"xs",color:"dimmed",children:r})]})})}),a1=S.observer(({queryModel:t})=>{const{t:e}=j.useTranslation(),[n,r]=g.useState(t.name);return g.useEffect(()=>{r(t.name)},[t.name]),s.jsx(a.Center,{ml:20,mt:20,sx:{maxWidth:"600px"},children:s.jsxs(a.Stack,{spacing:10,sx:{width:"100%"},children:[s.jsx(a.Divider,{mb:-10,variant:"dashed",label:e("query.basics"),labelPosition:"center"}),s.jsx(a.TextInput,{placeholder:e("query.name_description"),label:e("query.name"),required:!0,sx:{flex:1},value:n,onChange:i=>{r(i.currentTarget.value)},rightSection:s.jsx(a.ActionIcon,{variant:"filled",color:"blue",size:"sm",onClick:()=>t.setName(n),disabled:n===t.name,children:s.jsx(T.IconDeviceFloppy,{size:16})}),onBlur:()=>{t.setName(n)}}),s.jsx(i1,{value:{type:t.type,key:t.key},onChange:({type:i,key:o})=>{t.setKey(o),t.setType(i)}}),s.jsx(a.Divider,{mt:10,mb:-10,variant:"dashed",label:e("query.conditions"),labelPosition:"center"}),s.jsx(a.MultiSelect,{label:e("query.run_by_condition.label"),placeholder:e("query.run_by_condition.unset"),data:t.conditionOptions,value:[...t.run_by],onChange:t.setRunBy,itemComponent:Lc,maxDropdownHeight:500}),t.typedAsHTTP&&s.jsx(a.MultiSelect,{label:e("query.re_run_condition.label"),placeholder:e("query.re_run_condition.label"),data:t.conditionOptions,value:[...t.react_to],onChange:t.setReactTo,itemComponent:Lc,maxDropdownHeight:500}),s.jsx(a.Divider,{mt:20,mb:10,variant:"dashed"}),s.jsx(NT,{queryModel:t})]})})});function o1({content:t}){return s.jsxs(a.HoverCard,{width:"60vw",shadow:"md",children:[s.jsx(a.HoverCard.Target,{children:s.jsx(a.ActionIcon,{size:16,color:"blue",children:s.jsx(T.IconEye,{})})}),s.jsx(a.HoverCard.Dropdown,{children:s.jsx(ft.Prism,{language:"sql",noCopy:!0,withLineNumbers:!0,children:t})})]})}const l1=S.observer(()=>{const e=[...X().globalSQLSnippets.list];return e.length===0?null:s.jsxs(a.Table,{horizontalSpacing:"xs",verticalSpacing:"xs",fontSize:"sm",highlightOnHover:!0,children:[s.jsx("thead",{children:s.jsxs("tr",{children:[s.jsx("th",{children:"Key"}),s.jsx("th",{children:"Value"})]})}),s.jsx("tbody",{children:e.map(n=>{const{id:r,content:i}=n;return s.jsxs("tr",{children:[s.jsx("td",{children:r}),s.jsx("td",{width:200,children:s.jsx(o1,{content:i})})]},r)})})]})}),c1=`
|
|
465
465
|
-- You may reference query variables in SQL or VizConfig.
|
|
466
466
|
SELECT *
|
|
467
467
|
FROM commit
|