galaxy-charts 0.0.9 → 0.0.10
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
|
@@ -20587,8 +20587,9 @@ const iC = { class: "overflow-auto select-none" }, aC = { class: "font-bold pb-1
|
|
|
20587
20587
|
(f) => r.value[d.name] = f,
|
|
20588
20588
|
s[7] || (s[7] = (f) => a())
|
|
20589
20589
|
],
|
|
20590
|
+
rows: Number(d.rows),
|
|
20590
20591
|
type: "textarea"
|
|
20591
|
-
}, null, 8, ["value", "onUpdate:value"])) : (Pe(), mt(we(Kr), {
|
|
20592
|
+
}, null, 8, ["value", "onUpdate:value", "rows"])) : (Pe(), mt(we(Kr), {
|
|
20592
20593
|
key: 7,
|
|
20593
20594
|
value: r.value[d.name],
|
|
20594
20595
|
"onUpdate:value": [
|
|
@@ -2070,4 +2070,4 @@ ${t}
|
|
|
2070
2070
|
border-top: 1px solid var(--n-tab-border-color);
|
|
2071
2071
|
`),w("tabs-pad",`
|
|
2072
2072
|
border-top: 1px solid var(--n-tab-border-color);
|
|
2073
|
-
`)])])])]),$w=Object.assign(Object.assign({},Ce.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]}),Tw=o.defineComponent({name:"Tabs",props:$w,setup(e,{slots:t}){var n,r,i,a;process.env.NODE_ENV!=="production"&&o.watchEffect(()=>{e.labelSize!==void 0&&ot("tabs","`label-size` is deprecated, please use `size` instead."),e.activeName!==void 0&&ot("tabs","`active-name` is deprecated, please use `value` instead."),e.onActiveNameChange!==void 0&&ot("tabs","`on-active-name-change` is deprecated, please use `on-update:value` instead.")});const{mergedClsPrefixRef:l,inlineThemeDisabled:s}=Ye(e),c=Ce("Tabs","-tabs",Sw,ew,e,l),d=o.ref(null),u=o.ref(null),f=o.ref(null),p=o.ref(null),m=o.ref(null),h=o.ref(null),x=o.ref(!0),v=o.ref(!0),g=Zr(e,["labelSize","size"]),k=Zr(e,["activeName","value"]),z=o.ref((r=(n=k.value)!==null&&n!==void 0?n:e.defaultValue)!==null&&r!==void 0?r:t.default?(a=(i=Nn(t.default())[0])===null||i===void 0?void 0:i.props)===null||a===void 0?void 0:a.name:null),$=Tt(k,z),T={id:0},O=o.computed(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});o.watch($,()=>{T.id=0,F(),L()});function b(){var _;const{value:N}=$;return N===null?null:(_=d.value)===null||_===void 0?void 0:_.querySelector(`[data-name="${N}"]`)}function S(_){if(e.type==="card")return;const{value:N}=u;if(!N)return;const K=N.style.opacity==="0";if(_){const R=`${l.value}-tabs-bar--disabled`,{barWidth:C,placement:B}=e;if(_.dataset.disabled==="true"?N.classList.add(R):N.classList.remove(R),["top","bottom"].includes(B)){if(A(["top","maxHeight","height"]),typeof C=="number"&&_.offsetWidth>=C){const re=Math.floor((_.offsetWidth-C)/2)+_.offsetLeft;N.style.left=`${re}px`,N.style.maxWidth=`${C}px`}else N.style.left=`${_.offsetLeft}px`,N.style.maxWidth=`${_.offsetWidth}px`;N.style.width="8192px",K&&(N.style.transition="none"),N.offsetWidth,K&&(N.style.transition="",N.style.opacity="1")}else{if(A(["left","maxWidth","width"]),typeof C=="number"&&_.offsetHeight>=C){const re=Math.floor((_.offsetHeight-C)/2)+_.offsetTop;N.style.top=`${re}px`,N.style.maxHeight=`${C}px`}else N.style.top=`${_.offsetTop}px`,N.style.maxHeight=`${_.offsetHeight}px`;N.style.height="8192px",K&&(N.style.transition="none"),N.offsetHeight,K&&(N.style.transition="",N.style.opacity="1")}}}function M(){if(e.type==="card")return;const{value:_}=u;_&&(_.style.opacity="0")}function A(_){const{value:N}=u;if(N)for(const K of _)N.style[K]=""}function F(){if(e.type==="card")return;const _=b();_?S(_):M()}function L(){var _;const N=(_=m.value)===null||_===void 0?void 0:_.$el;if(!N)return;const K=b();if(!K)return;const{scrollLeft:R,offsetWidth:C}=N,{offsetLeft:B,offsetWidth:re}=K;R>B?N.scrollTo({top:0,left:B,behavior:"smooth"}):B+re>R+C&&N.scrollTo({top:0,left:B+re-C,behavior:"smooth"})}const U=o.ref(null);let Q=0,j=null;function J(_){const N=U.value;if(N){Q=_.getBoundingClientRect().height;const K=`${Q}px`,R=()=>{N.style.height=K,N.style.maxHeight=K};j?(R(),j(),j=null):j=R}}function Y(_){const N=U.value;if(N){const K=_.getBoundingClientRect().height,R=()=>{document.body.offsetHeight,N.style.maxHeight=`${K}px`,N.style.height=`${Math.max(Q,K)}px`};j?(j(),j=null,R()):j=R}}function ie(){const _=U.value;if(_){_.style.maxHeight="",_.style.height="";const{paneWrapperStyle:N}=e;if(typeof N=="string")_.style.cssText=N;else if(N){const{maxHeight:K,height:R}=N;K!==void 0&&(_.style.maxHeight=K),R!==void 0&&(_.style.height=R)}}}const me={value:[]},ae=o.ref("next");function he(_){const N=$.value;let K="next";for(const R of me.value){if(R===N)break;if(R===_){K="prev";break}}ae.value=K,q(_)}function q(_){const{onActiveNameChange:N,onUpdateValue:K,"onUpdate:value":R}=e;N&&de(N,_),K&&de(K,_),R&&de(R,_),z.value=_}function te(_){const{onClose:N}=e;N&&de(N,_)}function xe(){const{value:_}=u;if(!_)return;const N="transition-disabled";_.classList.add(N),F(),_.classList.remove(N)}const Se=o.ref(null);function oe({transitionDisabled:_}){const N=d.value;if(!N)return;_&&N.classList.add("transition-disabled");const K=b();K&&Se.value&&(Se.value.style.width=`${K.offsetWidth}px`,Se.value.style.height=`${K.offsetHeight}px`,Se.value.style.transform=`translateX(${K.offsetLeft-at(getComputedStyle(N).paddingLeft)}px)`,_&&Se.value.offsetWidth),_&&N.classList.remove("transition-disabled")}o.watch([$],()=>{e.type==="segment"&&o.nextTick(()=>{oe({transitionDisabled:!1})})}),o.onMounted(()=>{e.type==="segment"&&oe({transitionDisabled:!0})});let Te=0;function $e(_){var N;if(_.contentRect.width===0&&_.contentRect.height===0||Te===_.contentRect.width)return;Te=_.contentRect.width;const{type:K}=e;if((K==="line"||K==="bar")&&xe(),K!=="segment"){const{placement:R}=e;He((R==="top"||R==="bottom"?(N=m.value)===null||N===void 0?void 0:N.$el:h.value)||null)}}const se=qi($e,64);o.watch([()=>e.justifyContent,()=>e.size],()=>{o.nextTick(()=>{const{type:_}=e;(_==="line"||_==="bar")&&xe()})});const Ae=o.ref(!1);function Be(_){var N;const{target:K,contentRect:{width:R}}=_,C=K.parentElement.offsetWidth;if(!Ae.value)C<R&&(Ae.value=!0);else{const{value:B}=p;if(!B)return;C-R>B.$el.offsetWidth&&(Ae.value=!1)}He(((N=m.value)===null||N===void 0?void 0:N.$el)||null)}const We=qi(Be,64);function Ie(){const{onAdd:_}=e;_&&_(),o.nextTick(()=>{const N=b(),{value:K}=m;!N||!K||K.scrollTo({left:N.offsetLeft,top:0,behavior:"smooth"})})}function He(_){if(!_)return;const{placement:N}=e;if(N==="top"||N==="bottom"){const{scrollLeft:K,scrollWidth:R,offsetWidth:C}=_;x.value=K<=0,v.value=K+C>=R}else{const{scrollTop:K,scrollHeight:R,offsetHeight:C}=_;x.value=K<=0,v.value=K+C>=R}}const Ke=qi(_=>{He(_.target)},64);o.provide(ha,{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:T,onBeforeLeaveRef:o.toRef(e,"onBeforeLeave"),activateTab:he,handleClose:te,handleAdd:Ie}),kl(()=>{F(),L()}),o.watchEffect(()=>{const{value:_}=f;if(!_)return;const{value:N}=l,K=`${N}-tabs-nav-scroll-wrapper--shadow-start`,R=`${N}-tabs-nav-scroll-wrapper--shadow-end`;x.value?_.classList.remove(K):_.classList.add(K),v.value?_.classList.remove(R):_.classList.add(R)});const Re={syncBarPosition:()=>{F()}},X=()=>{oe({transitionDisabled:!0})},D=o.computed(()=>{const{value:_}=g,{type:N}=e,K={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[N],R=`${_}${K}`,{self:{barColor:C,closeIconColor:B,closeIconColorHover:re,closeIconColorPressed:we,tabColor:Pe,tabBorderColor:Ue,paneTextColor:Ne,tabFontWeight:Me,tabBorderRadius:Ze,tabFontWeightActive:ft,colorSegment:tt,fontWeightStrong:st,tabColorSegment:y,closeSize:H,closeIconSize:Z,closeColorHover:le,closeColorPressed:ce,closeBorderRadius:ue,[ee("panePadding",_)]:fe,[ee("tabPadding",R)]:ge,[ee("tabPaddingVertical",R)]:Ee,[ee("tabGap",R)]:mt,[ee("tabGap",`${R}Vertical`)]:on,[ee("tabTextColor",N)]:Bn,[ee("tabTextColorActive",N)]:an,[ee("tabTextColorHover",N)]:ln,[ee("tabTextColorDisabled",N)]:Er,[ee("tabFontSize",_)]:zr},common:{cubicBezierEaseInOut:Zn}}=c.value;return{"--n-bezier":Zn,"--n-color-segment":tt,"--n-bar-color":C,"--n-tab-font-size":zr,"--n-tab-text-color":Bn,"--n-tab-text-color-active":an,"--n-tab-text-color-disabled":Er,"--n-tab-text-color-hover":ln,"--n-pane-text-color":Ne,"--n-tab-border-color":Ue,"--n-tab-border-radius":Ze,"--n-close-size":H,"--n-close-icon-size":Z,"--n-close-color-hover":le,"--n-close-color-pressed":ce,"--n-close-border-radius":ue,"--n-close-icon-color":B,"--n-close-icon-color-hover":re,"--n-close-icon-color-pressed":we,"--n-tab-color":Pe,"--n-tab-font-weight":Me,"--n-tab-font-weight-active":ft,"--n-tab-padding":ge,"--n-tab-padding-vertical":Ee,"--n-tab-gap":mt,"--n-tab-gap-vertical":on,"--n-pane-padding-left":pt(fe,"left"),"--n-pane-padding-right":pt(fe,"right"),"--n-pane-padding-top":pt(fe,"top"),"--n-pane-padding-bottom":pt(fe,"bottom"),"--n-font-weight-strong":st,"--n-tab-color-segment":y}}),ne=s?rt("tabs",o.computed(()=>`${g.value[0]}${e.type[0]}`),D,e):void 0;return Object.assign({mergedClsPrefix:l,mergedValue:$,renderedNames:new Set,segmentCapsuleElRef:Se,tabsPaneWrapperRef:U,tabsElRef:d,barElRef:u,addTabInstRef:p,xScrollInstRef:m,scrollWrapperElRef:f,addTabFixed:Ae,tabWrapperStyle:O,handleNavResize:se,mergedSize:g,handleScroll:Ke,handleTabsResize:We,cssVars:s?void 0:D,themeClass:ne==null?void 0:ne.themeClass,animationDirection:ae,renderNameListRef:me,yScrollElRef:h,handleSegmentResize:X,onAnimationBeforeLeave:J,onAnimationEnter:Y,onAnimationAfterEnter:ie,onRender:ne==null?void 0:ne.onRender},Re)},render(){const{mergedClsPrefix:e,type:t,placement:n,addTabFixed:r,addable:i,mergedSize:a,renderNameListRef:l,onRender:s,paneWrapperClass:c,paneWrapperStyle:d,$slots:{default:u,prefix:f,suffix:p}}=this;s==null||s();const m=u?Nn(u()).filter(T=>T.type.__TAB_PANE__===!0):[],h=u?Nn(u()).filter(T=>T.type.__TAB__===!0):[],x=!h.length,v=t==="card",g=t==="segment",k=!v&&!g&&this.justifyContent;l.value=[];const z=()=>{const T=o.h("div",{style:this.tabWrapperStyle,class:[`${e}-tabs-wrapper`]},k?null:o.h("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}),x?m.map((O,b)=>(l.value.push(O.props.name),ba(o.h(pa,Object.assign({},O.props,{internalCreatedByPane:!0,internalLeftPadded:b!==0&&(!k||k==="center"||k==="start"||k==="end")}),O.children?{default:O.children.tab}:void 0)))):h.map((O,b)=>(l.value.push(O.props.name),ba(b!==0&&!k?td(O):O))),!r&&i&&v?ed(i,(x?m.length:h.length)!==0):null,k?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`},v&&i?o.h(Jt,{onResize:this.handleTabsResize},{default:()=>T}):T,v?o.h("div",{class:`${e}-tabs-pad`}):null,v?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`,k&&`${e}-tabs--flex`,`${e}-tabs--${$}`],style:this.cssVars},o.h("div",{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${$}`,`${e}-tabs-nav`]},De(f,T=>T&&o.h("div",{class:`${e}-tabs-nav__prefix`},T)),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((T,O)=>(l.value.push(T.props.name),o.h(pa,Object.assign({},T.props,{internalCreatedByPane:!0,internalLeftPadded:O!==0}),T.children?{default:T.children.tab}:void 0))):h.map((T,O)=>(l.value.push(T.props.name),O===0?T:td(T))))}):o.h(Jt,{onResize:this.handleNavResize},{default:()=>o.h("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes($)?o.h(Eh,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:z}):o.h("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},z()))}),r&&i&&v?ed(i,!0):null,De(p,T=>T&&o.h("div",{class:`${e}-tabs-nav__suffix`},T))),x&&(this.animated&&($==="top"||$==="bottom")?o.h("div",{ref:"tabsPaneWrapperRef",style:d,class:[`${e}-tabs-pane-wrapper`,c]},Qc(m,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Qc(m,this.mergedValue,this.renderedNames)))}});function Qc(e,t,n,r,i,a,l){const s=[];return e.forEach(c=>{const{name:d,displayDirective:u,"display-directive":f}=c.props,p=h=>u===h||f===h,m=t===d;if(c.key!==void 0&&(c.key=d),m||p("show")||p("show:lazy")&&n.has(d)){n.has(d)||n.add(d);const h=!p("if");s.push(h?o.withDirectives(c,[[o.vShow,m]]):c)}}),l?o.h(o.TransitionGroup,{name:`${l}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:a},{default:()=>s}):s}function ed(e,t){return o.h(pa,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:typeof e=="object"&&e.disabled})}function td(e){const t=o.cloneVNode(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function ba(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes("internalLeftPadded")||e.dynamicProps.push("internalLeftPadded"):e.dynamicProps=["internalLeftPadded"],e}async function kw(e,t,n,r){try{const{data:i}=await Fe.post(`${e}api/visualizations`,{type:t,title:n,config:r});return i.id}catch(i){In(i)}}async function Rw(e,t,n,r){try{return(await Fe.put(`${e}api/visualizations/${t}`,{title:n,config:r})).data}catch(i){In(i)}}function nd(e){let 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 Pw={key:0,class:"border border-dotted border-green-600 rounded mt-2 p-2"},Ew={__name:"InputConditional",props:o.mergeModels({datasetId:{type:String,required:!0},input:{type:Object,required:!0},root:{type:String,required:!0}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,n=t.input.test_param.name;n||console.error(`Test parameter has no name: ${t.input.name}.`);const r=o.useModel(e,"value");(!r.value||!(n in r.value))&&console.error(`Test parameter of conditional not available: ${t.input.name}.`,r.value);const i=o.ref(r.value[n]),a={},l={};for(const c of t.input.cases)a[c.value]=c.inputs,l[c.value]=nd(c.inputs),l[c.value][n]=c.value;function s(c){r.value={...l[i.value]},c&&(r.value={...r.value,...c})}return o.watch(()=>i.value,()=>{s()}),(c,d)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(da),{value:i.value,"onUpdate:value":d[0]||(d[0]=u=>i.value=u),options:e.input.test_param.data},null,8,["value","options"]),a[i.value]?(o.openBlock(),o.createElementBlock("div",Pw,[o.createVNode(ga,{"dataset-id":e.datasetId,inputs:a[i.value],root:e.root,values:r.value,"onUpdate:values":s},null,8,["dataset-id","inputs","root","values"])])):o.createCommentVNode("",!0)],64))}};function zw(e,t,n,r){const i=[];t&&i.push({label:"Column: Default",value:"auto"});var a=e.metadata_column_types;for(const l in a)(r&&["int","float"].indexOf(a[l])!=-1||n&&a[l]==="str"||!r&&!n)&&i.push({label:"Column: "+(parseInt(l)+1),value:l});return i}const Bw={__name:"InputDataColumn",props:o.mergeModels({datasetId:{type:String,default:""},isAuto:{type:Boolean,default:!1},isText:{type:Boolean,default:!1},isNumber:{type:Boolean,default:!1},root:{type:String,default:"/"}},{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 l=await Eu(t.datasetId),s=zw(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(da),{value:r.value,"onUpdate:value":s[0]||(s[0]=c=>r.value=c),options:n.value},null,8,["value","options"]))}};function ma(e){return String(e).toLowerCase()==="true"}const _w={class:"overflow-auto select-none"},Mw={class:"font-bold pb-1"},Ow={key:0,class:"text-xs pb-1"},Aw={key:4},rd=.01,ga={__name:"InputForm",props:{datasetId:{type:String,default:""},inputs:{type:Array,default:()=>[]},root:{type:String,default:"/"},values:{type:Object,default:()=>{}}},emits:["update:values"],setup(e,{emit:t}){const n=e,r=o.ref(a()),i=t;function a(){const s={...n.values};return n.inputs.forEach(c=>{s[c.name]===void 0&&(s[c.name]=null)}),s}function l(){i("update:values",r.value)}return o.watch(()=>n.values,()=>{r.value=a()}),(s,c)=>(o.openBlock(),o.createElementBlock("div",_w,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.inputs,(d,u)=>(o.openBlock(),o.createElementBlock("div",{key:u,class:"pb-2"},[o.createElementVNode("div",Mw,o.toDisplayString(d.label||d.name),1),d.help?(o.openBlock(),o.createElementBlock("div",Ow,o.toDisplayString(d.help),1)):o.createCommentVNode("",!0),o.createElementVNode("div",null,[d.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(ww),{key:0,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[0]||(c[0]=f=>l())]},null,8,["value","onUpdate:value"])):d.type==="color"?(o.openBlock(),o.createBlock(o.unref(By),{key:1,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[1]||(c[1]=f=>l())],modes:["hex"],"show-alpha":!1},null,8,["value","onUpdate:value"])):d.type==="conditional"?(o.openBlock(),o.createBlock(Ew,{key:2,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[2]||(c[2]=f=>l())],"dataset-id":e.datasetId,input:d,root:e.root},null,8,["value","onUpdate:value","dataset-id","input","root"])):d.type==="data_column"?(o.openBlock(),o.createBlock(Bw,{key:3,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[3]||(c[3]=f=>l())],"dataset-id":e.datasetId,"is-auto":o.unref(ma)(d.is_auto),"is-text":o.unref(ma)(d.is_text),"is-number":o.unref(ma)(d.is_number),root:e.root},null,8,["value","onUpdate:value","dataset-id","is-auto","is-text","is-number","root"])):d.type==="float"?(o.openBlock(),o.createElementBlock("div",Aw,[d.min!==void 0&&d.max!==void 0?(o.openBlock(),o.createBlock(o.unref(vw),{key:0,class:"mb-2",value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[4]||(c[4]=f=>l())],min:Number(d.min),max:Number(d.max),step:rd},null,8,["value","onUpdate:value","min","max"])):o.createCommentVNode("",!0),o.createVNode(o.unref(pw),{value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[5]||(c[5]=f=>l())],size:"small",min:Number(d.min),max:Number(d.max),step:rd},null,8,["value","onUpdate:value","min","max"])])):d.type==="select"?(o.openBlock(),o.createBlock(o.unref(da),{key:5,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[6]||(c[6]=f=>l())],options:d.data},null,8,["value","onUpdate:value","options"])):d.type==="textarea"?(o.openBlock(),o.createBlock(o.unref(Tr),{key:6,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[7]||(c[7]=f=>l())],type:"textarea"},null,8,["value","onUpdate:value"])):(o.openBlock(),o.createBlock(o.unref(Tr),{key:7,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[8]||(c[8]=f=>l())]},null,8,["value","onUpdate:value"]))])]))),128))]))}},Iw=o.createElementVNode("span",{class:"mx-1"},"Add New Track",-1),Fw={class:"border border-dotted border-green-600 rounded p-2"},Dw={class:"flex text-green-600 my-1"},Nw={class:"mx-1"},Lw={__name:"InputRepeats",props:{datasetId:{type:String,default:""},inputs:{type:Array,required:!0},root:{type:String,required:!0},valuesArray:{type:Array,required:!0}},emits:["update:values-array"],setup(e,{emit:t}){const n=e,r=t,i=o.computed(()=>nd(n.inputs));function a(){const c=[...n.valuesArray];c.unshift(i.value),r("update:values-array",c)}function l(c){const d=[...n.valuesArray];d.splice(c,1),r("update:values-array",d)}function s(c,d){const u=[...n.valuesArray];u[c]={...d},r("update:values-array",u)}return(c,d)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(Lt),{size:"tiny",type:"primary",class:"mb-2",onClick:a},{default:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Lu))]),_:1}),Iw]),_:1}),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.valuesArray,(u,f)=>(o.openBlock(),o.createElementBlock("div",{key:f,class:"my-2"},[o.createElementVNode("div",Fw,[o.createVNode(ga,{"dataset-id":e.datasetId,inputs:e.inputs,root:e.root,values:u,"onUpdate:values":p=>s(f,p)},null,8,["dataset-id","inputs","root","values","onUpdate:values"]),o.createElementVNode("div",Dw,[o.createVNode(o.unref(Lt),{class:"text-green-600 w-full",size:"tiny",round:"",disabled:e.valuesArray.length<=1,onClick:p=>l(f)},{default:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Vu))]),_:1}),o.createElementVNode("span",Nw,"Remove Track "+o.toDisplayString(e.valuesArray.length-f),1)]),_:2},1032,["disabled","onClick"])])])]))),128))],64))}},Hw=2e3,Vw={__name:"AlertNotify",props:{message:{type:String,required:!0},messageType:{type:String,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"),Hw)}),(a,l)=>e.message?(o.openBlock(),o.createBlock(o.unref(Ic),{key:0,type:e.messageType,class:"m-4"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.message),1)]),_:1},8,["type"])):o.createCommentVNode("",!0)}};async function jw(e){try{const{data:t}=await Fe.get(`${e}api/version`);return t.version_major}catch(t){In(t)}}const Ww={class:"text-xs"},Uw=o.createElementVNode("span",{class:"text-xs"},"Galaxy not available",-1),qw={__name:"ApiStatus",props:{root:{type:String,required:!0}},setup(e){const t=e,n=o.ref("...");async function r(){try{n.value=await jw(t.root)}catch(i){console.error(i),n.value=""}}return r(),(i,a)=>n.value?(o.openBlock(),o.createBlock(o.unref(Wc),{key:0,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(Ht),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Au),{class:"text-green-600"})]),_:1})]),default:o.withCtx(()=>[o.createElementVNode("span",Ww,"Connected to Galaxy Version "+o.toDisplayString(n.value),1)]),_:1})):(o.openBlock(),o.createBlock(o.unref(Wc),{key:1,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(Ht),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Nu),{class:"text-red-600"})]),_:1})]),default:o.withCtx(()=>[Uw]),_:1}))}},Gw={class:"overflow-auto select-none bg-white z-10"},Kw={class:"flex p-2"},Xw={class:"flex-1 font-thin text-lg p-1 p-2"},Yw=o.createElementVNode("span",null,"Charts",-1),Zw={class:"m-4 mt-0 p-2 bg-sky-50 text-sky-900 rounded"},Jw={class:"md:flex"},Qw={class:"flex justify-center center-items"},e1={class:"m-2"},t1=["src"],n1={key:1,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 100 100",class:"size-14"},r1=[o.createElementVNode("circle",{cx:"50",cy:"50",r:"45",stroke:"#E30A17","stroke-width":"5",fill:"#FFFFFF"},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)],o1={class:"overflow-hidden break-words p-1"},i1={class:"font-bold"},a1=["innerHTML"],l1={class:"px-4 pb-2"},s1=o.createElementVNode("div",{class:"font-bold"},"Title",-1),c1=o.createElementVNode("div",{class:"text-xs py-1"},"Specify a visualization title.",-1),d1=o.createElementVNode("span",{class:"mx-1"},"Tracks",-1),u1=o.createElementVNode("span",{class:"mx-1"},"Settings",-1),f1={__name:"SidePanel",props:{datasetId:{type:String,default:""},description:{type:String,default:"This visualization has no description."},logoUrl:{type:String,default:""},html:{type:String,default:"Visualization Title"},name:{type:String,required:!0},root:{type:String,required:!0},settingInputs:{type:Array,default:()=>[]},settingValues:{type:Object,default:()=>{}},trackInputs:{type:Array,default:()=>[]},trackValues:{type:Object,default:()=>[]},visualizationId:{type:String,default:null},visualizationTitle:{type:String,required:!0}},emits:["update:tracks","update:settings","toggle"],setup(e,{emit:t}){const n=e,r=o.ref(n.visualizationTitle),i=o.ref(n.visualizationId),a=o.ref(""),l=o.ref(""),s=o.computed(()=>n.settingInputs.length===0||n.trackInputs.length===0),c=t;async function d(){try{i.value?(await Rw(n.root,i.value,r.value,{dataset_id:n.datasetId,settings:n.values}),a.value="Successfully saved.",l.value="success"):(i.value=await kw(n.root,n.name,r.value,{dataset_id:n.datasetId,settings:n.values}),a.value="Successfully created.",l.value="success")}catch(p){a.value=ll(p),l.value="error"}}function u(p){c("update:settings",p)}function f(p){c("update:tracks",p)}return(p,m)=>(o.openBlock(),o.createElementBlock("div",Gw,[o.createElementVNode("div",Kw,[o.createElementVNode("div",Xw,[Yw,o.createVNode(qw,{root:e.root},null,8,["root"])]),o.createElementVNode("div",null,[o.createVNode(o.unref(Lt),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:d},{icon:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Du))]),_:1})]),_:1}),o.createVNode(o.unref(Lt),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:m[0]||(m[0]=h=>c("toggle"))},{icon:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Fu))]),_:1})]),_:1})])]),o.createVNode(Vw,{message:a.value,"message-type":l.value,onTimeout:m[1]||(m[1]=h=>a.value=""),class:"m-4"},null,8,["message","message-type"]),o.createElementVNode("div",Zw,[o.createElementVNode("div",Jw,[o.createElementVNode("div",Qw,[o.createElementVNode("div",e1,[n.logoUrl?(o.openBlock(),o.createElementBlock("img",{key:0,src:n.logoUrl,class:"min-w-14 max-w-14 object-contain"},null,8,t1)):(o.openBlock(),o.createElementBlock("svg",n1,r1))])]),o.createElementVNode("div",o1,[o.createElementVNode("span",i1,o.toDisplayString(e.html),1),o.createElementVNode("div",{class:"text-xs",innerHTML:e.description},null,8,a1)])])]),o.createElementVNode("div",l1,[s1,c1,o.createVNode(o.unref(Tr),{value:r.value,"onUpdate:value":m[2]||(m[2]=h=>r.value=h)},null,8,["value"])]),o.createVNode(o.unref(Tw),{type:"line",animated:"",class:"px-4","tab-class":s.value?"!hidden":""},{default:o.withCtx(()=>[e.trackInputs.length>0?(o.openBlock(),o.createBlock(o.unref(Jc),{key:0,name:"tracks"},{tab:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Hu))]),_:1}),d1]),default:o.withCtx(()=>[o.createVNode(Lw,{"dataset-id":e.datasetId,inputs:e.trackInputs,root:e.root,"values-array":e.trackValues,"onUpdate:valuesArray":f},null,8,["dataset-id","inputs","root","values-array"])]),_:1})):o.createCommentVNode("",!0),e.settingInputs.length>0?(o.openBlock(),o.createBlock(o.unref(Jc),{key:1,name:"settings"},{tab:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Mu))]),_:1}),u1]),default:o.withCtx(()=>[o.createVNode(ga,{"dataset-id":e.datasetId,inputs:e.settingInputs,root:e.root,values:e.settingValues,"onUpdate:values":u},null,8,["dataset-id","inputs","root","values"])]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["tab-class"])]))}};function h1(e){const t=e.replace(/^.*[\\\/]/,"");return t.substring(0,t.lastIndexOf("."))}const od=new DOMParser;async function p1(e,t=""){const n=od.parseFromString(e,"text/xml"),r=[],i=n.documentElement.getElementsByTagName("macros");if(i.length>0)for(const s of i)for(const c of s.children)r.push(c.textContent.trim());console.debug(`Detected ${r.length} macro file(s) in xml.`);const a={};for(const s of r){const{data:c}=await Fe.get(`${t}${s}`),u=od.parseFromString(c,"text/xml").documentElement.getElementsByTagName("xml");if(u.length>0)for(const f of u){const p=f.getAttribute("name");for(const m of f.children)a[p]=a[p]||[],a[p].push(m)}}console.debug("Successfully collected macro files.");const l=n.documentElement.getElementsByTagName("expand");if(l.length>0)for(const s of l){const c=s.getAttribute("macro");if(c in a){const d=a[c];for(const u of d)s.parentNode.appendChild(u);s.parentNode.removeChild(s)}else console.error(`Failed to detect '${c}' macros source.`)}return n}async function b1(e){const t=await Fe.get(e),n=await p1(t.data);let r={};r.name=h1(e),r.html=n.documentElement.getAttribute("name"),r.logo=n.documentElement.getAttribute("logo");const i=n.documentElement.getElementsByTagName("description");i.length===1&&(r.description=i[0].textContent.trim());const a=n.documentElement.getElementsByTagName("specs");return a.length===1&&(r.specs=new zo(a[0])),["settings","tracks"].forEach(l=>{const s=n.documentElement.getElementsByTagName(l);s.length===1&&(r[l]=new Eo(s[0]))}),r}class Eo extends Array{constructor(t){super();for(const n of t.children)n.children.length>0?n.tagName===n.children[0].tagName?this.push(new Eo(n)):this.push(new zo(n)):n.textContent&&n.textContent.trim()&&this.push(n.textContent.trim())}}class zo{constructor(t){if(t.attributes.length>0)for(const n of t.attributes)this[n.name]=n.value;for(const n of t.children)if(n.children.length>0){let r;if(n.tagName===n.children[0].tagName)r=new Eo(n);else{const i=new zo(n);if(n.attributes.length>0)for(const a of n.attributes)i[a.name]=a.value;r=i}this[n.tagName]=r}else if(n.attributes.length>0){const r={};for(const i of n.attributes)r[i.name]=i.value;this[n.tagName]=r}else this[n.tagName]=n.textContent.trim()}}async function m1(e,t,n){if(!t)try{t=await b1(e)}catch(l){console.error("Visualization requires configuration from XML or attached `visualization_plugin` details."),In(l)}const r=ad(t.settings,n.settings),i=t.specs,a=v1(t.tracks,n.tracks);return{plugin:t,settings:r,specs:i,tracks:a}}function id(e,t){let n=t??e.value;return e.type==="float"&&(n=Number(n)),n}function g1(e,t){var i;const n=t||{},r=e.test_param.name;if(!r)console.error(`Test parameter has no name: ${e.name}.`);else{const a=n[r]??e.test_param.value;for(const l of e.cases)if(l.value===a&&(n[r]=a,((i=l.inputs)==null?void 0:i.length)>0))for(const s of l.inputs)n[s.name]=id(s,n[s.name])}return n}function ad(e,t){const n=t||{};return e&&e.forEach(r=>{r.type==="conditional"?n[r.name]=g1(r,n[r.name]):n[r.name]=id(r,n[r.name])}),n}function v1(e,t){const n=t||[];return e&&(n.length===0&&n.push({}),n.forEach((r,i)=>{n[i]=ad(e,r)})),n}function x1(e){var c;const t=document.getElementById("app"),n=JSON.parse(t.getAttribute("data-incoming"))||{},r=n.root||(e==null?void 0:e.root)||"/",i=n.visualization_id,a=n.visualization_plugin,l=n.visualization_title||(e==null?void 0:e.title)||"Unnamed Visualization";let s=n.visualization_config||e;if((c=n.visualization_config)!=null&&c.chart_dict){const d=n.visualization_config.chart_dict;s.groups=d.groups,s.settings=d.settings,delete s.chartDict}return{root:r,visualizationConfig:s,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}}const y1={key:1,class:"m-2"},w1=o.createElementVNode("span",{class:"text-xs"},"Please wait...",-1),C1={key:0},S1={__name:"GalaxyCharts",props:{config:{type:Object,default:()=>{}},xml:{type:String,required:!0}},setup(e){const t=e,n=o.ref(!1),r=o.ref(""),i=o.ref(null),a=o.ref(null),l=o.ref(null),s=o.ref(!0),c=o.ref(null),d=o.ref(""),u=o.ref([]),f=o.ref({}),p=o.ref({}),m=o.ref([]),h=o.ref([]),{root:x,visualizationConfig:v,visualizationId:g,visualizationPlugin:k,visualizationTitle:z}=x1(t.config);or().setRoot(x),m1(t.xml,k,v).then(({plugin:A,settings:F,specs:L,tracks:U})=>{a.value=A.description,l.value=A.html,s.value=!1,c.value=A.logo,d.value=A.name,u.value=A.settings||[],f.value=F,p.value=L,m.value=A.tracks||[],h.value=U});const T=v.dataset_id;v.dataset_url?(i.value=v.dataset_url,console.debug(`ViewPort: Evaluating dataset url: ${i.value}.`)):T?(i.value=Bu(T),console.debug(`ViewPort: Built dataset url from dataset id: ${i.value}.`)):r.value="Visualization requires `dataset_id` or `dataset_url`.";const O=o.computed(()=>c.value&&`${x}${c.value}`);async function b(){n.value=!n.value,await o.nextTick(),window.dispatchEvent(new Event("resize"))}function S(A){f.value={...A}}function M(A){h.value=[...A]}return(A,F)=>r.value?(o.openBlock(),o.createBlock(o.unref(Ic),{key:0,title:"Visualization Error!",type:"error",class:"m-2"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(r.value),1)]),_:1})):s.value?(o.openBlock(),o.createElementBlock("div",y1,[o.createElementVNode("span",null,[o.createVNode(o.unref(Ou),{class:"animate-spin size-4 inline mx-1"})]),w1])):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["grid h-screen",{"grid-cols-[70%_30%]":!n.value}])},[o.renderSlot(A.$slots,"default",{embedded:n.value,datasetId:o.unref(T),datasetUrl:i.value,root:o.unref(x),settings:f.value,specs:p.value,tracks:h.value}),n.value?(o.openBlock(),o.createElementBlock("div",C1,[o.createVNode(o.unref(cw),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2",top:0,right:0,onClick:b},{default:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Iu))]),_:1})]),_:1})])):(o.openBlock(),o.createBlock(f1,{key:1,"dataset-id":o.unref(T),description:a.value,html:l.value,"logo-url":O.value,name:d.value,root:o.unref(x),"setting-inputs":u.value,"setting-values":f.value,"track-inputs":m.value,"track-values":h.value,"visualization-id":o.unref(g),"visualization-title":o.unref(z),"onUpdate:settings":S,"onUpdate:tracks":M,onToggle:b},null,8,["dataset-id","description","html","logo-url","name","root","setting-inputs","setting-values","track-inputs","track-values","visualization-id","visualization-title"]))],2))}};qe.GalaxyCharts=S1,qe.useColumnsStore=_u,qe.useConfigStore=or,Object.defineProperty(qe,Symbol.toStringTag,{value:"Module"})});
|
|
2073
|
+
`)])])])]),$w=Object.assign(Object.assign({},Ce.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]}),Tw=o.defineComponent({name:"Tabs",props:$w,setup(e,{slots:t}){var n,r,i,a;process.env.NODE_ENV!=="production"&&o.watchEffect(()=>{e.labelSize!==void 0&&ot("tabs","`label-size` is deprecated, please use `size` instead."),e.activeName!==void 0&&ot("tabs","`active-name` is deprecated, please use `value` instead."),e.onActiveNameChange!==void 0&&ot("tabs","`on-active-name-change` is deprecated, please use `on-update:value` instead.")});const{mergedClsPrefixRef:l,inlineThemeDisabled:s}=Ye(e),c=Ce("Tabs","-tabs",Sw,ew,e,l),d=o.ref(null),u=o.ref(null),f=o.ref(null),p=o.ref(null),m=o.ref(null),h=o.ref(null),x=o.ref(!0),v=o.ref(!0),g=Zr(e,["labelSize","size"]),k=Zr(e,["activeName","value"]),z=o.ref((r=(n=k.value)!==null&&n!==void 0?n:e.defaultValue)!==null&&r!==void 0?r:t.default?(a=(i=Nn(t.default())[0])===null||i===void 0?void 0:i.props)===null||a===void 0?void 0:a.name:null),$=Tt(k,z),T={id:0},O=o.computed(()=>{if(!(!e.justifyContent||e.type==="card"))return{display:"flex",justifyContent:e.justifyContent}});o.watch($,()=>{T.id=0,F(),L()});function b(){var _;const{value:N}=$;return N===null?null:(_=d.value)===null||_===void 0?void 0:_.querySelector(`[data-name="${N}"]`)}function S(_){if(e.type==="card")return;const{value:N}=u;if(!N)return;const K=N.style.opacity==="0";if(_){const R=`${l.value}-tabs-bar--disabled`,{barWidth:C,placement:B}=e;if(_.dataset.disabled==="true"?N.classList.add(R):N.classList.remove(R),["top","bottom"].includes(B)){if(A(["top","maxHeight","height"]),typeof C=="number"&&_.offsetWidth>=C){const re=Math.floor((_.offsetWidth-C)/2)+_.offsetLeft;N.style.left=`${re}px`,N.style.maxWidth=`${C}px`}else N.style.left=`${_.offsetLeft}px`,N.style.maxWidth=`${_.offsetWidth}px`;N.style.width="8192px",K&&(N.style.transition="none"),N.offsetWidth,K&&(N.style.transition="",N.style.opacity="1")}else{if(A(["left","maxWidth","width"]),typeof C=="number"&&_.offsetHeight>=C){const re=Math.floor((_.offsetHeight-C)/2)+_.offsetTop;N.style.top=`${re}px`,N.style.maxHeight=`${C}px`}else N.style.top=`${_.offsetTop}px`,N.style.maxHeight=`${_.offsetHeight}px`;N.style.height="8192px",K&&(N.style.transition="none"),N.offsetHeight,K&&(N.style.transition="",N.style.opacity="1")}}}function M(){if(e.type==="card")return;const{value:_}=u;_&&(_.style.opacity="0")}function A(_){const{value:N}=u;if(N)for(const K of _)N.style[K]=""}function F(){if(e.type==="card")return;const _=b();_?S(_):M()}function L(){var _;const N=(_=m.value)===null||_===void 0?void 0:_.$el;if(!N)return;const K=b();if(!K)return;const{scrollLeft:R,offsetWidth:C}=N,{offsetLeft:B,offsetWidth:re}=K;R>B?N.scrollTo({top:0,left:B,behavior:"smooth"}):B+re>R+C&&N.scrollTo({top:0,left:B+re-C,behavior:"smooth"})}const U=o.ref(null);let Q=0,j=null;function J(_){const N=U.value;if(N){Q=_.getBoundingClientRect().height;const K=`${Q}px`,R=()=>{N.style.height=K,N.style.maxHeight=K};j?(R(),j(),j=null):j=R}}function Y(_){const N=U.value;if(N){const K=_.getBoundingClientRect().height,R=()=>{document.body.offsetHeight,N.style.maxHeight=`${K}px`,N.style.height=`${Math.max(Q,K)}px`};j?(j(),j=null,R()):j=R}}function ie(){const _=U.value;if(_){_.style.maxHeight="",_.style.height="";const{paneWrapperStyle:N}=e;if(typeof N=="string")_.style.cssText=N;else if(N){const{maxHeight:K,height:R}=N;K!==void 0&&(_.style.maxHeight=K),R!==void 0&&(_.style.height=R)}}}const me={value:[]},ae=o.ref("next");function he(_){const N=$.value;let K="next";for(const R of me.value){if(R===N)break;if(R===_){K="prev";break}}ae.value=K,q(_)}function q(_){const{onActiveNameChange:N,onUpdateValue:K,"onUpdate:value":R}=e;N&&de(N,_),K&&de(K,_),R&&de(R,_),z.value=_}function te(_){const{onClose:N}=e;N&&de(N,_)}function xe(){const{value:_}=u;if(!_)return;const N="transition-disabled";_.classList.add(N),F(),_.classList.remove(N)}const Se=o.ref(null);function oe({transitionDisabled:_}){const N=d.value;if(!N)return;_&&N.classList.add("transition-disabled");const K=b();K&&Se.value&&(Se.value.style.width=`${K.offsetWidth}px`,Se.value.style.height=`${K.offsetHeight}px`,Se.value.style.transform=`translateX(${K.offsetLeft-at(getComputedStyle(N).paddingLeft)}px)`,_&&Se.value.offsetWidth),_&&N.classList.remove("transition-disabled")}o.watch([$],()=>{e.type==="segment"&&o.nextTick(()=>{oe({transitionDisabled:!1})})}),o.onMounted(()=>{e.type==="segment"&&oe({transitionDisabled:!0})});let Te=0;function $e(_){var N;if(_.contentRect.width===0&&_.contentRect.height===0||Te===_.contentRect.width)return;Te=_.contentRect.width;const{type:K}=e;if((K==="line"||K==="bar")&&xe(),K!=="segment"){const{placement:R}=e;He((R==="top"||R==="bottom"?(N=m.value)===null||N===void 0?void 0:N.$el:h.value)||null)}}const se=qi($e,64);o.watch([()=>e.justifyContent,()=>e.size],()=>{o.nextTick(()=>{const{type:_}=e;(_==="line"||_==="bar")&&xe()})});const Ae=o.ref(!1);function Be(_){var N;const{target:K,contentRect:{width:R}}=_,C=K.parentElement.offsetWidth;if(!Ae.value)C<R&&(Ae.value=!0);else{const{value:B}=p;if(!B)return;C-R>B.$el.offsetWidth&&(Ae.value=!1)}He(((N=m.value)===null||N===void 0?void 0:N.$el)||null)}const We=qi(Be,64);function Ie(){const{onAdd:_}=e;_&&_(),o.nextTick(()=>{const N=b(),{value:K}=m;!N||!K||K.scrollTo({left:N.offsetLeft,top:0,behavior:"smooth"})})}function He(_){if(!_)return;const{placement:N}=e;if(N==="top"||N==="bottom"){const{scrollLeft:K,scrollWidth:R,offsetWidth:C}=_;x.value=K<=0,v.value=K+C>=R}else{const{scrollTop:K,scrollHeight:R,offsetHeight:C}=_;x.value=K<=0,v.value=K+C>=R}}const Ke=qi(_=>{He(_.target)},64);o.provide(ha,{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:T,onBeforeLeaveRef:o.toRef(e,"onBeforeLeave"),activateTab:he,handleClose:te,handleAdd:Ie}),kl(()=>{F(),L()}),o.watchEffect(()=>{const{value:_}=f;if(!_)return;const{value:N}=l,K=`${N}-tabs-nav-scroll-wrapper--shadow-start`,R=`${N}-tabs-nav-scroll-wrapper--shadow-end`;x.value?_.classList.remove(K):_.classList.add(K),v.value?_.classList.remove(R):_.classList.add(R)});const Re={syncBarPosition:()=>{F()}},X=()=>{oe({transitionDisabled:!0})},D=o.computed(()=>{const{value:_}=g,{type:N}=e,K={card:"Card",bar:"Bar",line:"Line",segment:"Segment"}[N],R=`${_}${K}`,{self:{barColor:C,closeIconColor:B,closeIconColorHover:re,closeIconColorPressed:we,tabColor:Pe,tabBorderColor:Ue,paneTextColor:Ne,tabFontWeight:Me,tabBorderRadius:Ze,tabFontWeightActive:ft,colorSegment:tt,fontWeightStrong:st,tabColorSegment:y,closeSize:H,closeIconSize:Z,closeColorHover:le,closeColorPressed:ce,closeBorderRadius:ue,[ee("panePadding",_)]:fe,[ee("tabPadding",R)]:ge,[ee("tabPaddingVertical",R)]:Ee,[ee("tabGap",R)]:mt,[ee("tabGap",`${R}Vertical`)]:on,[ee("tabTextColor",N)]:Bn,[ee("tabTextColorActive",N)]:an,[ee("tabTextColorHover",N)]:ln,[ee("tabTextColorDisabled",N)]:Er,[ee("tabFontSize",_)]:zr},common:{cubicBezierEaseInOut:Zn}}=c.value;return{"--n-bezier":Zn,"--n-color-segment":tt,"--n-bar-color":C,"--n-tab-font-size":zr,"--n-tab-text-color":Bn,"--n-tab-text-color-active":an,"--n-tab-text-color-disabled":Er,"--n-tab-text-color-hover":ln,"--n-pane-text-color":Ne,"--n-tab-border-color":Ue,"--n-tab-border-radius":Ze,"--n-close-size":H,"--n-close-icon-size":Z,"--n-close-color-hover":le,"--n-close-color-pressed":ce,"--n-close-border-radius":ue,"--n-close-icon-color":B,"--n-close-icon-color-hover":re,"--n-close-icon-color-pressed":we,"--n-tab-color":Pe,"--n-tab-font-weight":Me,"--n-tab-font-weight-active":ft,"--n-tab-padding":ge,"--n-tab-padding-vertical":Ee,"--n-tab-gap":mt,"--n-tab-gap-vertical":on,"--n-pane-padding-left":pt(fe,"left"),"--n-pane-padding-right":pt(fe,"right"),"--n-pane-padding-top":pt(fe,"top"),"--n-pane-padding-bottom":pt(fe,"bottom"),"--n-font-weight-strong":st,"--n-tab-color-segment":y}}),ne=s?rt("tabs",o.computed(()=>`${g.value[0]}${e.type[0]}`),D,e):void 0;return Object.assign({mergedClsPrefix:l,mergedValue:$,renderedNames:new Set,segmentCapsuleElRef:Se,tabsPaneWrapperRef:U,tabsElRef:d,barElRef:u,addTabInstRef:p,xScrollInstRef:m,scrollWrapperElRef:f,addTabFixed:Ae,tabWrapperStyle:O,handleNavResize:se,mergedSize:g,handleScroll:Ke,handleTabsResize:We,cssVars:s?void 0:D,themeClass:ne==null?void 0:ne.themeClass,animationDirection:ae,renderNameListRef:me,yScrollElRef:h,handleSegmentResize:X,onAnimationBeforeLeave:J,onAnimationEnter:Y,onAnimationAfterEnter:ie,onRender:ne==null?void 0:ne.onRender},Re)},render(){const{mergedClsPrefix:e,type:t,placement:n,addTabFixed:r,addable:i,mergedSize:a,renderNameListRef:l,onRender:s,paneWrapperClass:c,paneWrapperStyle:d,$slots:{default:u,prefix:f,suffix:p}}=this;s==null||s();const m=u?Nn(u()).filter(T=>T.type.__TAB_PANE__===!0):[],h=u?Nn(u()).filter(T=>T.type.__TAB__===!0):[],x=!h.length,v=t==="card",g=t==="segment",k=!v&&!g&&this.justifyContent;l.value=[];const z=()=>{const T=o.h("div",{style:this.tabWrapperStyle,class:[`${e}-tabs-wrapper`]},k?null:o.h("div",{class:`${e}-tabs-scroll-padding`,style:{width:`${this.tabsPadding}px`}}),x?m.map((O,b)=>(l.value.push(O.props.name),ba(o.h(pa,Object.assign({},O.props,{internalCreatedByPane:!0,internalLeftPadded:b!==0&&(!k||k==="center"||k==="start"||k==="end")}),O.children?{default:O.children.tab}:void 0)))):h.map((O,b)=>(l.value.push(O.props.name),ba(b!==0&&!k?td(O):O))),!r&&i&&v?ed(i,(x?m.length:h.length)!==0):null,k?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`},v&&i?o.h(Jt,{onResize:this.handleTabsResize},{default:()=>T}):T,v?o.h("div",{class:`${e}-tabs-pad`}):null,v?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`,k&&`${e}-tabs--flex`,`${e}-tabs--${$}`],style:this.cssVars},o.h("div",{class:[`${e}-tabs-nav--${t}-type`,`${e}-tabs-nav--${$}`,`${e}-tabs-nav`]},De(f,T=>T&&o.h("div",{class:`${e}-tabs-nav__prefix`},T)),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((T,O)=>(l.value.push(T.props.name),o.h(pa,Object.assign({},T.props,{internalCreatedByPane:!0,internalLeftPadded:O!==0}),T.children?{default:T.children.tab}:void 0))):h.map((T,O)=>(l.value.push(T.props.name),O===0?T:td(T))))}):o.h(Jt,{onResize:this.handleNavResize},{default:()=>o.h("div",{class:`${e}-tabs-nav-scroll-wrapper`,ref:"scrollWrapperElRef"},["top","bottom"].includes($)?o.h(Eh,{ref:"xScrollInstRef",onScroll:this.handleScroll},{default:z}):o.h("div",{class:`${e}-tabs-nav-y-scroll`,onScroll:this.handleScroll,ref:"yScrollElRef"},z()))}),r&&i&&v?ed(i,!0):null,De(p,T=>T&&o.h("div",{class:`${e}-tabs-nav__suffix`},T))),x&&(this.animated&&($==="top"||$==="bottom")?o.h("div",{ref:"tabsPaneWrapperRef",style:d,class:[`${e}-tabs-pane-wrapper`,c]},Qc(m,this.mergedValue,this.renderedNames,this.onAnimationBeforeLeave,this.onAnimationEnter,this.onAnimationAfterEnter,this.animationDirection)):Qc(m,this.mergedValue,this.renderedNames)))}});function Qc(e,t,n,r,i,a,l){const s=[];return e.forEach(c=>{const{name:d,displayDirective:u,"display-directive":f}=c.props,p=h=>u===h||f===h,m=t===d;if(c.key!==void 0&&(c.key=d),m||p("show")||p("show:lazy")&&n.has(d)){n.has(d)||n.add(d);const h=!p("if");s.push(h?o.withDirectives(c,[[o.vShow,m]]):c)}}),l?o.h(o.TransitionGroup,{name:`${l}-transition`,onBeforeLeave:r,onEnter:i,onAfterEnter:a},{default:()=>s}):s}function ed(e,t){return o.h(pa,{ref:"addTabInstRef",key:"__addable",name:"__addable",internalCreatedByPane:!0,internalAddable:!0,internalLeftPadded:t,disabled:typeof e=="object"&&e.disabled})}function td(e){const t=o.cloneVNode(e);return t.props?t.props.internalLeftPadded=!0:t.props={internalLeftPadded:!0},t}function ba(e){return Array.isArray(e.dynamicProps)?e.dynamicProps.includes("internalLeftPadded")||e.dynamicProps.push("internalLeftPadded"):e.dynamicProps=["internalLeftPadded"],e}async function kw(e,t,n,r){try{const{data:i}=await Fe.post(`${e}api/visualizations`,{type:t,title:n,config:r});return i.id}catch(i){In(i)}}async function Rw(e,t,n,r){try{return(await Fe.put(`${e}api/visualizations/${t}`,{title:n,config:r})).data}catch(i){In(i)}}function nd(e){let 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 Pw={key:0,class:"border border-dotted border-green-600 rounded mt-2 p-2"},Ew={__name:"InputConditional",props:o.mergeModels({datasetId:{type:String,required:!0},input:{type:Object,required:!0},root:{type:String,required:!0}},{value:{},valueModifiers:{}}),emits:["update:value"],setup(e){const t=e,n=t.input.test_param.name;n||console.error(`Test parameter has no name: ${t.input.name}.`);const r=o.useModel(e,"value");(!r.value||!(n in r.value))&&console.error(`Test parameter of conditional not available: ${t.input.name}.`,r.value);const i=o.ref(r.value[n]),a={},l={};for(const c of t.input.cases)a[c.value]=c.inputs,l[c.value]=nd(c.inputs),l[c.value][n]=c.value;function s(c){r.value={...l[i.value]},c&&(r.value={...r.value,...c})}return o.watch(()=>i.value,()=>{s()}),(c,d)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(da),{value:i.value,"onUpdate:value":d[0]||(d[0]=u=>i.value=u),options:e.input.test_param.data},null,8,["value","options"]),a[i.value]?(o.openBlock(),o.createElementBlock("div",Pw,[o.createVNode(ga,{"dataset-id":e.datasetId,inputs:a[i.value],root:e.root,values:r.value,"onUpdate:values":s},null,8,["dataset-id","inputs","root","values"])])):o.createCommentVNode("",!0)],64))}};function zw(e,t,n,r){const i=[];t&&i.push({label:"Column: Default",value:"auto"});var a=e.metadata_column_types;for(const l in a)(r&&["int","float"].indexOf(a[l])!=-1||n&&a[l]==="str"||!r&&!n)&&i.push({label:"Column: "+(parseInt(l)+1),value:l});return i}const Bw={__name:"InputDataColumn",props:o.mergeModels({datasetId:{type:String,default:""},isAuto:{type:Boolean,default:!1},isText:{type:Boolean,default:!1},isNumber:{type:Boolean,default:!1},root:{type:String,default:"/"}},{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 l=await Eu(t.datasetId),s=zw(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(da),{value:r.value,"onUpdate:value":s[0]||(s[0]=c=>r.value=c),options:n.value},null,8,["value","options"]))}};function ma(e){return String(e).toLowerCase()==="true"}const _w={class:"overflow-auto select-none"},Mw={class:"font-bold pb-1"},Ow={key:0,class:"text-xs pb-1"},Aw={key:4},rd=.01,ga={__name:"InputForm",props:{datasetId:{type:String,default:""},inputs:{type:Array,default:()=>[]},root:{type:String,default:"/"},values:{type:Object,default:()=>{}}},emits:["update:values"],setup(e,{emit:t}){const n=e,r=o.ref(a()),i=t;function a(){const s={...n.values};return n.inputs.forEach(c=>{s[c.name]===void 0&&(s[c.name]=null)}),s}function l(){i("update:values",r.value)}return o.watch(()=>n.values,()=>{r.value=a()}),(s,c)=>(o.openBlock(),o.createElementBlock("div",_w,[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.inputs,(d,u)=>(o.openBlock(),o.createElementBlock("div",{key:u,class:"pb-2"},[o.createElementVNode("div",Mw,o.toDisplayString(d.label||d.name),1),d.help?(o.openBlock(),o.createElementBlock("div",Ow,o.toDisplayString(d.help),1)):o.createCommentVNode("",!0),o.createElementVNode("div",null,[d.type==="boolean"?(o.openBlock(),o.createBlock(o.unref(ww),{key:0,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[0]||(c[0]=f=>l())]},null,8,["value","onUpdate:value"])):d.type==="color"?(o.openBlock(),o.createBlock(o.unref(By),{key:1,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[1]||(c[1]=f=>l())],modes:["hex"],"show-alpha":!1},null,8,["value","onUpdate:value"])):d.type==="conditional"?(o.openBlock(),o.createBlock(Ew,{key:2,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[2]||(c[2]=f=>l())],"dataset-id":e.datasetId,input:d,root:e.root},null,8,["value","onUpdate:value","dataset-id","input","root"])):d.type==="data_column"?(o.openBlock(),o.createBlock(Bw,{key:3,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[3]||(c[3]=f=>l())],"dataset-id":e.datasetId,"is-auto":o.unref(ma)(d.is_auto),"is-text":o.unref(ma)(d.is_text),"is-number":o.unref(ma)(d.is_number),root:e.root},null,8,["value","onUpdate:value","dataset-id","is-auto","is-text","is-number","root"])):d.type==="float"?(o.openBlock(),o.createElementBlock("div",Aw,[d.min!==void 0&&d.max!==void 0?(o.openBlock(),o.createBlock(o.unref(vw),{key:0,class:"mb-2",value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[4]||(c[4]=f=>l())],min:Number(d.min),max:Number(d.max),step:rd},null,8,["value","onUpdate:value","min","max"])):o.createCommentVNode("",!0),o.createVNode(o.unref(pw),{value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[5]||(c[5]=f=>l())],size:"small",min:Number(d.min),max:Number(d.max),step:rd},null,8,["value","onUpdate:value","min","max"])])):d.type==="select"?(o.openBlock(),o.createBlock(o.unref(da),{key:5,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[6]||(c[6]=f=>l())],options:d.data},null,8,["value","onUpdate:value","options"])):d.type==="textarea"?(o.openBlock(),o.createBlock(o.unref(Tr),{key:6,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[7]||(c[7]=f=>l())],rows:Number(d.rows),type:"textarea"},null,8,["value","onUpdate:value","rows"])):(o.openBlock(),o.createBlock(o.unref(Tr),{key:7,value:r.value[d.name],"onUpdate:value":[f=>r.value[d.name]=f,c[8]||(c[8]=f=>l())]},null,8,["value","onUpdate:value"]))])]))),128))]))}},Iw=o.createElementVNode("span",{class:"mx-1"},"Add New Track",-1),Fw={class:"border border-dotted border-green-600 rounded p-2"},Dw={class:"flex text-green-600 my-1"},Nw={class:"mx-1"},Lw={__name:"InputRepeats",props:{datasetId:{type:String,default:""},inputs:{type:Array,required:!0},root:{type:String,required:!0},valuesArray:{type:Array,required:!0}},emits:["update:values-array"],setup(e,{emit:t}){const n=e,r=t,i=o.computed(()=>nd(n.inputs));function a(){const c=[...n.valuesArray];c.unshift(i.value),r("update:values-array",c)}function l(c){const d=[...n.valuesArray];d.splice(c,1),r("update:values-array",d)}function s(c,d){const u=[...n.valuesArray];u[c]={...d},r("update:values-array",u)}return(c,d)=>(o.openBlock(),o.createElementBlock(o.Fragment,null,[o.createVNode(o.unref(Lt),{size:"tiny",type:"primary",class:"mb-2",onClick:a},{default:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Lu))]),_:1}),Iw]),_:1}),(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(e.valuesArray,(u,f)=>(o.openBlock(),o.createElementBlock("div",{key:f,class:"my-2"},[o.createElementVNode("div",Fw,[o.createVNode(ga,{"dataset-id":e.datasetId,inputs:e.inputs,root:e.root,values:u,"onUpdate:values":p=>s(f,p)},null,8,["dataset-id","inputs","root","values","onUpdate:values"]),o.createElementVNode("div",Dw,[o.createVNode(o.unref(Lt),{class:"text-green-600 w-full",size:"tiny",round:"",disabled:e.valuesArray.length<=1,onClick:p=>l(f)},{default:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Vu))]),_:1}),o.createElementVNode("span",Nw,"Remove Track "+o.toDisplayString(e.valuesArray.length-f),1)]),_:2},1032,["disabled","onClick"])])])]))),128))],64))}},Hw=2e3,Vw={__name:"AlertNotify",props:{message:{type:String,required:!0},messageType:{type:String,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"),Hw)}),(a,l)=>e.message?(o.openBlock(),o.createBlock(o.unref(Ic),{key:0,type:e.messageType,class:"m-4"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(e.message),1)]),_:1},8,["type"])):o.createCommentVNode("",!0)}};async function jw(e){try{const{data:t}=await Fe.get(`${e}api/version`);return t.version_major}catch(t){In(t)}}const Ww={class:"text-xs"},Uw=o.createElementVNode("span",{class:"text-xs"},"Galaxy not available",-1),qw={__name:"ApiStatus",props:{root:{type:String,required:!0}},setup(e){const t=e,n=o.ref("...");async function r(){try{n.value=await jw(t.root)}catch(i){console.error(i),n.value=""}}return r(),(i,a)=>n.value?(o.openBlock(),o.createBlock(o.unref(Wc),{key:0,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(Ht),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Au),{class:"text-green-600"})]),_:1})]),default:o.withCtx(()=>[o.createElementVNode("span",Ww,"Connected to Galaxy Version "+o.toDisplayString(n.value),1)]),_:1})):(o.openBlock(),o.createBlock(o.unref(Wc),{key:1,class:"mx-1",trigger:"hover"},{trigger:o.withCtx(()=>[o.createVNode(o.unref(Ht),{class:"mx-1"},{default:o.withCtx(()=>[o.createVNode(o.unref(Nu),{class:"text-red-600"})]),_:1})]),default:o.withCtx(()=>[Uw]),_:1}))}},Gw={class:"overflow-auto select-none bg-white z-10"},Kw={class:"flex p-2"},Xw={class:"flex-1 font-thin text-lg p-1 p-2"},Yw=o.createElementVNode("span",null,"Charts",-1),Zw={class:"m-4 mt-0 p-2 bg-sky-50 text-sky-900 rounded"},Jw={class:"md:flex"},Qw={class:"flex justify-center center-items"},e1={class:"m-2"},t1=["src"],n1={key:1,xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 100 100",class:"size-14"},r1=[o.createElementVNode("circle",{cx:"50",cy:"50",r:"45",stroke:"#E30A17","stroke-width":"5",fill:"#FFFFFF"},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)],o1={class:"overflow-hidden break-words p-1"},i1={class:"font-bold"},a1=["innerHTML"],l1={class:"px-4 pb-2"},s1=o.createElementVNode("div",{class:"font-bold"},"Title",-1),c1=o.createElementVNode("div",{class:"text-xs py-1"},"Specify a visualization title.",-1),d1=o.createElementVNode("span",{class:"mx-1"},"Tracks",-1),u1=o.createElementVNode("span",{class:"mx-1"},"Settings",-1),f1={__name:"SidePanel",props:{datasetId:{type:String,default:""},description:{type:String,default:"This visualization has no description."},logoUrl:{type:String,default:""},html:{type:String,default:"Visualization Title"},name:{type:String,required:!0},root:{type:String,required:!0},settingInputs:{type:Array,default:()=>[]},settingValues:{type:Object,default:()=>{}},trackInputs:{type:Array,default:()=>[]},trackValues:{type:Object,default:()=>[]},visualizationId:{type:String,default:null},visualizationTitle:{type:String,required:!0}},emits:["update:tracks","update:settings","toggle"],setup(e,{emit:t}){const n=e,r=o.ref(n.visualizationTitle),i=o.ref(n.visualizationId),a=o.ref(""),l=o.ref(""),s=o.computed(()=>n.settingInputs.length===0||n.trackInputs.length===0),c=t;async function d(){try{i.value?(await Rw(n.root,i.value,r.value,{dataset_id:n.datasetId,settings:n.values}),a.value="Successfully saved.",l.value="success"):(i.value=await kw(n.root,n.name,r.value,{dataset_id:n.datasetId,settings:n.values}),a.value="Successfully created.",l.value="success")}catch(p){a.value=ll(p),l.value="error"}}function u(p){c("update:settings",p)}function f(p){c("update:tracks",p)}return(p,m)=>(o.openBlock(),o.createElementBlock("div",Gw,[o.createElementVNode("div",Kw,[o.createElementVNode("div",Xw,[Yw,o.createVNode(qw,{root:e.root},null,8,["root"])]),o.createElementVNode("div",null,[o.createVNode(o.unref(Lt),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:d},{icon:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Du))]),_:1})]),_:1}),o.createVNode(o.unref(Lt),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-1",onClick:m[0]||(m[0]=h=>c("toggle"))},{icon:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Fu))]),_:1})]),_:1})])]),o.createVNode(Vw,{message:a.value,"message-type":l.value,onTimeout:m[1]||(m[1]=h=>a.value=""),class:"m-4"},null,8,["message","message-type"]),o.createElementVNode("div",Zw,[o.createElementVNode("div",Jw,[o.createElementVNode("div",Qw,[o.createElementVNode("div",e1,[n.logoUrl?(o.openBlock(),o.createElementBlock("img",{key:0,src:n.logoUrl,class:"min-w-14 max-w-14 object-contain"},null,8,t1)):(o.openBlock(),o.createElementBlock("svg",n1,r1))])]),o.createElementVNode("div",o1,[o.createElementVNode("span",i1,o.toDisplayString(e.html),1),o.createElementVNode("div",{class:"text-xs",innerHTML:e.description},null,8,a1)])])]),o.createElementVNode("div",l1,[s1,c1,o.createVNode(o.unref(Tr),{value:r.value,"onUpdate:value":m[2]||(m[2]=h=>r.value=h)},null,8,["value"])]),o.createVNode(o.unref(Tw),{type:"line",animated:"",class:"px-4","tab-class":s.value?"!hidden":""},{default:o.withCtx(()=>[e.trackInputs.length>0?(o.openBlock(),o.createBlock(o.unref(Jc),{key:0,name:"tracks"},{tab:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Hu))]),_:1}),d1]),default:o.withCtx(()=>[o.createVNode(Lw,{"dataset-id":e.datasetId,inputs:e.trackInputs,root:e.root,"values-array":e.trackValues,"onUpdate:valuesArray":f},null,8,["dataset-id","inputs","root","values-array"])]),_:1})):o.createCommentVNode("",!0),e.settingInputs.length>0?(o.openBlock(),o.createBlock(o.unref(Jc),{key:1,name:"settings"},{tab:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Mu))]),_:1}),u1]),default:o.withCtx(()=>[o.createVNode(ga,{"dataset-id":e.datasetId,inputs:e.settingInputs,root:e.root,values:e.settingValues,"onUpdate:values":u},null,8,["dataset-id","inputs","root","values"])]),_:1})):o.createCommentVNode("",!0)]),_:1},8,["tab-class"])]))}};function h1(e){const t=e.replace(/^.*[\\\/]/,"");return t.substring(0,t.lastIndexOf("."))}const od=new DOMParser;async function p1(e,t=""){const n=od.parseFromString(e,"text/xml"),r=[],i=n.documentElement.getElementsByTagName("macros");if(i.length>0)for(const s of i)for(const c of s.children)r.push(c.textContent.trim());console.debug(`Detected ${r.length} macro file(s) in xml.`);const a={};for(const s of r){const{data:c}=await Fe.get(`${t}${s}`),u=od.parseFromString(c,"text/xml").documentElement.getElementsByTagName("xml");if(u.length>0)for(const f of u){const p=f.getAttribute("name");for(const m of f.children)a[p]=a[p]||[],a[p].push(m)}}console.debug("Successfully collected macro files.");const l=n.documentElement.getElementsByTagName("expand");if(l.length>0)for(const s of l){const c=s.getAttribute("macro");if(c in a){const d=a[c];for(const u of d)s.parentNode.appendChild(u);s.parentNode.removeChild(s)}else console.error(`Failed to detect '${c}' macros source.`)}return n}async function b1(e){const t=await Fe.get(e),n=await p1(t.data);let r={};r.name=h1(e),r.html=n.documentElement.getAttribute("name"),r.logo=n.documentElement.getAttribute("logo");const i=n.documentElement.getElementsByTagName("description");i.length===1&&(r.description=i[0].textContent.trim());const a=n.documentElement.getElementsByTagName("specs");return a.length===1&&(r.specs=new zo(a[0])),["settings","tracks"].forEach(l=>{const s=n.documentElement.getElementsByTagName(l);s.length===1&&(r[l]=new Eo(s[0]))}),r}class Eo extends Array{constructor(t){super();for(const n of t.children)n.children.length>0?n.tagName===n.children[0].tagName?this.push(new Eo(n)):this.push(new zo(n)):n.textContent&&n.textContent.trim()&&this.push(n.textContent.trim())}}class zo{constructor(t){if(t.attributes.length>0)for(const n of t.attributes)this[n.name]=n.value;for(const n of t.children)if(n.children.length>0){let r;if(n.tagName===n.children[0].tagName)r=new Eo(n);else{const i=new zo(n);if(n.attributes.length>0)for(const a of n.attributes)i[a.name]=a.value;r=i}this[n.tagName]=r}else if(n.attributes.length>0){const r={};for(const i of n.attributes)r[i.name]=i.value;this[n.tagName]=r}else this[n.tagName]=n.textContent.trim()}}async function m1(e,t,n){if(!t)try{t=await b1(e)}catch(l){console.error("Visualization requires configuration from XML or attached `visualization_plugin` details."),In(l)}const r=ad(t.settings,n.settings),i=t.specs,a=v1(t.tracks,n.tracks);return{plugin:t,settings:r,specs:i,tracks:a}}function id(e,t){let n=t??e.value;return e.type==="float"&&(n=Number(n)),n}function g1(e,t){var i;const n=t||{},r=e.test_param.name;if(!r)console.error(`Test parameter has no name: ${e.name}.`);else{const a=n[r]??e.test_param.value;for(const l of e.cases)if(l.value===a&&(n[r]=a,((i=l.inputs)==null?void 0:i.length)>0))for(const s of l.inputs)n[s.name]=id(s,n[s.name])}return n}function ad(e,t){const n=t||{};return e&&e.forEach(r=>{r.type==="conditional"?n[r.name]=g1(r,n[r.name]):n[r.name]=id(r,n[r.name])}),n}function v1(e,t){const n=t||[];return e&&(n.length===0&&n.push({}),n.forEach((r,i)=>{n[i]=ad(e,r)})),n}function x1(e){var c;const t=document.getElementById("app"),n=JSON.parse(t.getAttribute("data-incoming"))||{},r=n.root||(e==null?void 0:e.root)||"/",i=n.visualization_id,a=n.visualization_plugin,l=n.visualization_title||(e==null?void 0:e.title)||"Unnamed Visualization";let s=n.visualization_config||e;if((c=n.visualization_config)!=null&&c.chart_dict){const d=n.visualization_config.chart_dict;s.groups=d.groups,s.settings=d.settings,delete s.chartDict}return{root:r,visualizationConfig:s,visualizationId:i,visualizationPlugin:a,visualizationTitle:l}}const y1={key:1,class:"m-2"},w1=o.createElementVNode("span",{class:"text-xs"},"Please wait...",-1),C1={key:0},S1={__name:"GalaxyCharts",props:{config:{type:Object,default:()=>{}},xml:{type:String,required:!0}},setup(e){const t=e,n=o.ref(!1),r=o.ref(""),i=o.ref(null),a=o.ref(null),l=o.ref(null),s=o.ref(!0),c=o.ref(null),d=o.ref(""),u=o.ref([]),f=o.ref({}),p=o.ref({}),m=o.ref([]),h=o.ref([]),{root:x,visualizationConfig:v,visualizationId:g,visualizationPlugin:k,visualizationTitle:z}=x1(t.config);or().setRoot(x),m1(t.xml,k,v).then(({plugin:A,settings:F,specs:L,tracks:U})=>{a.value=A.description,l.value=A.html,s.value=!1,c.value=A.logo,d.value=A.name,u.value=A.settings||[],f.value=F,p.value=L,m.value=A.tracks||[],h.value=U});const T=v.dataset_id;v.dataset_url?(i.value=v.dataset_url,console.debug(`ViewPort: Evaluating dataset url: ${i.value}.`)):T?(i.value=Bu(T),console.debug(`ViewPort: Built dataset url from dataset id: ${i.value}.`)):r.value="Visualization requires `dataset_id` or `dataset_url`.";const O=o.computed(()=>c.value&&`${x}${c.value}`);async function b(){n.value=!n.value,await o.nextTick(),window.dispatchEvent(new Event("resize"))}function S(A){f.value={...A}}function M(A){h.value=[...A]}return(A,F)=>r.value?(o.openBlock(),o.createBlock(o.unref(Ic),{key:0,title:"Visualization Error!",type:"error",class:"m-2"},{default:o.withCtx(()=>[o.createTextVNode(o.toDisplayString(r.value),1)]),_:1})):s.value?(o.openBlock(),o.createElementBlock("div",y1,[o.createElementVNode("span",null,[o.createVNode(o.unref(Ou),{class:"animate-spin size-4 inline mx-1"})]),w1])):(o.openBlock(),o.createElementBlock("div",{key:2,class:o.normalizeClass(["grid h-screen",{"grid-cols-[70%_30%]":!n.value}])},[o.renderSlot(A.$slots,"default",{embedded:n.value,datasetId:o.unref(T),datasetUrl:i.value,root:o.unref(x),settings:f.value,specs:p.value,tracks:h.value}),n.value?(o.openBlock(),o.createElementBlock("div",C1,[o.createVNode(o.unref(cw),{strong:"",secondary:"",circle:"",class:"bg-sky-100 m-2",top:0,right:0,onClick:b},{default:o.withCtx(()=>[o.createVNode(o.unref(Ht),null,{default:o.withCtx(()=>[o.createVNode(o.unref(Iu))]),_:1})]),_:1})])):(o.openBlock(),o.createBlock(f1,{key:1,"dataset-id":o.unref(T),description:a.value,html:l.value,"logo-url":O.value,name:d.value,root:o.unref(x),"setting-inputs":u.value,"setting-values":f.value,"track-inputs":m.value,"track-values":h.value,"visualization-id":o.unref(g),"visualization-title":o.unref(z),"onUpdate:settings":S,"onUpdate:tracks":M,onToggle:b},null,8,["dataset-id","description","html","logo-url","name","root","setting-inputs","setting-values","track-inputs","track-values","visualization-id","visualization-title"]))],2))}};qe.GalaxyCharts=S1,qe.useColumnsStore=_u,qe.useConfigStore=or,Object.defineProperty(qe,Symbol.toStringTag,{value:"Module"})});
|
package/dist/galaxy-charts.xml
CHANGED