galaxy-charts 0.0.43 → 0.0.44
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
|
@@ -19475,9 +19475,10 @@ const Yy = {
|
|
|
19475
19475
|
}
|
|
19476
19476
|
function L() {
|
|
19477
19477
|
try {
|
|
19478
|
-
window.
|
|
19478
|
+
window.postMessage({
|
|
19479
19479
|
container: t.container,
|
|
19480
|
-
content: JSON.stringify(H())
|
|
19480
|
+
content: JSON.stringify(H()),
|
|
19481
|
+
source: "galaxy-charts"
|
|
19481
19482
|
});
|
|
19482
19483
|
} catch (J) {
|
|
19483
19484
|
console.error(`Failed to postMessage: ${J}`);
|
|
@@ -2065,4 +2065,4 @@ ${t}
|
|
|
2065
2065
|
border-top: 1px solid var(--n-tab-border-color);
|
|
2066
2066
|
`),w("tabs-pad",`
|
|
2067
2067
|
border-top: 1px solid var(--n-tab-border-color);
|
|
2068
|
-
`)])])])]),_0=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]}),B0=o.defineComponent({name:"Tabs",props:_0,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",R0,l0,e,l),c=o.ref(null),f=o.ref(null),u=o.ref(null),b=o.ref(null),m=o.ref(null),h=o.ref(null),x=o.ref(!0),y=o.ref(!0),g=To(e,["labelSize","size"]),P=To(e,["activeName","value"]),H=o.ref((r=(n=P.value)!==null&&n!==void 0?n:e.defaultValue)!==null&&r!==void 0?r:t.default?(a=(i=Tn(t.default())[0])===null||i===void 0?void 0:i.props)===null||a===void 0?void 0:a.name:null),$=vt(P,H),k={id:0},M=o.computed(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});o.watch($,()=>{k.id=0,O(),V()});function p(){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(D(["top","maxHeight","height"]),typeof C=="number"&&B.offsetWidth>=C){const oe=Math.floor((B.offsetWidth-C)/2)+B.offsetLeft;F.style.left=`${oe}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(D(["left","maxWidth","width"]),typeof C=="number"&&B.offsetHeight>=C){const oe=Math.floor((B.offsetHeight-C)/2)+B.offsetTop;F.style.top=`${oe}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 D(B){const{value:F}=f;if(F)for(const K of B)F.style[K]=""}function O(){if(e.type==="card")return;const B=p();B?S(B):E()}function V(){var B;const F=(B=m.value)===null||B===void 0?void 0:B.$el;if(!F)return;const K=p();if(!K)return;const{scrollLeft:z,offsetWidth:C}=F,{offsetLeft:_,offsetWidth:oe}=K;z>_?F.scrollTo({top:0,left:_,behavior:"smooth"}):_+oe>z+C&&F.scrollTo({top:0,left:_+oe-C,behavior:"smooth"})}const j=o.ref(null);let Q=0,N=null;function Z(B){const F=j.value;if(F){Q=B.getBoundingClientRect().height;const K=`${Q}px`,z=()=>{F.style.height=K,F.style.maxHeight=K};N?(z(),N(),N=null):N=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(Q,K)}px`};N?(N(),N=null,z()):N=z}}function Y(){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 de={value:[]},ie=o.ref("next");function ue(B){const F=$.value;let K="next";for(const z of de.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&&ce(F,B),K&&ce(K,B),z&&ce(z,B),H.value=B}function te(B){const{onClose:F}=e;F&&ce(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=p();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=m.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:_}=b;if(!_)return;C-z>_.$el.offsetWidth&&(Me.value=!1)}De(((F=m.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=p(),{value:K}=m;!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;x.value=K<=0,y.value=K+C>=z}else{const{scrollTop:K,scrollHeight:z,offsetHeight:C}=B;x.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:ue,handleClose:te,handleAdd:Ie}),ra(()=>{O(),V()}),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`;x.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}=g,{type:F}=e,K={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[F],z=`${B}${K}`,{self:{barColor:C,closeIconColor:_,closeIconColorHover:oe,closeIconColorPressed:xe,tabColor:ze,tabBorderColor:Ne,paneTextColor:Ae,tabFontWeight:Be,tabBorderRadius:qe,tabFontWeightActive:st,colorSegment:Je,fontWeightStrong:it,tabColorSegment:v,closeSize:L,closeIconSize:J,closeColorHover:ae,closeColorPressed:se,closeBorderRadius:fe,[ee("panePadding",B)]:he,[ee("tabPadding",z)]:ge,[ee("tabPaddingVertical",z)]:Te,[ee("tabGap",z)]:ut,[ee("tabGap",`${z}Vertical`)]:Yt,[ee("tabTextColor",F)]:wn,[ee("tabTextColorActive",F)]:Zt,[ee("tabTextColorHover",F)]:Jt,[ee("tabTextColorDisabled",F)]:po,[ee("tabFontSize",B)]:bo},common:{cubicBezierEaseInOut:Vn}}=d.value;return{"--n-bezier":Vn,"--n-color-segment":Je,"--n-bar-color":C,"--n-tab-font-size":bo,"--n-tab-text-color":wn,"--n-tab-text-color-active":Zt,"--n-tab-text-color-disabled":po,"--n-tab-text-color-hover":Jt,"--n-pane-text-color":Ae,"--n-tab-border-color":Ne,"--n-tab-border-radius":qe,"--n-close-size":L,"--n-close-icon-size":J,"--n-close-color-hover":ae,"--n-close-color-pressed":se,"--n-close-border-radius":fe,"--n-close-icon-color":_,"--n-close-icon-color-hover":oe,"--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(he,"left"),"--n-pane-padding-right":dt(he,"right"),"--n-pane-padding-top":dt(he,"top"),"--n-pane-padding-bottom":dt(he,"bottom"),"--n-font-weight-strong":it,"--n-tab-color-segment":v}}),ne=s?et("tabs",o.computed(()=>`${g.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:b,xScrollInstRef:m,scrollWrapperElRef:u,addTabFixed:Me,tabWrapperStyle:M,handleNavResize:le,mergedSize:g,handleScroll:Ue,handleTabsResize:Le,cssVars:s?void 0:A,themeClass:ne==null?void 0:ne.themeClass,animationDirection:ie,renderNameListRef:de,yScrollElRef:h,handleSegmentResize:q,onAnimationBeforeLeave:Z,onAnimationEnter:X,onAnimationAfterEnter:Y,onRender:ne==null?void 0:ne.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:b}}=this;s==null||s();const m=f?Tn(f()).filter(k=>k.type.__TAB_PANE__===!0):[],h=f?Tn(f()).filter(k=>k.type.__TAB__===!0):[],x=!h.length,y=t==="card",g=t==="segment",P=!y&&!g&&this.justifyContent;l.value=[];const H=()=>{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`}}),x?m.map((M,p)=>(l.value.push(M.props.name),zi(o.h(ki,Object.assign({},M.props,{internalCreatedByPane:!0,internalLeftPadded:p!==0&&(!P||P==="center"||P==="start"||P==="end")}),M.children?{default:M.children.tab}:void 0)))):h.map((M,p)=>(l.value.push(M.props.name),zi(p!==0&&!P?Is(M):M))),!r&&i&&y?Ms(i,(x?m.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`}))},$=g?"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)),g?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`}))),x?m.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:Is(k))))}):o.h(jt,{onResize:this.handleNavResize},{default:()=>o.h("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes($)?o.h(Oc,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:H}):o.h("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},H()))}),r&&i&&y?Ms(i,!0):null,Oe(b,k=>k&&o.h("div",{class:`${e}-tabs-nav__suffix`},k))),x&&(this.animated&&($==="top"||$==="bottom")?o.h("div",{ref:"tabsPaneWrapperRef",style:c,class:[`${e}-tabs-pane-wrapper`,d]},Es(m,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Es(m,this.mergedValue,this.renderedNames)))}});function Es(e,t,n,r,i,a,l){const s=[];return e.forEach(d=>{const{name:c,displayDirective:f,"display-directive":u}=d.props,b=h=>f===h||u===h,m=t===c;if(d.key!==void 0&&(d.key=c),m||b("show")||b("show:lazy")&&n.has(c)){n.has(c)||n.add(c);const h=!b("if");s.push(h?o.withDirectives(d,[[o.vShow,m]]):d)}}),l?o.h(o.TransitionGroup,{name:`${l}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:a},{default:()=>s}):s}function Ms(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 Is(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 Os(e,t,n){try{const{data:r}=await en().POST("/api/visualizations",{type:e,title:t,config:n});return r.id}catch(r){$n(r)}}async function E0(e,t,n,r){try{if(t)await As(t,n,r);else return await Os(e,n,r)}catch(i){$n(i)}}async function As(e,t,n){try{await en().PUT(`/api/visualizations/${e}`,{title:t,config:n})}catch(r){$n(r)}}function Fs(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(b()),d=o.computed(()=>{const h={};if(n.input.cases&&n.input.cases.length>0)for(const x of n.input.cases)h[x.value]=Fs(x.inputs),h[x.value][a]=x.value;return h}),c=o.computed(()=>{const h={};if(n.input.cases&&n.input.cases.length>0)for(const x of n.input.cases)h[x.value]=x.inputs;return h}),f=o.computed(()=>c.value[s.value]),u=o.computed({get(){return s.value==="true"},set(h){s.value=String(h)}});function b(){return l.value&&l.value[a]}function m(h){let x={...d.value[s.value]};if(h){const y={};f.value.forEach(g=>{y[g.name]=h[g.name]}),x={...x,...h}}r("update:value",x)}return o.watch(()=>l.value,()=>{s.value=b()}),o.watch(()=>s.value,()=>{m()}),(h,x)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[i.value.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(Rs),{key:0,value:u.value,"onUpdate:value":x[0]||(x[0]=y=>u.value=y)},null,8,["value"])):(o.openBlock(),o.createBlock(o.unref(rr),{key:1,value:s.value,"onUpdate:value":x[1]||(x[1]=y=>s.value=y),options:i.value.data},null,8,["value","options"])),f.value?(o.openBlock(),o.createElementBlock("div",M0,[o.createVNode(Ti,{"dataset-id":h.datasetId,inputs:f.value,values:l.value,"onUpdate:values":m},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 b=u.map(m=>({label:m.name,value:{id:m.id,name:m.name}}));b.push({label:"...filter for more",value:null,disabled:!0}),t.optional&&b.unshift({label:"-- Clear Selection --",value:null}),n.value=b}}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(Vi))]),_: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(Hi))]),_:1}),F0])),o.createVNode(o.unref(rr),{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(rr),{value:r.value,"onUpdate:value":s[0]||(s[0]=d=>r.value=d),options:n.value},null,8,["value","options"]))}});function ho(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},Ds=.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(Rs),{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(Dv),{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(ho)(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(ho)(c.is_auto),"is-text":o.unref(ho)(c.is_text),"is-number":o.unref(ho)(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(k0),{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:Ds},null,8,["value","onUpdate:value","min","max"])):o.createCommentVNode("",!0),o.createVNode(o.unref(w0),{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:Ds},null,8,["value","onUpdate:value","min","max"])])):c.type==="select"?(o.openBlock(),o.createBlock(o.unref(rr),{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(so),{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(so),{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(()=>Fs(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(Ks))]),_: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":b=>s(u,b)},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:b=>l(u)},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Xs))]),_: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(ps),{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(Cs),{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(Vi),{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(Cs),{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(Hi),{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 As(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 Os(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=Ii(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,b)=>(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(Gs))]),_:1})]),_:1}),o.createVNode(o.unref(It),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:b[0]||(b[0]=m=>r("toggle"))},{icon:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Us))]),_:1})]),_:1})])]),o.createVNode(J0,{message:i.value,"message-type":a.value,onTimeout:b[1]||(b[1]=m=>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(so),{value:u.visualizationTitle,onInput:f},null,8,["value"])]),o.createVNode(o.unref(B0),{type:"line",animated:"",class:"px-4","tab-class":l.value?"!hidden":""},{default:o.withCtx(()=>[u.trackInputs.length>0?(o.openBlock(),o.createBlock(o.unref(Bs),{key:0,name:"tracks"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(qs))]),_: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(Bs),{key:1,name:"settings"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ns))]),_: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=Pi(e.settings,t.settings),r=e.specs,i=kx(e.tracks,t.tracks);return{plugin:e,settings:n,specs:r,tracks:i}}function Sx(e,t){let n=t??e.value;return e.type==="float"?n=Number(n):e.type==="boolean"&&(n=ho(n)),n}function $x(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||[])d.value===s&&(n[r]=s,(l=d.inputs)!=null&&l.length&&Pi(d.inputs,n))}return n}function Pi(e,t){const n=t||{};return e==null||e.forEach(r=>{r.type==="conditional"?n[r.name]=$x(r,n[r.name]):n[r.name]=Sx(r,n[r.name])}),n}function kx(e,t){const n=t||[];return e&&(n.length===0&&n.push({}),n.forEach((r,i)=>{n[i]=Pi(e,r)})),n}function zx(e,t="app"){if(e===void 0){const s=document.getElementById(t);e=JSON.parse((s==null?void 0:s.getAttribute("data-incoming"))||"{}")}const n=(e==null?void 0:e.root)??"/",r=(e==null?void 0:e.visualization_config)??{},i=(e==null?void 0:e.visualization_id)??null,a=(e==null?void 0:e.visualization_plugin)??{},l=(e==null?void 0:e.visualization_title)??"Unnamed Visualization";return{root:n,visualizationConfig:r,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}}const Tx={key:1,class:"m-2"},Px=o.createElementVNode("span",{class:"text-xs"},"Please wait...",-1),Rx={key:0},_x=o.defineComponent({__name:"GalaxyCharts",props:{container:{},credentials:{},incoming:{}},setup(e){const t=e,{root:n,visualizationConfig:r,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}=zx(t.incoming,t.container),s=o.ref(!1),d=o.ref(""),c=o.ref(""),f=o.ref(""),u=o.ref(""),b=o.ref(!0),m=o.ref(""),h=o.ref(""),x=o.ref([]),y=o.ref({}),g=o.ref({}),P=o.ref([]),H=o.ref([]),$=o.ref(i),k=o.ref(l),M=Fi();M.setCredentials(t.credentials||"include"),M.setRoot(n||"/"),Cx(a,r).then(({plugin:Y,settings:de,specs:ie,tracks:ue})=>{c.value=Y.description||"",u.value=Y.html||"",b.value=!1,m.value=Y.logo||"",h.value=Y.name||"",x.value=Y.settings||[],y.value=de,g.value=ie||{},P.value=Y.tracks||[],H.value=ue});const p=r.dataset_id||"";r.dataset_url?(d.value=r.dataset_url,console.debug(`GalaxyCharts: Evaluating dataset url: ${d.value}.`)):p?(d.value=Hs(n,p),console.debug(`GalaxyCharts: Built dataset url from dataset id: ${d.value}.`)):f.value="Visualization requires `dataset_id` or `dataset_url`.";const S=o.computed(()=>m.value&&`${n}${m.value}`),E=o.computed(()=>x.value.length===0&&P.value.length===0);function D(){return{dataset_id:p,settings:y.value,tracks:H.value}}async function O(){s.value=!s.value,await o.nextTick(),window?window.dispatchEvent(new Event("resize")):console.warn("window unavailable.")}function V(){try{window.parent.postMessage({container:t.container,content:JSON.stringify(D())})}catch(Y){console.error(`Failed to postMessage: ${Y}`)}}function j(Y){y.value={...Y},V()}function Q(Y){H.value=[...Y],V()}function N(Y){$.value=Y}function Z(Y){k.value=Y}async function X(Y){j({...y.value,...Y});try{const de=await E0(h.value,i,l,D());de&&N(de)}catch(de){console.error(de)}}return(Y,de)=>f.value?(o.openBlock(),o.createBlock(o.unref(ps),{key:0,title:"Visualization Error!",type:"error",class:"m-2"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(f.value),1)]),_:1})):b.value?(o.openBlock(),o.createElementBlock("div",Tx,[o.createElementVNode("span",null,[o.createVNode(o.unref(Ws),{class:"animate-spin size-4 inline mx-1"})]),Px])):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["grid h-screen",{"grid-cols-[70%_30%]":!s.value&&!E.value}])},[o.renderSlot(Y.$slots,"default",{datasetId:o.unref(p),datasetUrl:d.value,root:o.unref(n),settings:y.value,specs:g.value,tracks:H.value,save:X}),s.value&&!E.value?(o.openBlock(),o.createElementBlock("div",Rx,[o.createVNode(o.unref(g0),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2",top:0,right:0,onClick:O},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(js))]),_:1})]),_:1})])):E.value?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(wx,{key:1,"dataset-id":o.unref(p),description:c.value,html:u.value,"logo-url":S.value,name:h.value,"setting-inputs":x.value,"setting-values":y.value,"track-inputs":P.value,"track-values":H.value,"visualization-id":$.value,"visualization-title":k.value,"onUpdate:settings":j,"onUpdate:tracks":Q,"onUpdate:visualizationId":N,"onUpdate:visualizationTitle":Z,onToggle:O},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=_x,We.useColumnsStore=Ls,Object.defineProperty(We,Symbol.toStringTag,{value:"Module"})});
|
|
2068
|
+
`)])])])]),_0=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]}),B0=o.defineComponent({name:"Tabs",props:_0,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",R0,l0,e,l),c=o.ref(null),f=o.ref(null),u=o.ref(null),b=o.ref(null),m=o.ref(null),h=o.ref(null),x=o.ref(!0),y=o.ref(!0),g=To(e,["labelSize","size"]),P=To(e,["activeName","value"]),H=o.ref((r=(n=P.value)!==null&&n!==void 0?n:e.defaultValue)!==null&&r!==void 0?r:t.default?(a=(i=Tn(t.default())[0])===null||i===void 0?void 0:i.props)===null||a===void 0?void 0:a.name:null),$=vt(P,H),k={id:0},M=o.computed(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});o.watch($,()=>{k.id=0,O(),V()});function p(){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(D(["top","maxHeight","height"]),typeof C=="number"&&B.offsetWidth>=C){const oe=Math.floor((B.offsetWidth-C)/2)+B.offsetLeft;F.style.left=`${oe}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(D(["left","maxWidth","width"]),typeof C=="number"&&B.offsetHeight>=C){const oe=Math.floor((B.offsetHeight-C)/2)+B.offsetTop;F.style.top=`${oe}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 D(B){const{value:F}=f;if(F)for(const K of B)F.style[K]=""}function O(){if(e.type==="card")return;const B=p();B?S(B):E()}function V(){var B;const F=(B=m.value)===null||B===void 0?void 0:B.$el;if(!F)return;const K=p();if(!K)return;const{scrollLeft:z,offsetWidth:C}=F,{offsetLeft:_,offsetWidth:oe}=K;z>_?F.scrollTo({top:0,left:_,behavior:"smooth"}):_+oe>z+C&&F.scrollTo({top:0,left:_+oe-C,behavior:"smooth"})}const j=o.ref(null);let Q=0,N=null;function Z(B){const F=j.value;if(F){Q=B.getBoundingClientRect().height;const K=`${Q}px`,z=()=>{F.style.height=K,F.style.maxHeight=K};N?(z(),N(),N=null):N=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(Q,K)}px`};N?(N(),N=null,z()):N=z}}function Y(){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 de={value:[]},ie=o.ref("next");function ue(B){const F=$.value;let K="next";for(const z of de.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&&ce(F,B),K&&ce(K,B),z&&ce(z,B),H.value=B}function te(B){const{onClose:F}=e;F&&ce(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=p();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=m.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:_}=b;if(!_)return;C-z>_.$el.offsetWidth&&(Me.value=!1)}De(((F=m.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=p(),{value:K}=m;!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;x.value=K<=0,y.value=K+C>=z}else{const{scrollTop:K,scrollHeight:z,offsetHeight:C}=B;x.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:ue,handleClose:te,handleAdd:Ie}),ra(()=>{O(),V()}),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`;x.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}=g,{type:F}=e,K={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[F],z=`${B}${K}`,{self:{barColor:C,closeIconColor:_,closeIconColorHover:oe,closeIconColorPressed:xe,tabColor:ze,tabBorderColor:Ne,paneTextColor:Ae,tabFontWeight:Be,tabBorderRadius:qe,tabFontWeightActive:st,colorSegment:Je,fontWeightStrong:it,tabColorSegment:v,closeSize:L,closeIconSize:J,closeColorHover:ae,closeColorPressed:se,closeBorderRadius:fe,[ee("panePadding",B)]:he,[ee("tabPadding",z)]:ge,[ee("tabPaddingVertical",z)]:Te,[ee("tabGap",z)]:ut,[ee("tabGap",`${z}Vertical`)]:Yt,[ee("tabTextColor",F)]:wn,[ee("tabTextColorActive",F)]:Zt,[ee("tabTextColorHover",F)]:Jt,[ee("tabTextColorDisabled",F)]:po,[ee("tabFontSize",B)]:bo},common:{cubicBezierEaseInOut:Vn}}=d.value;return{"--n-bezier":Vn,"--n-color-segment":Je,"--n-bar-color":C,"--n-tab-font-size":bo,"--n-tab-text-color":wn,"--n-tab-text-color-active":Zt,"--n-tab-text-color-disabled":po,"--n-tab-text-color-hover":Jt,"--n-pane-text-color":Ae,"--n-tab-border-color":Ne,"--n-tab-border-radius":qe,"--n-close-size":L,"--n-close-icon-size":J,"--n-close-color-hover":ae,"--n-close-color-pressed":se,"--n-close-border-radius":fe,"--n-close-icon-color":_,"--n-close-icon-color-hover":oe,"--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(he,"left"),"--n-pane-padding-right":dt(he,"right"),"--n-pane-padding-top":dt(he,"top"),"--n-pane-padding-bottom":dt(he,"bottom"),"--n-font-weight-strong":it,"--n-tab-color-segment":v}}),ne=s?et("tabs",o.computed(()=>`${g.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:b,xScrollInstRef:m,scrollWrapperElRef:u,addTabFixed:Me,tabWrapperStyle:M,handleNavResize:le,mergedSize:g,handleScroll:Ue,handleTabsResize:Le,cssVars:s?void 0:A,themeClass:ne==null?void 0:ne.themeClass,animationDirection:ie,renderNameListRef:de,yScrollElRef:h,handleSegmentResize:q,onAnimationBeforeLeave:Z,onAnimationEnter:X,onAnimationAfterEnter:Y,onRender:ne==null?void 0:ne.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:b}}=this;s==null||s();const m=f?Tn(f()).filter(k=>k.type.__TAB_PANE__===!0):[],h=f?Tn(f()).filter(k=>k.type.__TAB__===!0):[],x=!h.length,y=t==="card",g=t==="segment",P=!y&&!g&&this.justifyContent;l.value=[];const H=()=>{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`}}),x?m.map((M,p)=>(l.value.push(M.props.name),zi(o.h(ki,Object.assign({},M.props,{internalCreatedByPane:!0,internalLeftPadded:p!==0&&(!P||P==="center"||P==="start"||P==="end")}),M.children?{default:M.children.tab}:void 0)))):h.map((M,p)=>(l.value.push(M.props.name),zi(p!==0&&!P?Is(M):M))),!r&&i&&y?Ms(i,(x?m.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`}))},$=g?"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)),g?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`}))),x?m.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:Is(k))))}):o.h(jt,{onResize:this.handleNavResize},{default:()=>o.h("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes($)?o.h(Oc,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:H}):o.h("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},H()))}),r&&i&&y?Ms(i,!0):null,Oe(b,k=>k&&o.h("div",{class:`${e}-tabs-nav__suffix`},k))),x&&(this.animated&&($==="top"||$==="bottom")?o.h("div",{ref:"tabsPaneWrapperRef",style:c,class:[`${e}-tabs-pane-wrapper`,d]},Es(m,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Es(m,this.mergedValue,this.renderedNames)))}});function Es(e,t,n,r,i,a,l){const s=[];return e.forEach(d=>{const{name:c,displayDirective:f,"display-directive":u}=d.props,b=h=>f===h||u===h,m=t===c;if(d.key!==void 0&&(d.key=c),m||b("show")||b("show:lazy")&&n.has(c)){n.has(c)||n.add(c);const h=!b("if");s.push(h?o.withDirectives(d,[[o.vShow,m]]):d)}}),l?o.h(o.TransitionGroup,{name:`${l}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:a},{default:()=>s}):s}function Ms(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 Is(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 Os(e,t,n){try{const{data:r}=await en().POST("/api/visualizations",{type:e,title:t,config:n});return r.id}catch(r){$n(r)}}async function E0(e,t,n,r){try{if(t)await As(t,n,r);else return await Os(e,n,r)}catch(i){$n(i)}}async function As(e,t,n){try{await en().PUT(`/api/visualizations/${e}`,{title:t,config:n})}catch(r){$n(r)}}function Fs(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(b()),d=o.computed(()=>{const h={};if(n.input.cases&&n.input.cases.length>0)for(const x of n.input.cases)h[x.value]=Fs(x.inputs),h[x.value][a]=x.value;return h}),c=o.computed(()=>{const h={};if(n.input.cases&&n.input.cases.length>0)for(const x of n.input.cases)h[x.value]=x.inputs;return h}),f=o.computed(()=>c.value[s.value]),u=o.computed({get(){return s.value==="true"},set(h){s.value=String(h)}});function b(){return l.value&&l.value[a]}function m(h){let x={...d.value[s.value]};if(h){const y={};f.value.forEach(g=>{y[g.name]=h[g.name]}),x={...x,...h}}r("update:value",x)}return o.watch(()=>l.value,()=>{s.value=b()}),o.watch(()=>s.value,()=>{m()}),(h,x)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[i.value.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(Rs),{key:0,value:u.value,"onUpdate:value":x[0]||(x[0]=y=>u.value=y)},null,8,["value"])):(o.openBlock(),o.createBlock(o.unref(rr),{key:1,value:s.value,"onUpdate:value":x[1]||(x[1]=y=>s.value=y),options:i.value.data},null,8,["value","options"])),f.value?(o.openBlock(),o.createElementBlock("div",M0,[o.createVNode(Ti,{"dataset-id":h.datasetId,inputs:f.value,values:l.value,"onUpdate:values":m},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 b=u.map(m=>({label:m.name,value:{id:m.id,name:m.name}}));b.push({label:"...filter for more",value:null,disabled:!0}),t.optional&&b.unshift({label:"-- Clear Selection --",value:null}),n.value=b}}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(Vi))]),_: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(Hi))]),_:1}),F0])),o.createVNode(o.unref(rr),{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(rr),{value:r.value,"onUpdate:value":s[0]||(s[0]=d=>r.value=d),options:n.value},null,8,["value","options"]))}});function ho(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},Ds=.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(Rs),{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(Dv),{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(ho)(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(ho)(c.is_auto),"is-text":o.unref(ho)(c.is_text),"is-number":o.unref(ho)(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(k0),{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:Ds},null,8,["value","onUpdate:value","min","max"])):o.createCommentVNode("",!0),o.createVNode(o.unref(w0),{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:Ds},null,8,["value","onUpdate:value","min","max"])])):c.type==="select"?(o.openBlock(),o.createBlock(o.unref(rr),{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(so),{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(so),{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(()=>Fs(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(Ks))]),_: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":b=>s(u,b)},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:b=>l(u)},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Xs))]),_: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(ps),{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(Cs),{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(Vi),{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(Cs),{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(Hi),{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 As(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 Os(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=Ii(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,b)=>(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(Gs))]),_:1})]),_:1}),o.createVNode(o.unref(It),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:b[0]||(b[0]=m=>r("toggle"))},{icon:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Us))]),_:1})]),_:1})])]),o.createVNode(J0,{message:i.value,"message-type":a.value,onTimeout:b[1]||(b[1]=m=>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(so),{value:u.visualizationTitle,onInput:f},null,8,["value"])]),o.createVNode(o.unref(B0),{type:"line",animated:"",class:"px-4","tab-class":l.value?"!hidden":""},{default:o.withCtx(()=>[u.trackInputs.length>0?(o.openBlock(),o.createBlock(o.unref(Bs),{key:0,name:"tracks"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(qs))]),_: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(Bs),{key:1,name:"settings"},{tab:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Ns))]),_: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=Pi(e.settings,t.settings),r=e.specs,i=kx(e.tracks,t.tracks);return{plugin:e,settings:n,specs:r,tracks:i}}function Sx(e,t){let n=t??e.value;return e.type==="float"?n=Number(n):e.type==="boolean"&&(n=ho(n)),n}function $x(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||[])d.value===s&&(n[r]=s,(l=d.inputs)!=null&&l.length&&Pi(d.inputs,n))}return n}function Pi(e,t){const n=t||{};return e==null||e.forEach(r=>{r.type==="conditional"?n[r.name]=$x(r,n[r.name]):n[r.name]=Sx(r,n[r.name])}),n}function kx(e,t){const n=t||[];return e&&(n.length===0&&n.push({}),n.forEach((r,i)=>{n[i]=Pi(e,r)})),n}function zx(e,t="app"){if(e===void 0){const s=document.getElementById(t);e=JSON.parse((s==null?void 0:s.getAttribute("data-incoming"))||"{}")}const n=(e==null?void 0:e.root)??"/",r=(e==null?void 0:e.visualization_config)??{},i=(e==null?void 0:e.visualization_id)??null,a=(e==null?void 0:e.visualization_plugin)??{},l=(e==null?void 0:e.visualization_title)??"Unnamed Visualization";return{root:n,visualizationConfig:r,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}}const Tx={key:1,class:"m-2"},Px=o.createElementVNode("span",{class:"text-xs"},"Please wait...",-1),Rx={key:0},_x=o.defineComponent({__name:"GalaxyCharts",props:{container:{},credentials:{},incoming:{}},setup(e){const t=e,{root:n,visualizationConfig:r,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}=zx(t.incoming,t.container),s=o.ref(!1),d=o.ref(""),c=o.ref(""),f=o.ref(""),u=o.ref(""),b=o.ref(!0),m=o.ref(""),h=o.ref(""),x=o.ref([]),y=o.ref({}),g=o.ref({}),P=o.ref([]),H=o.ref([]),$=o.ref(i),k=o.ref(l),M=Fi();M.setCredentials(t.credentials||"include"),M.setRoot(n||"/"),Cx(a,r).then(({plugin:Y,settings:de,specs:ie,tracks:ue})=>{c.value=Y.description||"",u.value=Y.html||"",b.value=!1,m.value=Y.logo||"",h.value=Y.name||"",x.value=Y.settings||[],y.value=de,g.value=ie||{},P.value=Y.tracks||[],H.value=ue});const p=r.dataset_id||"";r.dataset_url?(d.value=r.dataset_url,console.debug(`GalaxyCharts: Evaluating dataset url: ${d.value}.`)):p?(d.value=Hs(n,p),console.debug(`GalaxyCharts: Built dataset url from dataset id: ${d.value}.`)):f.value="Visualization requires `dataset_id` or `dataset_url`.";const S=o.computed(()=>m.value&&`${n}${m.value}`),E=o.computed(()=>x.value.length===0&&P.value.length===0);function D(){return{dataset_id:p,settings:y.value,tracks:H.value}}async function O(){s.value=!s.value,await o.nextTick(),window?window.dispatchEvent(new Event("resize")):console.warn("window unavailable.")}function V(){try{window.postMessage({container:t.container,content:JSON.stringify(D()),source:"galaxy-charts"})}catch(Y){console.error(`Failed to postMessage: ${Y}`)}}function j(Y){y.value={...Y},V()}function Q(Y){H.value=[...Y],V()}function N(Y){$.value=Y}function Z(Y){k.value=Y}async function X(Y){j({...y.value,...Y});try{const de=await E0(h.value,i,l,D());de&&N(de)}catch(de){console.error(de)}}return(Y,de)=>f.value?(o.openBlock(),o.createBlock(o.unref(ps),{key:0,title:"Visualization Error!",type:"error",class:"m-2"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(f.value),1)]),_:1})):b.value?(o.openBlock(),o.createElementBlock("div",Tx,[o.createElementVNode("span",null,[o.createVNode(o.unref(Ws),{class:"animate-spin size-4 inline mx-1"})]),Px])):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["grid h-screen",{"grid-cols-[70%_30%]":!s.value&&!E.value}])},[o.renderSlot(Y.$slots,"default",{datasetId:o.unref(p),datasetUrl:d.value,root:o.unref(n),settings:y.value,specs:g.value,tracks:H.value,save:X}),s.value&&!E.value?(o.openBlock(),o.createElementBlock("div",Rx,[o.createVNode(o.unref(g0),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2",top:0,right:0,onClick:O},{default:o.withCtx(()=>[o.createVNode(o.unref(yt),null,{default:o.withCtx(()=>[o.createVNode(o.unref(js))]),_:1})]),_:1})])):E.value?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(wx,{key:1,"dataset-id":o.unref(p),description:c.value,html:u.value,"logo-url":S.value,name:h.value,"setting-inputs":x.value,"setting-values":y.value,"track-inputs":P.value,"track-values":H.value,"visualization-id":$.value,"visualization-title":k.value,"onUpdate:settings":j,"onUpdate:tracks":Q,"onUpdate:visualizationId":N,"onUpdate:visualizationTitle":Z,onToggle:O},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=_x,We.useColumnsStore=Ls,Object.defineProperty(We,Symbol.toStringTag,{value:"Module"})});
|