galaxy-charts 0.0.29 → 0.0.30
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/galaxy-charts.js
CHANGED
|
@@ -18679,11 +18679,10 @@ async function Jx(e, t, n) {
|
|
|
18679
18679
|
}
|
|
18680
18680
|
async function Qx(e, t, n) {
|
|
18681
18681
|
try {
|
|
18682
|
-
|
|
18682
|
+
await lr().PUT(`/api/visualizations/${e}`, {
|
|
18683
18683
|
title: t,
|
|
18684
18684
|
config: n
|
|
18685
18685
|
});
|
|
18686
|
-
return r.id;
|
|
18687
18686
|
} catch (r) {
|
|
18688
18687
|
Ai(r);
|
|
18689
18688
|
}
|
|
@@ -2065,4 +2065,4 @@ ${t}
|
|
|
2065
2065
|
border-top: 1px solid var(--n-tab-border-color);
|
|
2066
2066
|
`),x("tabs-pad",`
|
|
2067
2067
|
border-top: 1px solid var(--n-tab-border-color);
|
|
2068
|
-
`)])])])]),R0=Object.assign(Object.assign({},ye.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:"click"},type:{type:String,default:"bar"},closable:Boolean,justifyContent:String,size:{type:String,default:"medium"},placement:{type:String,default:"top"},tabStyle:[String,Object],tabClass:String,addTabStyle:[String,Object],addTabClass:String,barWidth:Number,paneClass:String,paneStyle:[String,Object],paneWrapperClass:String,paneWrapperStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),_0=o.defineComponent({name:"Tabs",props:R0,setup(e,{slots:t}){var n,r,i,a;process.env.NODE_ENV!=="production"&&o.watchEffect(()=>{e.labelSize!==void 0&&tt("tabs","`label-size` is deprecated, please use `size` instead."),e.activeName!==void 0&&tt("tabs","`active-name` is deprecated, please use `value` instead."),e.onActiveNameChange!==void 0&&tt("tabs","`on-active-name-change` is deprecated, please use `on-update:value` instead.")});const{mergedClsPrefixRef:l,inlineThemeDisabled:s}=Ke(e),d=ye("Tabs","-tabs",P0,a0,e,l),c=o.ref(null),f=o.ref(null),u=o.ref(null),g=o.ref(null),p=o.ref(null),h=o.ref(null),w=o.ref(!0),y=o.ref(!0),m=ko(e,["labelSize","size"]),P=ko(e,["activeName","value"]),L=o.ref((r=(n=P.value)!==null&&n!==void 0?n:e.defaultValue)!==null&&r!==void 0?r:t.default?(a=(i=zn(t.default())[0])===null||i===void 0?void 0:i.props)===null||a===void 0?void 0:a.name:null),$=vt(P,L),k={id:0},M=o.computed(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});o.watch($,()=>{k.id=0,O(),H()});function b(){var B;const{value:F}=$;return F===null?null:(B=c.value)===null||B===void 0?void 0:B.querySelector(`[data-name="${F}"]`)}function S(B){if(e.type==="card")return;const{value:F}=f;if(!F)return;const K=F.style.opacity==="0";if(B){const z=`${l.value}-tabs-bar--disabled`,{barWidth:C,placement:_}=e;if(B.dataset.disabled==="true"?F.classList.add(z):F.classList.remove(z),["top","bottom"].includes(_)){if(V(["top","maxHeight","height"]),typeof C=="number"&&B.offsetWidth>=C){const ne=Math.floor((B.offsetWidth-C)/2)+B.offsetLeft;F.style.left=`${ne}px`,F.style.maxWidth=`${C}px`}else F.style.left=`${B.offsetLeft}px`,F.style.maxWidth=`${B.offsetWidth}px`;F.style.width="8192px",K&&(F.style.transition="none"),F.offsetWidth,K&&(F.style.transition="",F.style.opacity="1")}else{if(V(["left","maxWidth","width"]),typeof C=="number"&&B.offsetHeight>=C){const ne=Math.floor((B.offsetHeight-C)/2)+B.offsetTop;F.style.top=`${ne}px`,F.style.maxHeight=`${C}px`}else F.style.top=`${B.offsetTop}px`,F.style.maxHeight=`${B.offsetHeight}px`;F.style.height="8192px",K&&(F.style.transition="none"),F.offsetHeight,K&&(F.style.transition="",F.style.opacity="1")}}}function E(){if(e.type==="card")return;const{value:B}=f;B&&(B.style.opacity="0")}function V(B){const{value:F}=f;if(F)for(const K of B)F.style[K]=""}function O(){if(e.type==="card")return;const B=b();B?S(B):E()}function H(){var B;const F=(B=p.value)===null||B===void 0?void 0:B.$el;if(!F)return;const K=b();if(!K)return;const{scrollLeft:z,offsetWidth:C}=F,{offsetLeft:_,offsetWidth:ne}=K;z>_?F.scrollTo({top:0,left:_,behavior:"smooth"}):_+ne>z+C&&F.scrollTo({top:0,left:_+ne-C,behavior:"smooth"})}const j=o.ref(null);let J=0,D=null;function Y(B){const F=j.value;if(F){J=B.getBoundingClientRect().height;const K=`${J}px`,z=()=>{F.style.height=K,F.style.maxHeight=K};D?(z(),D(),D=null):D=z}}function X(B){const F=j.value;if(F){const K=B.getBoundingClientRect().height,z=()=>{document.body.offsetHeight,F.style.maxHeight=`${K}px`,F.style.height=`${Math.max(J,K)}px`};D?(D(),D=null,z()):D=z}}function oe(){const B=j.value;if(B){B.style.maxHeight="",B.style.height="";const{paneWrapperStyle:F}=e;if(typeof F=="string")B.style.cssText=F;else if(F){const{maxHeight:K,height:z}=F;K!==void 0&&(B.style.maxHeight=K),z!==void 0&&(B.style.height=z)}}}const be={value:[]},ie=o.ref("next");function fe(B){const F=$.value;let K="next";for(const z of be.value){if(z===F)break;if(z===B){K="prev";break}}ie.value=K,U(B)}function U(B){const{onActiveNameChange:F,onUpdateValue:K,"onUpdate:value":z}=e;F&&de(F,B),K&&de(K,B),z&&de(z,B),L.value=B}function ee(B){const{onClose:F}=e;F&&de(F,B)}function ve(){const{value:B}=f;if(!B)return;const F="transition-disabled";B.classList.add(F),O(),B.classList.remove(F)}const we=o.ref(null);function re({transitionDisabled:B}){const F=c.value;if(!F)return;B&&F.classList.add("transition-disabled");const K=b();K&&we.value&&(we.value.style.width=`${K.offsetWidth}px`,we.value.style.height=`${K.offsetHeight}px`,we.value.style.transform=`translateX(${K.offsetLeft-ot(getComputedStyle(F).paddingLeft)}px)`,B&&we.value.offsetWidth),B&&F.classList.remove("transition-disabled")}o.watch([$],()=>{e.type==="segment"&&o.nextTick(()=>{re({transitionDisabled:!1})})}),o.onMounted(()=>{e.type==="segment"&&re({transitionDisabled:!0})});let Se=0;function Ce(B){var F;if(B.contentRect.width===0&&B.contentRect.height===0||Se===B.contentRect.width)return;Se=B.contentRect.width;const{type:K}=e;if((K==="line"||K==="bar")&&ve(),K!=="segment"){const{placement:z}=e;De((z==="top"||z==="bottom"?(F=p.value)===null||F===void 0?void 0:F.$el:h.value)||null)}}const le=ri(Ce,64);o.watch([()=>e.justifyContent,()=>e.size],()=>{o.nextTick(()=>{const{type:B}=e;(B==="line"||B==="bar")&&ve()})});const Me=o.ref(!1);function Re(B){var F;const{target:K,contentRect:{width:z}}=B,C=K.parentElement.offsetWidth;if(!Me.value)C<z&&(Me.value=!0);else{const{value:_}=g;if(!_)return;C-z>_.$el.offsetWidth&&(Me.value=!1)}De(((F=p.value)===null||F===void 0?void 0:F.$el)||null)}const Le=ri(Re,64);function Ie(){const{onAdd:B}=e;B&&B(),o.nextTick(()=>{const F=b(),{value:K}=p;!F||!K||K.scrollTo({left:F.offsetLeft,top:0,behavior:"smooth"})})}function De(B){if(!B)return;const{placement:F}=e;if(F==="top"||F==="bottom"){const{scrollLeft:K,scrollWidth:z,offsetWidth:C}=B;w.value=K<=0,y.value=K+C>=z}else{const{scrollTop:K,scrollHeight:z,offsetHeight:C}=B;w.value=K<=0,y.value=K+C>=z}}const Ue=ri(B=>{De(B.target)},64);o.provide($i,{triggerRef:o.toRef(e,"trigger"),tabStyleRef:o.toRef(e,"tabStyle"),tabClassRef:o.toRef(e,"tabClass"),addTabStyleRef:o.toRef(e,"addTabStyle"),addTabClassRef:o.toRef(e,"addTabClass"),paneClassRef:o.toRef(e,"paneClass"),paneStyleRef:o.toRef(e,"paneStyle"),mergedClsPrefixRef:l,typeRef:o.toRef(e,"type"),closableRef:o.toRef(e,"closable"),valueRef:$,tabChangeIdRef:k,onBeforeLeaveRef:o.toRef(e,"onBeforeLeave"),activateTab:fe,handleClose:ee,handleAdd:Ie}),oa(()=>{O(),H()}),o.watchEffect(()=>{const{value:B}=u;if(!B)return;const{value:F}=l,K=`${F}-tabs-nav-scroll-wrapper--shadow-start`,z=`${F}-tabs-nav-scroll-wrapper--shadow-end`;w.value?B.classList.remove(K):B.classList.add(K),y.value?B.classList.remove(z):B.classList.add(z)});const ke={syncBarPosition:()=>{O()}},q=()=>{re({transitionDisabled:!0})},A=o.computed(()=>{const{value:B}=m,{type:F}=e,K={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[F],z=`${B}${K}`,{self:{barColor:C,closeIconColor:_,closeIconColorHover:ne,closeIconColorPressed:xe,tabColor:ze,tabBorderColor:Ne,paneTextColor:Ae,tabFontWeight:Be,tabBorderRadius:qe,tabFontWeightActive:st,colorSegment:Je,fontWeightStrong:it,tabColorSegment:v,closeSize:N,closeIconSize:Z,closeColorHover:ae,closeColorPressed:se,closeBorderRadius:ce,[Q("panePadding",B)]:ue,[Q("tabPadding",z)]:ge,[Q("tabPaddingVertical",z)]:Te,[Q("tabGap",z)]:ut,[Q("tabGap",`${z}Vertical`)]:Yt,[Q("tabTextColor",F)]:wn,[Q("tabTextColorActive",F)]:Zt,[Q("tabTextColorHover",F)]:Jt,[Q("tabTextColorDisabled",F)]:fo,[Q("tabFontSize",B)]:ho},common:{cubicBezierEaseInOut:Dn}}=d.value;return{"--n-bezier":Dn,"--n-color-segment":Je,"--n-bar-color":C,"--n-tab-font-size":ho,"--n-tab-text-color":wn,"--n-tab-text-color-active":Zt,"--n-tab-text-color-disabled":fo,"--n-tab-text-color-hover":Jt,"--n-pane-text-color":Ae,"--n-tab-border-color":Ne,"--n-tab-border-radius":qe,"--n-close-size":N,"--n-close-icon-size":Z,"--n-close-color-hover":ae,"--n-close-color-pressed":se,"--n-close-border-radius":ce,"--n-close-icon-color":_,"--n-close-icon-color-hover":ne,"--n-close-icon-color-pressed":xe,"--n-tab-color":ze,"--n-tab-font-weight":Be,"--n-tab-font-weight-active":st,"--n-tab-padding":ge,"--n-tab-padding-vertical":Te,"--n-tab-gap":ut,"--n-tab-gap-vertical":Yt,"--n-pane-padding-left":dt(ue,"left"),"--n-pane-padding-right":dt(ue,"right"),"--n-pane-padding-top":dt(ue,"top"),"--n-pane-padding-bottom":dt(ue,"bottom"),"--n-font-weight-strong":it,"--n-tab-color-segment":v}}),te=s?et("tabs",o.computed(()=>`${m.value[0]}${e.type[0]}`),A,e):void 0;return Object.assign({mergedClsPrefix:l,mergedValue:$,renderedNames:new Set,segmentCapsuleElRef:we,tabsPaneWrapperRef:j,tabsElRef:c,barElRef:f,addTabInstRef:g,xScrollInstRef:p,scrollWrapperElRef:u,addTabFixed:Me,tabWrapperStyle:M,handleNavResize:le,mergedSize:m,handleScroll:Ue,handleTabsResize:Le,cssVars:s?void 0:A,themeClass:te==null?void 0:te.themeClass,animationDirection:ie,renderNameListRef:be,yScrollElRef:h,handleSegmentResize:q,onAnimationBeforeLeave:Y,onAnimationEnter:X,onAnimationAfterEnter:oe,onRender:te==null?void 0:te.onRender},ke)},render(){const{mergedClsPrefix:e,type:t,placement:n,addTabFixed:r,addable:i,mergedSize:a,renderNameListRef:l,onRender:s,paneWrapperClass:d,paneWrapperStyle:c,$slots:{default:f,prefix:u,suffix:g}}=this;s==null||s();const p=f?zn(f()).filter(k=>k.type.__TAB_PANE__===!0):[],h=f?zn(f()).filter(k=>k.type.__TAB__===!0):[],w=!h.length,y=t==="card",m=t==="segment",P=!y&&!m&&this.justifyContent;l.value=[];const L=()=>{const k=o.h("div",{style:this.tabWrapperStyle,class:[`${e}-tabs-wrapper`]},P?null:o.h("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}),w?p.map((M,b)=>(l.value.push(M.props.name),zi(o.h(ki,Object.assign({},M.props,{internalCreatedByPane:!0,internalLeftPadded:b!==0&&(!P||P==="center"||P==="start"||P==="end")}),M.children?{default:M.children.tab}:void 0)))):h.map((M,b)=>(l.value.push(M.props.name),zi(b!==0&&!P?Ms(M):M))),!r&&i&&y?Es(i,(w?p.length:h.length)!==0):null,P?null:o.h("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return o.h("div",{ref:"tabsElRef",class:`${e}-tabs-nav-scroll-content`},y&&i?o.h(jt,{onResize:this.handleTabsResize},{default:()=>k}):k,y?o.h("div",{class:`${e}-tabs-pad`}):null,y?null:o.h("div",{ref:"barElRef",class:`${e}-tabs-bar`}))},$=m?"top":n;return o.h("div",{class:[`${e}-tabs`,this.themeClass,`${e}-tabs--${t}-type`,`${e}-tabs--${a}-size`,P&&`${e}-tabs--flex`,`${e}-tabs--${$}`],style:this.cssVars},o.h("div",{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${$}`,`${e}-tabs-nav`]},Oe(u,k=>k&&o.h("div",{class:`${e}-tabs-nav__prefix`},k)),m?o.h(jt,{onResize:this.handleSegmentResize},{default:()=>o.h("div",{class:`${e}-tabs-rail`,ref:"tabsElRef"},o.h("div",{class:`${e}-tabs-capsule`,ref:"segmentCapsuleElRef"},o.h("div",{class:`${e}-tabs-wrapper`},o.h("div",{class:`${e}-tabs-tab`}))),w?p.map((k,M)=>(l.value.push(k.props.name),o.h(ki,Object.assign({},k.props,{internalCreatedByPane:!0,internalLeftPadded:M!==0}),k.children?{default:k.children.tab}:void 0))):h.map((k,M)=>(l.value.push(k.props.name),M===0?k:Ms(k))))}):o.h(jt,{onResize:this.handleNavResize},{default:()=>o.h("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes($)?o.h(Ic,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:L}):o.h("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},L()))}),r&&i&&y?Es(i,!0):null,Oe(g,k=>k&&o.h("div",{class:`${e}-tabs-nav__suffix`},k))),w&&(this.animated&&($==="top"||$==="bottom")?o.h("div",{ref:"tabsPaneWrapperRef",style:c,class:[`${e}-tabs-pane-wrapper`,d]},Bs(p,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Bs(p,this.mergedValue,this.renderedNames)))}});function Bs(e,t,n,r,i,a,l){const s=[];return e.forEach(d=>{const{name:c,displayDirective:f,"display-directive":u}=d.props,g=h=>f===h||u===h,p=t===c;if(d.key!==void 0&&(d.key=c),p||g("show")||g("show:lazy")&&n.has(c)){n.has(c)||n.add(c);const h=!g("if");s.push(h?o.withDirectives(d,[[o.vShow,p]]):d)}}),l?o.h(o.TransitionGroup,{name:`${l}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:a},{default:()=>s}):s}function Es(e,t){return o.h(ki,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:typeof e=="object"&&e.disabled})}function Ms(e){const t=o.cloneVNode(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function zi(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes("internalLeftPadded")||e.dynamicProps.push("internalLeftPadded"):e.dynamicProps=["internalLeftPadded"],e}async function B0(e,t,n){try{const{data:r}=await en().POST("/api/visualizations",{type:e,title:t,config:n});return r.id}catch(r){rr(r)}}async function E0(e,t,n){try{const{data:r}=await en().PUT(`/api/visualizations/${e}`,{title:t,config:n});return r.id}catch(r){rr(r)}}function Is(e){const t={};return e&&e.forEach(n=>{n.name?t[n.name]=n.value??null:console.debug("Warning: Detected input element with no name.")}),t}const M0={key:2,class:"border border-dotted border-green-600 rounded mt-2 p-2"},I0=o.defineComponent({__name:"InputConditional",props:o.mergeModels({datasetId:{},input:{}},{value:{},valueModifiers:{}}),emits:o.mergeModels(["update:value"],["update:value"]),setup(e,{emit:t}){const n=e,r=t;if(!n.input.test_param)throw`The conditional '${n.input.name}' is missing a test parameter.`;if(!n.input.cases||n.input.cases.length===0)throw`The conditional '${n.input.name}' is missing a cases.`;const i=o.ref(n.input.test_param),a=i.value.name;a||console.error(`Test parameter has no name: ${n.input.name}.`);const l=o.useModel(e,"value");(!l.value||!(a in l.value))&&console.error(`Test parameter of conditional not available: ${n.input.name}.`,l.value);const s=o.ref(l.value&&l.value[a]),d=o.computed(()=>{const p={};if(n.input.cases&&n.input.cases.length>0)for(const h of n.input.cases)p[h.value]=Is(h.inputs),p[h.value][a]=h.value;return p}),c=o.computed(()=>{const p={};if(n.input.cases&&n.input.cases.length>0)for(const h of n.input.cases)p[h.value]=h.inputs;return p}),f=o.computed(()=>c.value[s.value]),u=o.computed({get(){return s.value==="true"},set(p){s.value=String(p)}});function g(p){let h={...d.value[s.value]};if(p){const w={};f.value.forEach(y=>{w[y.name]=p[y.name]}),h={...h,...p}}r("update:value",h)}return o.watch(()=>s.value,()=>{g()}),(p,h)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[i.value.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(Ps),{key:0,value:u.value,"onUpdate:value":h[0]||(h[0]=w=>u.value=w)},null,8,["value"])):(o.openBlock(),o.createBlock(o.unref(nr),{key:1,value:s.value,"onUpdate:value":h[1]||(h[1]=w=>s.value=w),options:i.value.data},null,8,["value","options"])),f.value?(o.openBlock(),o.createElementBlock("div",M0,[o.createVNode(Ti,{"dataset-id":p.datasetId,inputs:f.value,values:l.value,"onUpdate:values":g},null,8,["dataset-id","inputs","values"])])):o.createCommentVNode("",!0)],64))}}),O0={key:0,class:"mb-1"},A0={key:1,class:"text-red-600 mb-1"},F0=o.createElementVNode("span",null,"Please select a dataset.",-1),D0=100,V0=o.defineComponent({__name:"InputData",props:o.mergeModels({extension:{},optional:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,n=o.ref([]),r=o.useModel(e,"value"),i=o.ref(!1),a=o.ref(null);async function l(d){i.value=!0;try{const c=t.extension?`q=extension-eq&qv=${t.extension}`:"",f=d?`q=name-contains&qv=${d}`:"",{data:u}=await en().GET(`/api/datasets?limit=${D0}&${c}&${f}`);if(u&&u.length>0){const g=u.map(p=>({label:p.name,value:{id:p.id,name:p.name}}));g.push({label:"...filter for more",value:null,disabled:!0}),t.optional&&g.unshift({label:"-- Clear Selection --",value:null}),n.value=g}}catch(c){console.log(c)}finally{i.value=!1}}function s(){r.value=a.value,a.value=null}return l(),(d,c)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[r.value?(o.openBlock(),o.createElementBlock("div",O0,[o.createVNode(o.unref(yt),{class:"size-3 mr-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Di))]),_:1}),o.createElementVNode("span",null,"Selected: "+o.toDisplayString(r.value.name),1)])):d.optional?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",A0,[o.createVNode(o.unref(yt),{class:"size-3 mr-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Vi))]),_:1}),F0])),o.createVNode(o.unref(nr),{value:a.value,"onUpdate:value":[c[0]||(c[0]=f=>a.value=f),s],filterable:"",placeholder:"Select a Dataset",loading:i.value,options:n.value,onSearch:l},null,8,["value","loading","options"])],64))}});function H0(e,t,n,r){const i=[];t&&i.push({label:"Column: Default",value:"auto"});const a=e.metadata_column_types;for(const l in a)(r&&["int","float"].includes(a[l])||n&&a[l]==="str"||!r&&!n)&&i.push({label:"Column: "+(parseInt(l)+1),value:l});return i}const L0=o.defineComponent({__name:"InputDataColumn",props:o.mergeModels({datasetId:{},isAuto:{type:Boolean},isText:{type:Boolean},isNumber:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,n=o.ref([]),r=o.useModel(e,"value");async function i(){if(t.datasetId)try{const{data:l}=await en().GET(`/api/datasets/${t.datasetId}`),s=H0(l,t.isAuto,t.isText,t.isNumber);n.value=s,a()}catch(l){console.log(l)}else console.log("Data column input disabled, since `datasetId` is unavailable.")}function a(){n.value.length>0&&r.value===null&&(r.value=n.value[0].value)}return i(),o.watch(()=>r.value,()=>a()),(l,s)=>(o.openBlock(),o.createBlock(o.unref(nr),{value:r.value,"onUpdate:value":s[0]||(s[0]=d=>r.value=d),options:n.value},null,8,["value","options"]))}});function or(e){return String(e).toLowerCase()==="true"}const N0={class:"overflow-auto select-none"},W0={class:"font-bold pb-1"},j0={key:0,class:"text-xs pb-1"},U0={key:5},Os=.01,Ti=o.defineComponent({__name:"InputForm",props:{datasetId:{},inputs:{},values:{}},emits:["update:values"],setup(e,{emit:t}){const n=e,r=t,i=o.ref(a());function a(){const s={...n.values};return n.inputs.forEach(d=>{s[d.name]===void 0&&(s[d.name]=null)}),s}function l(){r("update:values",i.value)}return o.watch(()=>n.values,()=>{i.value=a()}),(s,d)=>(o.openBlock(),o.createElementBlock("div",N0,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.inputs,(c,f)=>(o.openBlock(),o.createElementBlock("div",{key:f,class:"pb-2"},[o.createElementVNode("div",W0,o.toDisplayString(c.label||c.name),1),c.help?(o.openBlock(),o.createElementBlock("div",j0,o.toDisplayString(c.help),1)):o.createCommentVNode("",!0),o.createElementVNode("div",null,[c.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(Ps),{key:0,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[0]||(d[0]=u=>l())]},null,8,["value","onUpdate:value"])):c.type==="color"?(o.openBlock(),o.createBlock(o.unref(Fv),{key:1,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[1]||(d[1]=u=>l())],modes:["hex"],"show-alpha":!1},null,8,["value","onUpdate:value"])):c.type==="conditional"?(o.openBlock(),o.createBlock(I0,{key:2,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[2]||(d[2]=u=>l())],"dataset-id":s.datasetId,input:c},null,8,["value","onUpdate:value","dataset-id","input"])):c.type==="data"?(o.openBlock(),o.createBlock(V0,{key:3,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[3]||(d[3]=u=>l())],extension:c.extension,optional:o.unref(or)(c.optional)},null,8,["value","onUpdate:value","extension","optional"])):c.type==="data_column"?(o.openBlock(),o.createBlock(L0,{key:4,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[4]||(d[4]=u=>l())],"dataset-id":s.datasetId,"is-auto":o.unref(or)(c.is_auto),"is-text":o.unref(or)(c.is_text),"is-number":o.unref(or)(c.is_number)},null,8,["value","onUpdate:value","dataset-id","is-auto","is-text","is-number"])):c.type==="float"?(o.openBlock(),o.createElementBlock("div",U0,[c.min!==void 0&&c.max!==void 0?(o.openBlock(),o.createBlock(o.unref($0),{key:0,class:"mb-2",value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[5]||(d[5]=u=>l())],min:Number(c.min),max:Number(c.max),step:Os},null,8,["value","onUpdate:value","min","max"])):o.createCommentVNode("",!0),o.createVNode(o.unref(y0),{value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[6]||(d[6]=u=>l())],size:"small",min:Number(c.min),max:Number(c.max),step:Os},null,8,["value","onUpdate:value","min","max"])])):c.type==="select"?(o.openBlock(),o.createBlock(o.unref(nr),{key:6,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[7]||(d[7]=u=>l())],options:c.data},null,8,["value","onUpdate:value","options"])):c.type==="textarea"?(o.openBlock(),o.createBlock(o.unref(lo),{key:7,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[8]||(d[8]=u=>l())],rows:Number(c.rows),type:"textarea"},null,8,["value","onUpdate:value","rows"])):(o.openBlock(),o.createBlock(o.unref(lo),{key:8,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[9]||(d[9]=u=>l())]},null,8,["value","onUpdate:value"]))])]))),128))]))}}),G0=o.createElementVNode("span",{class:"mx-1"},"Add New Track",-1),K0={class:"border border-dotted border-green-600 rounded p-2"},q0={class:"flex text-green-600 my-1"},X0={class:"mx-1"},Y0=o.defineComponent({__name:"InputRepeats",props:{datasetId:{},inputs:{},valuesArray:{}},emits:["update:values-array"],setup(e,{emit:t}){const n=e,r=t,i=o.computed(()=>Is(n.inputs));function a(){const d=[...n.valuesArray];d.unshift(i.value),r("update:values-array",d)}function l(d){const c=[...n.valuesArray];c.splice(d,1),r("update:values-array",c)}function s(d,c){const f=[...n.valuesArray];f[d]={...c},r("update:values-array",f)}return(d,c)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(It),{size:"tiny",type:"primary",class:"mb-2",onClick:a},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Gs))]),_:1}),G0]),_:1}),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(d.valuesArray,(f,u)=>(o.openBlock(),o.createElementBlock("div",{key:u,class:"my-2"},[o.createElementVNode("div",K0,[o.createVNode(Ti,{"dataset-id":d.datasetId,inputs:d.inputs,values:f,"onUpdate:values":g=>s(u,g)},null,8,["dataset-id","inputs","values","onUpdate:values"]),o.createElementVNode("div",q0,[o.createVNode(o.unref(It),{class:"text-green-600 w-full",size:"tiny",round:"",disabled:d.valuesArray.length<=1,onClick:g=>l(u)},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(qs))]),_:1}),o.createElementVNode("span",X0,"Remove Track "+o.toDisplayString(d.valuesArray.length-u),1)]),_:2},1032,["disabled","onClick"])])])]))),128))],64))}}),Z0=2e3,J0=o.defineComponent({__name:"AlertNotify",props:{message:{},messageType:{default:"info"}},emits:["timeout"],setup(e,{emit:t}){const n=e,r=t;let i=null;return o.watch(()=>n.message,()=>{i&&clearTimeout(i),i=setTimeout(()=>r("timeout"),Z0)}),(a,l)=>a.message?(o.openBlock(),o.createBlock(o.unref(hs),{key:0,type:a.messageType,class:"m-4"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(a.message),1)]),_:1},8,["type"])):o.createCommentVNode("",!0)}}),Q0={class:"text-xs"},ex=o.createElementVNode("span",{class:"text-xs"},"Galaxy is not accessible!",-1),tx=o.defineComponent({__name:"ApiStatus",setup(e){const t=o.ref("...");async function n(){try{const{data:r}=await en().GET("/api/version");t.value=r.version_major}catch{console.log("Unable to connect to Galaxy. Verify Galaxy is running and refer to docs."),t.value=""}}return n(),(r,i)=>t.value?(o.openBlock(),o.createBlock(o.unref(ws),{key:0,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(yt),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Di),{class:"text-green-600"})]),_:1})]),default:o.withCtx(()=>[o.createElementVNode("span",Q0,"Connected to Galaxy Version "+o.toDisplayString(t.value)+".",1)]),_:1})):(o.openBlock(),o.createBlock(o.unref(ws),{key:1,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(yt),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Vi),{class:"text-red-600"})]),_:1})]),default:o.withCtx(()=>[ex]),_:1}))}}),nx={class:"overflow-auto select-none bg-white z-10"},ox={class:"flex p-2"},rx={class:"flex-1 font-thin text-lg p-1 p-2"},ix=o.createElementVNode("span",null,"Charts",-1),ax={class:"m-4 mt-0 p-2 bg-sky-50 text-sky-900 rounded"},lx={class:"md:flex"},sx={class:"flex justify-center center-items"},dx={class:"m-2"},cx=["src"],ux={key:1,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 100 100",class:"size-14"},fx=[o.createElementVNode("circle",{cx:"50",cy:"50",r:"45",stroke:"#E30A17","stroke-width":"5"},null,-1),o.createElementVNode("path",{d:"M 50,5 A 45,45 0 0,1 95,50 L 50,50 Z",fill:"#E30A17"},null,-1)],hx={class:"overflow-hidden break-words p-1"},px={class:"font-bold"},bx=["innerHTML"],gx={class:"px-4 pb-2"},mx=o.createElementVNode("div",{class:"font-bold"},"Title",-1),vx=o.createElementVNode("div",{class:"text-xs py-1"},"Specify a visualization title.",-1),xx=o.createElementVNode("span",{class:"mx-1"},"Tracks",-1),yx=o.createElementVNode("span",{class:"mx-1"},"Settings",-1),wx=o.defineComponent({__name:"SidePanel",props:{datasetId:{},description:{},logoUrl:{},html:{},name:{},settingInputs:{},settingValues:{},trackInputs:{},trackValues:{},visualizationId:{},visualizationTitle:{}},emits:["update:tracks","update:settings","update:visualization-id","update:visualization-title","toggle"],setup(e,{emit:t}){const n=e,r=t,i=o.ref(""),a=o.ref("info"),l=o.computed(()=>n.settingInputs.length===0||n.trackInputs.length===0);async function s(){try{if(n.visualizationId)await E0(n.visualizationId,n.visualizationTitle,{dataset_id:n.datasetId,settings:n.settingValues,tracks:n.trackValues}),i.value="Successfully saved.",a.value="success";else{const u=await B0(n.name,n.visualizationTitle,{dataset_id:n.datasetId,settings:n.settingValues,tracks:n.trackValues});u?(i.value="Successfully created.",a.value="success",r("update:visualization-id",u)):(i.value="Something went wrong.",a.value="error")}}catch(u){i.value=Mi(u),a.value="error"}}function d(u){r("update:settings",u)}function c(u){r("update:tracks",u)}function f(u){r("update:visualization-title",u)}return(u,g)=>(o.openBlock(),o.createElementBlock("div",nx,[o.createElementVNode("div",ox,[o.createElementVNode("div",rx,[ix,o.createVNode(tx)]),o.createElementVNode("div",null,[o.createVNode(o.unref(It),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:s},{icon:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Us))]),_:1})]),_:1}),o.createVNode(o.unref(It),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:g[0]||(g[0]=p=>r("toggle"))},{icon:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(js))]),_:1})]),_:1})])]),o.createVNode(J0,{message:i.value,"message-type":a.value,onTimeout:g[1]||(g[1]=p=>i.value=""),class:"m-4"},null,8,["message","message-type"]),o.createElementVNode("div",ax,[o.createElementVNode("div",lx,[o.createElementVNode("div",sx,[o.createElementVNode("div",dx,[n.logoUrl?(o.openBlock(),o.createElementBlock("img",{key:0,src:n.logoUrl,class:"min-w-14 max-w-14 object-contain"},null,8,cx)):(o.openBlock(),o.createElementBlock("svg",ux,fx))])]),o.createElementVNode("div",hx,[o.createElementVNode("span",px,o.toDisplayString(u.html),1),o.createElementVNode("div",{class:"text-xs",innerHTML:u.description},null,8,bx)])])]),o.createElementVNode("div",gx,[mx,vx,o.createVNode(o.unref(lo),{value:u.visualizationTitle,onInput:f},null,8,["value"])]),o.createVNode(o.unref(_0),{type:"line",animated:"",class:"px-4","tab-class":l.value?"!hidden":""},{default:o.withCtx(()=>[u.trackInputs.length>0?(o.openBlock(),o.createBlock(o.unref(_s),{key:0,name:"tracks"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ks))]),_:1}),xx]),default:o.withCtx(()=>[o.createVNode(Y0,{"dataset-id":u.datasetId,inputs:u.trackInputs,"values-array":u.trackValues,"onUpdate:valuesArray":c},null,8,["dataset-id","inputs","values-array"])]),_:1})):o.createCommentVNode("",!0),u.settingInputs.length>0?(o.openBlock(),o.createBlock(o.unref(_s),{key:1,name:"settings"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ls))]),_:1}),yx]),default:o.withCtx(()=>[o.createVNode(Ti,{"dataset-id":u.datasetId,inputs:u.settingInputs,values:u.settingValues,"onUpdate:values":d},null,8,["dataset-id","inputs","values"])]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["tab-class"])]))}});async function Cx(e,t={}){const n=Fs(e.settings,t.settings),r=e.specs,i=$x(e.tracks,t.tracks);return{plugin:e,settings:n,specs:r,tracks:i}}function As(e,t){let n=t??e.value;return e.type==="float"&&(n=Number(n)),n}function Sx(e,t={}){var i,a,l;const n=t,r=(i=e.test_param)==null?void 0:i.name;if(!r)console.error(`Test parameter has no name: ${e.name}.`);else{const s=n[r]??((a=e.test_param)==null?void 0:a.value);for(const d of e.cases||[])if(d.value===s&&(n[r]=s,(l=d.inputs)!=null&&l.length))for(const c of d.inputs)n[c.name]=As(c,n[c.name])}return n}function Fs(e,t){const n=t||{};return e==null||e.forEach(r=>{r.type==="conditional"?n[r.name]=Sx(r,n[r.name]):n[r.name]=As(r,n[r.name])}),n}function $x(e,t){const n=t||[];return e&&(n.length===0&&n.push({}),n.forEach((r,i)=>{n[i]=Fs(e,r)})),n}function kx(e){if(e===void 0){const l=document.getElementById("app");e=JSON.parse((l==null?void 0:l.getAttribute("data-incoming"))||"{}")}const t=(e==null?void 0:e.root)??"/",n=(e==null?void 0:e.visualization_config)??{},r=(e==null?void 0:e.visualization_id)??null,i=(e==null?void 0:e.visualization_plugin)??{},a=(e==null?void 0:e.visualization_title)??"Unnamed Visualization";return{root:t,visualizationConfig:n,visualizationId:r,visualizationPlugin:i,visualizationTitle:a}}const zx={key:1,class:"m-2"},Tx=o.createElementVNode("span",{class:"text-xs"},"Please wait...",-1),Px={key:0},Rx=o.defineComponent({__name:"GalaxyCharts",props:{credentials:{},incoming:{}},setup(e){const t=e,{root:n,visualizationConfig:r,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}=kx(t.incoming),s=o.ref(!1),d=o.ref(""),c=o.ref(""),f=o.ref(""),u=o.ref(""),g=o.ref(!0),p=o.ref(""),h=o.ref(""),w=o.ref([]),y=o.ref({}),m=o.ref({}),P=o.ref([]),L=o.ref([]),$=o.ref(i),k=o.ref(l),M=Ai();M.setCredentials(t.credentials||"include"),M.setRoot(n||"/"),Cx(a,r).then(({plugin:D,settings:Y,specs:X,tracks:oe})=>{c.value=D.description||"",u.value=D.html||"",g.value=!1,p.value=D.logo||"",h.value=D.name||"",w.value=D.settings||[],y.value=Y,m.value=X||{},P.value=D.tracks||[],L.value=oe});const b=r.dataset_id||"";r.dataset_url?(d.value=r.dataset_url,console.debug(`GalaxyCharts: Evaluating dataset url: ${d.value}.`)):b?(d.value=Vs(b),console.debug(`GalaxyCharts: Built dataset url from dataset id: ${d.value}.`)):f.value="Visualization requires `dataset_id` or `dataset_url`.";const S=o.computed(()=>p.value&&`${n}${p.value}`),E=o.computed(()=>w.value.length===0&&P.value.length===0);async function V(){s.value=!s.value,await o.nextTick(),window.dispatchEvent(new Event("resize"))}function O(D){y.value={...D}}function H(D){L.value=[...D]}function j(D){$.value=D}function J(D){k.value=D}return(D,Y)=>f.value?(o.openBlock(),o.createBlock(o.unref(hs),{key:0,title:"Visualization Error!",type:"error",class:"m-2"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(f.value),1)]),_:1})):g.value?(o.openBlock(),o.createElementBlock("div",zx,[o.createElementVNode("span",null,[o.createVNode(o.unref(Ns),{class:"animate-spin size-4 inline mx-1"})]),Tx])):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["grid h-screen",{"grid-cols-[70%_30%]":!s.value&&!E.value}])},[o.renderSlot(D.$slots,"default",{datasetId:o.unref(b),datasetUrl:d.value,root:o.unref(n),settings:y.value,specs:m.value,tracks:L.value}),s.value&&!E.value?(o.openBlock(),o.createElementBlock("div",Px,[o.createVNode(o.unref(b0),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2",top:0,right:0,onClick:V},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ws))]),_:1})]),_:1})])):E.value?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(wx,{key:1,"dataset-id":o.unref(b),description:c.value,html:u.value,"logo-url":S.value,name:h.value,"setting-inputs":w.value,"setting-values":y.value,"track-inputs":P.value,"track-values":L.value,"visualization-id":$.value,"visualization-title":k.value,"onUpdate:settings":O,"onUpdate:tracks":H,"onUpdate:visualizationId":j,"onUpdate:visualizationTitle":J,onToggle:V},null,8,["dataset-id","description","html","logo-url","name","setting-inputs","setting-values","track-inputs","track-values","visualization-id","visualization-title"]))],2))}});We.GalaxyApi=en,We.GalaxyCharts=Rx,We.useColumnsStore=Hs,Object.defineProperty(We,Symbol.toStringTag,{value:"Module"})});
|
|
2068
|
+
`)])])])]),R0=Object.assign(Object.assign({},ye.props),{value:[String,Number],defaultValue:[String,Number],trigger:{type:String,default:"click"},type:{type:String,default:"bar"},closable:Boolean,justifyContent:String,size:{type:String,default:"medium"},placement:{type:String,default:"top"},tabStyle:[String,Object],tabClass:String,addTabStyle:[String,Object],addTabClass:String,barWidth:Number,paneClass:String,paneStyle:[String,Object],paneWrapperClass:String,paneWrapperStyle:[String,Object],addable:[Boolean,Object],tabsPadding:{type:Number,default:0},animated:Boolean,onBeforeLeave:Function,onAdd:Function,"onUpdate:value":[Function,Array],onUpdateValue:[Function,Array],onClose:[Function,Array],labelSize:String,activeName:[String,Number],onActiveNameChange:[Function,Array]}),_0=o.defineComponent({name:"Tabs",props:R0,setup(e,{slots:t}){var n,r,i,a;process.env.NODE_ENV!=="production"&&o.watchEffect(()=>{e.labelSize!==void 0&&tt("tabs","`label-size` is deprecated, please use `size` instead."),e.activeName!==void 0&&tt("tabs","`active-name` is deprecated, please use `value` instead."),e.onActiveNameChange!==void 0&&tt("tabs","`on-active-name-change` is deprecated, please use `on-update:value` instead.")});const{mergedClsPrefixRef:l,inlineThemeDisabled:s}=Ke(e),d=ye("Tabs","-tabs",P0,a0,e,l),c=o.ref(null),f=o.ref(null),u=o.ref(null),g=o.ref(null),p=o.ref(null),h=o.ref(null),w=o.ref(!0),y=o.ref(!0),m=ko(e,["labelSize","size"]),P=ko(e,["activeName","value"]),L=o.ref((r=(n=P.value)!==null&&n!==void 0?n:e.defaultValue)!==null&&r!==void 0?r:t.default?(a=(i=zn(t.default())[0])===null||i===void 0?void 0:i.props)===null||a===void 0?void 0:a.name:null),$=vt(P,L),k={id:0},M=o.computed(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});o.watch($,()=>{k.id=0,O(),H()});function b(){var B;const{value:F}=$;return F===null?null:(B=c.value)===null||B===void 0?void 0:B.querySelector(`[data-name="${F}"]`)}function S(B){if(e.type==="card")return;const{value:F}=f;if(!F)return;const K=F.style.opacity==="0";if(B){const z=`${l.value}-tabs-bar--disabled`,{barWidth:C,placement:_}=e;if(B.dataset.disabled==="true"?F.classList.add(z):F.classList.remove(z),["top","bottom"].includes(_)){if(V(["top","maxHeight","height"]),typeof C=="number"&&B.offsetWidth>=C){const ne=Math.floor((B.offsetWidth-C)/2)+B.offsetLeft;F.style.left=`${ne}px`,F.style.maxWidth=`${C}px`}else F.style.left=`${B.offsetLeft}px`,F.style.maxWidth=`${B.offsetWidth}px`;F.style.width="8192px",K&&(F.style.transition="none"),F.offsetWidth,K&&(F.style.transition="",F.style.opacity="1")}else{if(V(["left","maxWidth","width"]),typeof C=="number"&&B.offsetHeight>=C){const ne=Math.floor((B.offsetHeight-C)/2)+B.offsetTop;F.style.top=`${ne}px`,F.style.maxHeight=`${C}px`}else F.style.top=`${B.offsetTop}px`,F.style.maxHeight=`${B.offsetHeight}px`;F.style.height="8192px",K&&(F.style.transition="none"),F.offsetHeight,K&&(F.style.transition="",F.style.opacity="1")}}}function E(){if(e.type==="card")return;const{value:B}=f;B&&(B.style.opacity="0")}function V(B){const{value:F}=f;if(F)for(const K of B)F.style[K]=""}function O(){if(e.type==="card")return;const B=b();B?S(B):E()}function H(){var B;const F=(B=p.value)===null||B===void 0?void 0:B.$el;if(!F)return;const K=b();if(!K)return;const{scrollLeft:z,offsetWidth:C}=F,{offsetLeft:_,offsetWidth:ne}=K;z>_?F.scrollTo({top:0,left:_,behavior:"smooth"}):_+ne>z+C&&F.scrollTo({top:0,left:_+ne-C,behavior:"smooth"})}const j=o.ref(null);let J=0,D=null;function Y(B){const F=j.value;if(F){J=B.getBoundingClientRect().height;const K=`${J}px`,z=()=>{F.style.height=K,F.style.maxHeight=K};D?(z(),D(),D=null):D=z}}function X(B){const F=j.value;if(F){const K=B.getBoundingClientRect().height,z=()=>{document.body.offsetHeight,F.style.maxHeight=`${K}px`,F.style.height=`${Math.max(J,K)}px`};D?(D(),D=null,z()):D=z}}function oe(){const B=j.value;if(B){B.style.maxHeight="",B.style.height="";const{paneWrapperStyle:F}=e;if(typeof F=="string")B.style.cssText=F;else if(F){const{maxHeight:K,height:z}=F;K!==void 0&&(B.style.maxHeight=K),z!==void 0&&(B.style.height=z)}}}const be={value:[]},ie=o.ref("next");function fe(B){const F=$.value;let K="next";for(const z of be.value){if(z===F)break;if(z===B){K="prev";break}}ie.value=K,U(B)}function U(B){const{onActiveNameChange:F,onUpdateValue:K,"onUpdate:value":z}=e;F&&de(F,B),K&&de(K,B),z&&de(z,B),L.value=B}function ee(B){const{onClose:F}=e;F&&de(F,B)}function ve(){const{value:B}=f;if(!B)return;const F="transition-disabled";B.classList.add(F),O(),B.classList.remove(F)}const we=o.ref(null);function re({transitionDisabled:B}){const F=c.value;if(!F)return;B&&F.classList.add("transition-disabled");const K=b();K&&we.value&&(we.value.style.width=`${K.offsetWidth}px`,we.value.style.height=`${K.offsetHeight}px`,we.value.style.transform=`translateX(${K.offsetLeft-ot(getComputedStyle(F).paddingLeft)}px)`,B&&we.value.offsetWidth),B&&F.classList.remove("transition-disabled")}o.watch([$],()=>{e.type==="segment"&&o.nextTick(()=>{re({transitionDisabled:!1})})}),o.onMounted(()=>{e.type==="segment"&&re({transitionDisabled:!0})});let Se=0;function Ce(B){var F;if(B.contentRect.width===0&&B.contentRect.height===0||Se===B.contentRect.width)return;Se=B.contentRect.width;const{type:K}=e;if((K==="line"||K==="bar")&&ve(),K!=="segment"){const{placement:z}=e;De((z==="top"||z==="bottom"?(F=p.value)===null||F===void 0?void 0:F.$el:h.value)||null)}}const le=ri(Ce,64);o.watch([()=>e.justifyContent,()=>e.size],()=>{o.nextTick(()=>{const{type:B}=e;(B==="line"||B==="bar")&&ve()})});const Me=o.ref(!1);function Re(B){var F;const{target:K,contentRect:{width:z}}=B,C=K.parentElement.offsetWidth;if(!Me.value)C<z&&(Me.value=!0);else{const{value:_}=g;if(!_)return;C-z>_.$el.offsetWidth&&(Me.value=!1)}De(((F=p.value)===null||F===void 0?void 0:F.$el)||null)}const Le=ri(Re,64);function Ie(){const{onAdd:B}=e;B&&B(),o.nextTick(()=>{const F=b(),{value:K}=p;!F||!K||K.scrollTo({left:F.offsetLeft,top:0,behavior:"smooth"})})}function De(B){if(!B)return;const{placement:F}=e;if(F==="top"||F==="bottom"){const{scrollLeft:K,scrollWidth:z,offsetWidth:C}=B;w.value=K<=0,y.value=K+C>=z}else{const{scrollTop:K,scrollHeight:z,offsetHeight:C}=B;w.value=K<=0,y.value=K+C>=z}}const Ue=ri(B=>{De(B.target)},64);o.provide($i,{triggerRef:o.toRef(e,"trigger"),tabStyleRef:o.toRef(e,"tabStyle"),tabClassRef:o.toRef(e,"tabClass"),addTabStyleRef:o.toRef(e,"addTabStyle"),addTabClassRef:o.toRef(e,"addTabClass"),paneClassRef:o.toRef(e,"paneClass"),paneStyleRef:o.toRef(e,"paneStyle"),mergedClsPrefixRef:l,typeRef:o.toRef(e,"type"),closableRef:o.toRef(e,"closable"),valueRef:$,tabChangeIdRef:k,onBeforeLeaveRef:o.toRef(e,"onBeforeLeave"),activateTab:fe,handleClose:ee,handleAdd:Ie}),oa(()=>{O(),H()}),o.watchEffect(()=>{const{value:B}=u;if(!B)return;const{value:F}=l,K=`${F}-tabs-nav-scroll-wrapper--shadow-start`,z=`${F}-tabs-nav-scroll-wrapper--shadow-end`;w.value?B.classList.remove(K):B.classList.add(K),y.value?B.classList.remove(z):B.classList.add(z)});const ke={syncBarPosition:()=>{O()}},q=()=>{re({transitionDisabled:!0})},A=o.computed(()=>{const{value:B}=m,{type:F}=e,K={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[F],z=`${B}${K}`,{self:{barColor:C,closeIconColor:_,closeIconColorHover:ne,closeIconColorPressed:xe,tabColor:ze,tabBorderColor:Ne,paneTextColor:Ae,tabFontWeight:Be,tabBorderRadius:qe,tabFontWeightActive:st,colorSegment:Je,fontWeightStrong:it,tabColorSegment:v,closeSize:N,closeIconSize:Z,closeColorHover:ae,closeColorPressed:se,closeBorderRadius:ce,[Q("panePadding",B)]:ue,[Q("tabPadding",z)]:ge,[Q("tabPaddingVertical",z)]:Te,[Q("tabGap",z)]:ut,[Q("tabGap",`${z}Vertical`)]:Yt,[Q("tabTextColor",F)]:wn,[Q("tabTextColorActive",F)]:Zt,[Q("tabTextColorHover",F)]:Jt,[Q("tabTextColorDisabled",F)]:fo,[Q("tabFontSize",B)]:ho},common:{cubicBezierEaseInOut:Dn}}=d.value;return{"--n-bezier":Dn,"--n-color-segment":Je,"--n-bar-color":C,"--n-tab-font-size":ho,"--n-tab-text-color":wn,"--n-tab-text-color-active":Zt,"--n-tab-text-color-disabled":fo,"--n-tab-text-color-hover":Jt,"--n-pane-text-color":Ae,"--n-tab-border-color":Ne,"--n-tab-border-radius":qe,"--n-close-size":N,"--n-close-icon-size":Z,"--n-close-color-hover":ae,"--n-close-color-pressed":se,"--n-close-border-radius":ce,"--n-close-icon-color":_,"--n-close-icon-color-hover":ne,"--n-close-icon-color-pressed":xe,"--n-tab-color":ze,"--n-tab-font-weight":Be,"--n-tab-font-weight-active":st,"--n-tab-padding":ge,"--n-tab-padding-vertical":Te,"--n-tab-gap":ut,"--n-tab-gap-vertical":Yt,"--n-pane-padding-left":dt(ue,"left"),"--n-pane-padding-right":dt(ue,"right"),"--n-pane-padding-top":dt(ue,"top"),"--n-pane-padding-bottom":dt(ue,"bottom"),"--n-font-weight-strong":it,"--n-tab-color-segment":v}}),te=s?et("tabs",o.computed(()=>`${m.value[0]}${e.type[0]}`),A,e):void 0;return Object.assign({mergedClsPrefix:l,mergedValue:$,renderedNames:new Set,segmentCapsuleElRef:we,tabsPaneWrapperRef:j,tabsElRef:c,barElRef:f,addTabInstRef:g,xScrollInstRef:p,scrollWrapperElRef:u,addTabFixed:Me,tabWrapperStyle:M,handleNavResize:le,mergedSize:m,handleScroll:Ue,handleTabsResize:Le,cssVars:s?void 0:A,themeClass:te==null?void 0:te.themeClass,animationDirection:ie,renderNameListRef:be,yScrollElRef:h,handleSegmentResize:q,onAnimationBeforeLeave:Y,onAnimationEnter:X,onAnimationAfterEnter:oe,onRender:te==null?void 0:te.onRender},ke)},render(){const{mergedClsPrefix:e,type:t,placement:n,addTabFixed:r,addable:i,mergedSize:a,renderNameListRef:l,onRender:s,paneWrapperClass:d,paneWrapperStyle:c,$slots:{default:f,prefix:u,suffix:g}}=this;s==null||s();const p=f?zn(f()).filter(k=>k.type.__TAB_PANE__===!0):[],h=f?zn(f()).filter(k=>k.type.__TAB__===!0):[],w=!h.length,y=t==="card",m=t==="segment",P=!y&&!m&&this.justifyContent;l.value=[];const L=()=>{const k=o.h("div",{style:this.tabWrapperStyle,class:[`${e}-tabs-wrapper`]},P?null:o.h("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}),w?p.map((M,b)=>(l.value.push(M.props.name),zi(o.h(ki,Object.assign({},M.props,{internalCreatedByPane:!0,internalLeftPadded:b!==0&&(!P||P==="center"||P==="start"||P==="end")}),M.children?{default:M.children.tab}:void 0)))):h.map((M,b)=>(l.value.push(M.props.name),zi(b!==0&&!P?Ms(M):M))),!r&&i&&y?Es(i,(w?p.length:h.length)!==0):null,P?null:o.h("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}));return o.h("div",{ref:"tabsElRef",class:`${e}-tabs-nav-scroll-content`},y&&i?o.h(jt,{onResize:this.handleTabsResize},{default:()=>k}):k,y?o.h("div",{class:`${e}-tabs-pad`}):null,y?null:o.h("div",{ref:"barElRef",class:`${e}-tabs-bar`}))},$=m?"top":n;return o.h("div",{class:[`${e}-tabs`,this.themeClass,`${e}-tabs--${t}-type`,`${e}-tabs--${a}-size`,P&&`${e}-tabs--flex`,`${e}-tabs--${$}`],style:this.cssVars},o.h("div",{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${$}`,`${e}-tabs-nav`]},Oe(u,k=>k&&o.h("div",{class:`${e}-tabs-nav__prefix`},k)),m?o.h(jt,{onResize:this.handleSegmentResize},{default:()=>o.h("div",{class:`${e}-tabs-rail`,ref:"tabsElRef"},o.h("div",{class:`${e}-tabs-capsule`,ref:"segmentCapsuleElRef"},o.h("div",{class:`${e}-tabs-wrapper`},o.h("div",{class:`${e}-tabs-tab`}))),w?p.map((k,M)=>(l.value.push(k.props.name),o.h(ki,Object.assign({},k.props,{internalCreatedByPane:!0,internalLeftPadded:M!==0}),k.children?{default:k.children.tab}:void 0))):h.map((k,M)=>(l.value.push(k.props.name),M===0?k:Ms(k))))}):o.h(jt,{onResize:this.handleNavResize},{default:()=>o.h("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes($)?o.h(Ic,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:L}):o.h("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},L()))}),r&&i&&y?Es(i,!0):null,Oe(g,k=>k&&o.h("div",{class:`${e}-tabs-nav__suffix`},k))),w&&(this.animated&&($==="top"||$==="bottom")?o.h("div",{ref:"tabsPaneWrapperRef",style:c,class:[`${e}-tabs-pane-wrapper`,d]},Bs(p,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Bs(p,this.mergedValue,this.renderedNames)))}});function Bs(e,t,n,r,i,a,l){const s=[];return e.forEach(d=>{const{name:c,displayDirective:f,"display-directive":u}=d.props,g=h=>f===h||u===h,p=t===c;if(d.key!==void 0&&(d.key=c),p||g("show")||g("show:lazy")&&n.has(c)){n.has(c)||n.add(c);const h=!g("if");s.push(h?o.withDirectives(d,[[o.vShow,p]]):d)}}),l?o.h(o.TransitionGroup,{name:`${l}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:a},{default:()=>s}):s}function Es(e,t){return o.h(ki,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:typeof e=="object"&&e.disabled})}function Ms(e){const t=o.cloneVNode(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function zi(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes("internalLeftPadded")||e.dynamicProps.push("internalLeftPadded"):e.dynamicProps=["internalLeftPadded"],e}async function B0(e,t,n){try{const{data:r}=await en().POST("/api/visualizations",{type:e,title:t,config:n});return r.id}catch(r){rr(r)}}async function E0(e,t,n){try{await en().PUT(`/api/visualizations/${e}`,{title:t,config:n})}catch(r){rr(r)}}function Is(e){const t={};return e&&e.forEach(n=>{n.name?t[n.name]=n.value??null:console.debug("Warning: Detected input element with no name.")}),t}const M0={key:2,class:"border border-dotted border-green-600 rounded mt-2 p-2"},I0=o.defineComponent({__name:"InputConditional",props:o.mergeModels({datasetId:{},input:{}},{value:{},valueModifiers:{}}),emits:o.mergeModels(["update:value"],["update:value"]),setup(e,{emit:t}){const n=e,r=t;if(!n.input.test_param)throw`The conditional '${n.input.name}' is missing a test parameter.`;if(!n.input.cases||n.input.cases.length===0)throw`The conditional '${n.input.name}' is missing a cases.`;const i=o.ref(n.input.test_param),a=i.value.name;a||console.error(`Test parameter has no name: ${n.input.name}.`);const l=o.useModel(e,"value");(!l.value||!(a in l.value))&&console.error(`Test parameter of conditional not available: ${n.input.name}.`,l.value);const s=o.ref(l.value&&l.value[a]),d=o.computed(()=>{const p={};if(n.input.cases&&n.input.cases.length>0)for(const h of n.input.cases)p[h.value]=Is(h.inputs),p[h.value][a]=h.value;return p}),c=o.computed(()=>{const p={};if(n.input.cases&&n.input.cases.length>0)for(const h of n.input.cases)p[h.value]=h.inputs;return p}),f=o.computed(()=>c.value[s.value]),u=o.computed({get(){return s.value==="true"},set(p){s.value=String(p)}});function g(p){let h={...d.value[s.value]};if(p){const w={};f.value.forEach(y=>{w[y.name]=p[y.name]}),h={...h,...p}}r("update:value",h)}return o.watch(()=>s.value,()=>{g()}),(p,h)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[i.value.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(Ps),{key:0,value:u.value,"onUpdate:value":h[0]||(h[0]=w=>u.value=w)},null,8,["value"])):(o.openBlock(),o.createBlock(o.unref(nr),{key:1,value:s.value,"onUpdate:value":h[1]||(h[1]=w=>s.value=w),options:i.value.data},null,8,["value","options"])),f.value?(o.openBlock(),o.createElementBlock("div",M0,[o.createVNode(Ti,{"dataset-id":p.datasetId,inputs:f.value,values:l.value,"onUpdate:values":g},null,8,["dataset-id","inputs","values"])])):o.createCommentVNode("",!0)],64))}}),O0={key:0,class:"mb-1"},A0={key:1,class:"text-red-600 mb-1"},F0=o.createElementVNode("span",null,"Please select a dataset.",-1),D0=100,V0=o.defineComponent({__name:"InputData",props:o.mergeModels({extension:{},optional:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,n=o.ref([]),r=o.useModel(e,"value"),i=o.ref(!1),a=o.ref(null);async function l(d){i.value=!0;try{const c=t.extension?`q=extension-eq&qv=${t.extension}`:"",f=d?`q=name-contains&qv=${d}`:"",{data:u}=await en().GET(`/api/datasets?limit=${D0}&${c}&${f}`);if(u&&u.length>0){const g=u.map(p=>({label:p.name,value:{id:p.id,name:p.name}}));g.push({label:"...filter for more",value:null,disabled:!0}),t.optional&&g.unshift({label:"-- Clear Selection --",value:null}),n.value=g}}catch(c){console.log(c)}finally{i.value=!1}}function s(){r.value=a.value,a.value=null}return l(),(d,c)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[r.value?(o.openBlock(),o.createElementBlock("div",O0,[o.createVNode(o.unref(yt),{class:"size-3 mr-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Di))]),_:1}),o.createElementVNode("span",null,"Selected: "+o.toDisplayString(r.value.name),1)])):d.optional?o.createCommentVNode("",!0):(o.openBlock(),o.createElementBlock("div",A0,[o.createVNode(o.unref(yt),{class:"size-3 mr-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Vi))]),_:1}),F0])),o.createVNode(o.unref(nr),{value:a.value,"onUpdate:value":[c[0]||(c[0]=f=>a.value=f),s],filterable:"",placeholder:"Select a Dataset",loading:i.value,options:n.value,onSearch:l},null,8,["value","loading","options"])],64))}});function H0(e,t,n,r){const i=[];t&&i.push({label:"Column: Default",value:"auto"});const a=e.metadata_column_types;for(const l in a)(r&&["int","float"].includes(a[l])||n&&a[l]==="str"||!r&&!n)&&i.push({label:"Column: "+(parseInt(l)+1),value:l});return i}const L0=o.defineComponent({__name:"InputDataColumn",props:o.mergeModels({datasetId:{},isAuto:{type:Boolean},isText:{type:Boolean},isNumber:{type:Boolean}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,n=o.ref([]),r=o.useModel(e,"value");async function i(){if(t.datasetId)try{const{data:l}=await en().GET(`/api/datasets/${t.datasetId}`),s=H0(l,t.isAuto,t.isText,t.isNumber);n.value=s,a()}catch(l){console.log(l)}else console.log("Data column input disabled, since `datasetId` is unavailable.")}function a(){n.value.length>0&&r.value===null&&(r.value=n.value[0].value)}return i(),o.watch(()=>r.value,()=>a()),(l,s)=>(o.openBlock(),o.createBlock(o.unref(nr),{value:r.value,"onUpdate:value":s[0]||(s[0]=d=>r.value=d),options:n.value},null,8,["value","options"]))}});function or(e){return String(e).toLowerCase()==="true"}const N0={class:"overflow-auto select-none"},W0={class:"font-bold pb-1"},j0={key:0,class:"text-xs pb-1"},U0={key:5},Os=.01,Ti=o.defineComponent({__name:"InputForm",props:{datasetId:{},inputs:{},values:{}},emits:["update:values"],setup(e,{emit:t}){const n=e,r=t,i=o.ref(a());function a(){const s={...n.values};return n.inputs.forEach(d=>{s[d.name]===void 0&&(s[d.name]=null)}),s}function l(){r("update:values",i.value)}return o.watch(()=>n.values,()=>{i.value=a()}),(s,d)=>(o.openBlock(),o.createElementBlock("div",N0,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(s.inputs,(c,f)=>(o.openBlock(),o.createElementBlock("div",{key:f,class:"pb-2"},[o.createElementVNode("div",W0,o.toDisplayString(c.label||c.name),1),c.help?(o.openBlock(),o.createElementBlock("div",j0,o.toDisplayString(c.help),1)):o.createCommentVNode("",!0),o.createElementVNode("div",null,[c.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(Ps),{key:0,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[0]||(d[0]=u=>l())]},null,8,["value","onUpdate:value"])):c.type==="color"?(o.openBlock(),o.createBlock(o.unref(Fv),{key:1,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[1]||(d[1]=u=>l())],modes:["hex"],"show-alpha":!1},null,8,["value","onUpdate:value"])):c.type==="conditional"?(o.openBlock(),o.createBlock(I0,{key:2,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[2]||(d[2]=u=>l())],"dataset-id":s.datasetId,input:c},null,8,["value","onUpdate:value","dataset-id","input"])):c.type==="data"?(o.openBlock(),o.createBlock(V0,{key:3,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[3]||(d[3]=u=>l())],extension:c.extension,optional:o.unref(or)(c.optional)},null,8,["value","onUpdate:value","extension","optional"])):c.type==="data_column"?(o.openBlock(),o.createBlock(L0,{key:4,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[4]||(d[4]=u=>l())],"dataset-id":s.datasetId,"is-auto":o.unref(or)(c.is_auto),"is-text":o.unref(or)(c.is_text),"is-number":o.unref(or)(c.is_number)},null,8,["value","onUpdate:value","dataset-id","is-auto","is-text","is-number"])):c.type==="float"?(o.openBlock(),o.createElementBlock("div",U0,[c.min!==void 0&&c.max!==void 0?(o.openBlock(),o.createBlock(o.unref($0),{key:0,class:"mb-2",value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[5]||(d[5]=u=>l())],min:Number(c.min),max:Number(c.max),step:Os},null,8,["value","onUpdate:value","min","max"])):o.createCommentVNode("",!0),o.createVNode(o.unref(y0),{value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[6]||(d[6]=u=>l())],size:"small",min:Number(c.min),max:Number(c.max),step:Os},null,8,["value","onUpdate:value","min","max"])])):c.type==="select"?(o.openBlock(),o.createBlock(o.unref(nr),{key:6,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[7]||(d[7]=u=>l())],options:c.data},null,8,["value","onUpdate:value","options"])):c.type==="textarea"?(o.openBlock(),o.createBlock(o.unref(lo),{key:7,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[8]||(d[8]=u=>l())],rows:Number(c.rows),type:"textarea"},null,8,["value","onUpdate:value","rows"])):(o.openBlock(),o.createBlock(o.unref(lo),{key:8,value:i.value[c.name],"onUpdate:value":[u=>i.value[c.name]=u,d[9]||(d[9]=u=>l())]},null,8,["value","onUpdate:value"]))])]))),128))]))}}),G0=o.createElementVNode("span",{class:"mx-1"},"Add New Track",-1),K0={class:"border border-dotted border-green-600 rounded p-2"},q0={class:"flex text-green-600 my-1"},X0={class:"mx-1"},Y0=o.defineComponent({__name:"InputRepeats",props:{datasetId:{},inputs:{},valuesArray:{}},emits:["update:values-array"],setup(e,{emit:t}){const n=e,r=t,i=o.computed(()=>Is(n.inputs));function a(){const d=[...n.valuesArray];d.unshift(i.value),r("update:values-array",d)}function l(d){const c=[...n.valuesArray];c.splice(d,1),r("update:values-array",c)}function s(d,c){const f=[...n.valuesArray];f[d]={...c},r("update:values-array",f)}return(d,c)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(It),{size:"tiny",type:"primary",class:"mb-2",onClick:a},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Gs))]),_:1}),G0]),_:1}),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(d.valuesArray,(f,u)=>(o.openBlock(),o.createElementBlock("div",{key:u,class:"my-2"},[o.createElementVNode("div",K0,[o.createVNode(Ti,{"dataset-id":d.datasetId,inputs:d.inputs,values:f,"onUpdate:values":g=>s(u,g)},null,8,["dataset-id","inputs","values","onUpdate:values"]),o.createElementVNode("div",q0,[o.createVNode(o.unref(It),{class:"text-green-600 w-full",size:"tiny",round:"",disabled:d.valuesArray.length<=1,onClick:g=>l(u)},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(qs))]),_:1}),o.createElementVNode("span",X0,"Remove Track "+o.toDisplayString(d.valuesArray.length-u),1)]),_:2},1032,["disabled","onClick"])])])]))),128))],64))}}),Z0=2e3,J0=o.defineComponent({__name:"AlertNotify",props:{message:{},messageType:{default:"info"}},emits:["timeout"],setup(e,{emit:t}){const n=e,r=t;let i=null;return o.watch(()=>n.message,()=>{i&&clearTimeout(i),i=setTimeout(()=>r("timeout"),Z0)}),(a,l)=>a.message?(o.openBlock(),o.createBlock(o.unref(hs),{key:0,type:a.messageType,class:"m-4"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(a.message),1)]),_:1},8,["type"])):o.createCommentVNode("",!0)}}),Q0={class:"text-xs"},ex=o.createElementVNode("span",{class:"text-xs"},"Galaxy is not accessible!",-1),tx=o.defineComponent({__name:"ApiStatus",setup(e){const t=o.ref("...");async function n(){try{const{data:r}=await en().GET("/api/version");t.value=r.version_major}catch{console.log("Unable to connect to Galaxy. Verify Galaxy is running and refer to docs."),t.value=""}}return n(),(r,i)=>t.value?(o.openBlock(),o.createBlock(o.unref(ws),{key:0,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(yt),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Di),{class:"text-green-600"})]),_:1})]),default:o.withCtx(()=>[o.createElementVNode("span",Q0,"Connected to Galaxy Version "+o.toDisplayString(t.value)+".",1)]),_:1})):(o.openBlock(),o.createBlock(o.unref(ws),{key:1,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(yt),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Vi),{class:"text-red-600"})]),_:1})]),default:o.withCtx(()=>[ex]),_:1}))}}),nx={class:"overflow-auto select-none bg-white z-10"},ox={class:"flex p-2"},rx={class:"flex-1 font-thin text-lg p-1 p-2"},ix=o.createElementVNode("span",null,"Charts",-1),ax={class:"m-4 mt-0 p-2 bg-sky-50 text-sky-900 rounded"},lx={class:"md:flex"},sx={class:"flex justify-center center-items"},dx={class:"m-2"},cx=["src"],ux={key:1,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 100 100",class:"size-14"},fx=[o.createElementVNode("circle",{cx:"50",cy:"50",r:"45",stroke:"#E30A17","stroke-width":"5"},null,-1),o.createElementVNode("path",{d:"M 50,5 A 45,45 0 0,1 95,50 L 50,50 Z",fill:"#E30A17"},null,-1)],hx={class:"overflow-hidden break-words p-1"},px={class:"font-bold"},bx=["innerHTML"],gx={class:"px-4 pb-2"},mx=o.createElementVNode("div",{class:"font-bold"},"Title",-1),vx=o.createElementVNode("div",{class:"text-xs py-1"},"Specify a visualization title.",-1),xx=o.createElementVNode("span",{class:"mx-1"},"Tracks",-1),yx=o.createElementVNode("span",{class:"mx-1"},"Settings",-1),wx=o.defineComponent({__name:"SidePanel",props:{datasetId:{},description:{},logoUrl:{},html:{},name:{},settingInputs:{},settingValues:{},trackInputs:{},trackValues:{},visualizationId:{},visualizationTitle:{}},emits:["update:tracks","update:settings","update:visualization-id","update:visualization-title","toggle"],setup(e,{emit:t}){const n=e,r=t,i=o.ref(""),a=o.ref("info"),l=o.computed(()=>n.settingInputs.length===0||n.trackInputs.length===0);async function s(){try{if(n.visualizationId)await E0(n.visualizationId,n.visualizationTitle,{dataset_id:n.datasetId,settings:n.settingValues,tracks:n.trackValues}),i.value="Successfully saved.",a.value="success";else{const u=await B0(n.name,n.visualizationTitle,{dataset_id:n.datasetId,settings:n.settingValues,tracks:n.trackValues});u?(i.value="Successfully created.",a.value="success",r("update:visualization-id",u)):(i.value="Something went wrong.",a.value="error")}}catch(u){i.value=Mi(u),a.value="error"}}function d(u){r("update:settings",u)}function c(u){r("update:tracks",u)}function f(u){r("update:visualization-title",u)}return(u,g)=>(o.openBlock(),o.createElementBlock("div",nx,[o.createElementVNode("div",ox,[o.createElementVNode("div",rx,[ix,o.createVNode(tx)]),o.createElementVNode("div",null,[o.createVNode(o.unref(It),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:s},{icon:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Us))]),_:1})]),_:1}),o.createVNode(o.unref(It),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:g[0]||(g[0]=p=>r("toggle"))},{icon:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(js))]),_:1})]),_:1})])]),o.createVNode(J0,{message:i.value,"message-type":a.value,onTimeout:g[1]||(g[1]=p=>i.value=""),class:"m-4"},null,8,["message","message-type"]),o.createElementVNode("div",ax,[o.createElementVNode("div",lx,[o.createElementVNode("div",sx,[o.createElementVNode("div",dx,[n.logoUrl?(o.openBlock(),o.createElementBlock("img",{key:0,src:n.logoUrl,class:"min-w-14 max-w-14 object-contain"},null,8,cx)):(o.openBlock(),o.createElementBlock("svg",ux,fx))])]),o.createElementVNode("div",hx,[o.createElementVNode("span",px,o.toDisplayString(u.html),1),o.createElementVNode("div",{class:"text-xs",innerHTML:u.description},null,8,bx)])])]),o.createElementVNode("div",gx,[mx,vx,o.createVNode(o.unref(lo),{value:u.visualizationTitle,onInput:f},null,8,["value"])]),o.createVNode(o.unref(_0),{type:"line",animated:"",class:"px-4","tab-class":l.value?"!hidden":""},{default:o.withCtx(()=>[u.trackInputs.length>0?(o.openBlock(),o.createBlock(o.unref(_s),{key:0,name:"tracks"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ks))]),_:1}),xx]),default:o.withCtx(()=>[o.createVNode(Y0,{"dataset-id":u.datasetId,inputs:u.trackInputs,"values-array":u.trackValues,"onUpdate:valuesArray":c},null,8,["dataset-id","inputs","values-array"])]),_:1})):o.createCommentVNode("",!0),u.settingInputs.length>0?(o.openBlock(),o.createBlock(o.unref(_s),{key:1,name:"settings"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ls))]),_:1}),yx]),default:o.withCtx(()=>[o.createVNode(Ti,{"dataset-id":u.datasetId,inputs:u.settingInputs,values:u.settingValues,"onUpdate:values":d},null,8,["dataset-id","inputs","values"])]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["tab-class"])]))}});async function Cx(e,t={}){const n=Fs(e.settings,t.settings),r=e.specs,i=$x(e.tracks,t.tracks);return{plugin:e,settings:n,specs:r,tracks:i}}function As(e,t){let n=t??e.value;return e.type==="float"&&(n=Number(n)),n}function Sx(e,t={}){var i,a,l;const n=t,r=(i=e.test_param)==null?void 0:i.name;if(!r)console.error(`Test parameter has no name: ${e.name}.`);else{const s=n[r]??((a=e.test_param)==null?void 0:a.value);for(const d of e.cases||[])if(d.value===s&&(n[r]=s,(l=d.inputs)!=null&&l.length))for(const c of d.inputs)n[c.name]=As(c,n[c.name])}return n}function Fs(e,t){const n=t||{};return e==null||e.forEach(r=>{r.type==="conditional"?n[r.name]=Sx(r,n[r.name]):n[r.name]=As(r,n[r.name])}),n}function $x(e,t){const n=t||[];return e&&(n.length===0&&n.push({}),n.forEach((r,i)=>{n[i]=Fs(e,r)})),n}function kx(e){if(e===void 0){const l=document.getElementById("app");e=JSON.parse((l==null?void 0:l.getAttribute("data-incoming"))||"{}")}const t=(e==null?void 0:e.root)??"/",n=(e==null?void 0:e.visualization_config)??{},r=(e==null?void 0:e.visualization_id)??null,i=(e==null?void 0:e.visualization_plugin)??{},a=(e==null?void 0:e.visualization_title)??"Unnamed Visualization";return{root:t,visualizationConfig:n,visualizationId:r,visualizationPlugin:i,visualizationTitle:a}}const zx={key:1,class:"m-2"},Tx=o.createElementVNode("span",{class:"text-xs"},"Please wait...",-1),Px={key:0},Rx=o.defineComponent({__name:"GalaxyCharts",props:{credentials:{},incoming:{}},setup(e){const t=e,{root:n,visualizationConfig:r,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}=kx(t.incoming),s=o.ref(!1),d=o.ref(""),c=o.ref(""),f=o.ref(""),u=o.ref(""),g=o.ref(!0),p=o.ref(""),h=o.ref(""),w=o.ref([]),y=o.ref({}),m=o.ref({}),P=o.ref([]),L=o.ref([]),$=o.ref(i),k=o.ref(l),M=Ai();M.setCredentials(t.credentials||"include"),M.setRoot(n||"/"),Cx(a,r).then(({plugin:D,settings:Y,specs:X,tracks:oe})=>{c.value=D.description||"",u.value=D.html||"",g.value=!1,p.value=D.logo||"",h.value=D.name||"",w.value=D.settings||[],y.value=Y,m.value=X||{},P.value=D.tracks||[],L.value=oe});const b=r.dataset_id||"";r.dataset_url?(d.value=r.dataset_url,console.debug(`GalaxyCharts: Evaluating dataset url: ${d.value}.`)):b?(d.value=Vs(b),console.debug(`GalaxyCharts: Built dataset url from dataset id: ${d.value}.`)):f.value="Visualization requires `dataset_id` or `dataset_url`.";const S=o.computed(()=>p.value&&`${n}${p.value}`),E=o.computed(()=>w.value.length===0&&P.value.length===0);async function V(){s.value=!s.value,await o.nextTick(),window.dispatchEvent(new Event("resize"))}function O(D){y.value={...D}}function H(D){L.value=[...D]}function j(D){$.value=D}function J(D){k.value=D}return(D,Y)=>f.value?(o.openBlock(),o.createBlock(o.unref(hs),{key:0,title:"Visualization Error!",type:"error",class:"m-2"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(f.value),1)]),_:1})):g.value?(o.openBlock(),o.createElementBlock("div",zx,[o.createElementVNode("span",null,[o.createVNode(o.unref(Ns),{class:"animate-spin size-4 inline mx-1"})]),Tx])):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["grid h-screen",{"grid-cols-[70%_30%]":!s.value&&!E.value}])},[o.renderSlot(D.$slots,"default",{datasetId:o.unref(b),datasetUrl:d.value,root:o.unref(n),settings:y.value,specs:m.value,tracks:L.value}),s.value&&!E.value?(o.openBlock(),o.createElementBlock("div",Px,[o.createVNode(o.unref(b0),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2",top:0,right:0,onClick:V},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ws))]),_:1})]),_:1})])):E.value?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(wx,{key:1,"dataset-id":o.unref(b),description:c.value,html:u.value,"logo-url":S.value,name:h.value,"setting-inputs":w.value,"setting-values":y.value,"track-inputs":P.value,"track-values":L.value,"visualization-id":$.value,"visualization-title":k.value,"onUpdate:settings":O,"onUpdate:tracks":H,"onUpdate:visualizationId":j,"onUpdate:visualizationTitle":J,onToggle:V},null,8,["dataset-id","description","html","logo-url","name","setting-inputs","setting-values","track-inputs","track-values","visualization-id","visualization-title"]))],2))}});We.GalaxyApi=en,We.GalaxyCharts=Rx,We.useColumnsStore=Hs,Object.defineProperty(We,Symbol.toStringTag,{value:"Module"})});
|