@pennsieve-viz/tsviewer 1.0.0 → 1.0.1

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.
Files changed (50) hide show
  1. package/dist/{BFLibraryButton-BiLkvU6m.cjs → BFLibraryButton-BI_luZjc.cjs} +1 -1
  2. package/dist/{BFLibraryButton-C6aAhW1T.js → BFLibraryButton-BP-P5nDS.js} +1 -1
  3. package/dist/{IconSelection-DGTELjPb.cjs → IconSelection-B3B4x81f.cjs} +1 -1
  4. package/dist/{IconSelection-Bud2XLOy.js → IconSelection-DkGAJih_.js} +1 -1
  5. package/dist/{TSAnnotationCanvas-CMZHn8mY.js → TSAnnotationCanvas-CPNo-Z2t.js} +6 -5
  6. package/dist/TSAnnotationCanvas-Cq5fLEeQ.cjs +1 -0
  7. package/dist/TSAnnotationModal-BfpdK288.js +4429 -0
  8. package/dist/TSAnnotationModal-BvPKePsi.cjs +1 -0
  9. package/dist/{TSFilterModal-BtLOK_nq.js → TSFilterModal-BUuabfh0.js} +59 -55
  10. package/dist/TSFilterModal-DXfg6Vbt.cjs +1 -0
  11. package/dist/{TSScrubber-CTjzX-Xq.js → TSScrubber-BWay2z2E.js} +1 -1
  12. package/dist/{TSScrubber-DAnIUBuC.cjs → TSScrubber-DuOBdGF2.cjs} +1 -1
  13. package/dist/TSViewerCanvas-BDAfmQM_.cjs +11 -0
  14. package/dist/{TSViewerCanvas-DkKV70m8.js → TSViewerCanvas-DjV4CQ2G.js} +205 -209
  15. package/dist/{TSViewerLayerWindow-zI_48DIx.js → TSViewerLayerWindow-BuXB_NVG.js} +39 -36
  16. package/dist/TSViewerLayerWindow-C40On1cL.cjs +1 -0
  17. package/dist/TSViewerToolbar-CGLoEe3Z.cjs +1 -0
  18. package/dist/{TSViewerToolbar-BMZIlD4q.js → TSViewerToolbar-gOCiS_4U.js} +92 -88
  19. package/dist/{TsAnnotationDeleteDialog-Iwpo79Pe.js → TsAnnotationDeleteDialog-C3P2teV8.js} +82 -80
  20. package/dist/TsAnnotationDeleteDialog-Dr6JB0ms.cjs +1 -0
  21. package/dist/_commonjsHelpers-DKOUU3wS.cjs +1 -0
  22. package/dist/_commonjsHelpers-DaMA6jEr.js +8 -0
  23. package/dist/base-C3K_VdPK.cjs +12 -0
  24. package/dist/base-Dd-o8fN6.js +1413 -0
  25. package/dist/el-button-B3mito7d.cjs +1 -0
  26. package/dist/el-button-DVykS1Of.js +769 -0
  27. package/dist/el-input-BQKTli-S.cjs +1 -0
  28. package/dist/el-input-BxM2cCbI.js +4667 -0
  29. package/dist/el-input-number-8Z4UFuyU.cjs +1 -0
  30. package/dist/el-input-number-DtWxZ2F-.js +265 -0
  31. package/dist/el-overlay-BJQNirx2.cjs +1 -0
  32. package/dist/el-overlay-DfCO_8B5.js +517 -0
  33. package/dist/{index-CGSfhm_E.cjs → index-CW1sKrzq.cjs} +1 -1
  34. package/dist/index-CiwHOd9w.cjs +1 -0
  35. package/dist/index-CtMh8Ff9.js +22 -0
  36. package/dist/{index-Cexzl5Xu.js → index-D41jNOo7.js} +1 -1
  37. package/dist/index.cjs +1 -1
  38. package/dist/index.js +1 -1
  39. package/dist/{pathOr-Do2dduwx.js → pathOr-CSuna3IF.js} +1 -1
  40. package/dist/{pathOr-D0158Gk1.cjs → pathOr-DWeJPuhG.cjs} +1 -1
  41. package/dist/style.css +1 -1
  42. package/package.json +4 -4
  43. package/dist/TSAnnotationCanvas-C3-VI46n.cjs +0 -1
  44. package/dist/TSAnnotationModal-BcqWVXP_.js +0 -199
  45. package/dist/TSAnnotationModal-DskdoFo4.cjs +0 -1
  46. package/dist/TSFilterModal-DEOWfIi6.cjs +0 -1
  47. package/dist/TSViewerCanvas-Jbu-Kh9F.cjs +0 -11
  48. package/dist/TSViewerLayerWindow-wHkjTl6e.cjs +0 -1
  49. package/dist/TSViewerToolbar-C6yy7GJr.cjs +0 -1
  50. package/dist/TsAnnotationDeleteDialog-Be3AJIyo.cjs +0 -1
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const F=require("vue"),b=require("./index-CGSfhm_E.cjs"),J=require("pinia"),U=require("./TSViewerCanvas-Jbu-Kh9F.cjs"),B=require("./pathOr-D0158Gk1.cjs"),M=(t,u)=>{let c;if(/^#([A-Fa-f0-9]{3}){1,2}$/.test(t))return c=t.substring(1).split(""),c.length===3&&(c=[c[0],c[0],c[1],c[1],c[2],c[2]]),c="0x"+c.join(""),"rgba("+[c>>16&255,c>>8&255,c&255].join(",")+","+u+")";throw new Error("Bad Hex")},K=t=>{t.sort((u,c)=>u.start<c.start?-1:u.start>c.start?1:0)},z=(t,u)=>{const c=(t==null?void 0:t.layer_id)||0;return b.defaultTo({},U.find(b.propEq("id",c),u))},q=(t,u,c,o=0,l=!1)=>{let v;return l?v=V(t,u,o,t.length-1,c):v=_(t,u,o,t.length-1,c),v===-1?v=0:v<0&&(v=-v-2),v},_=(t,u,c,o,l)=>{if(o<c){let y=o>=0?o:-o-2;if(y===-1)return y;const T=t[y].start;for(;y>=0&&t[y].start===T;)y--;return-y-2}const v=parseInt((c+o)/2);if(t[v].start>u)return _(t,u,c,v-1,l);if(t[v].start<u)return _(t,u,v+1,o,l);{let y=v;if(l){for(;y>=0&&t[y].start===u;)y--;y++}else{for(;y<t.length&&t[y].start===u;)y++;y--}return y}},V=(t,u,c,o,l)=>{if(o<c){let T=o>=0?o:-o-2;if(T===-1)return T;const I=t[T].start+t[T].duration;for(;T>=0&&t[T].start+t[T].duration===I;)T--;return-T-2}const v=parseInt((c+o)/2),y=t[v].start+t[v].duration;if(y>u)return V(t,u,c,v-1,l);if(y<u)return V(t,u,v+1,o,l);{let T=v;if(l){for(;T>=0&&t[T].start+t[T].duration===u;)T--;T++}else{for(;T<t.length&&t[T].start+t[T].duration===u;)T++;T--}return T}},j=(t,u,c=0)=>u*(t+c);function Q(){const t=b.useViewerStore(),{viewerChannels:u,viewerAnnotations:c,viewerMontageScheme:o}=J.storeToRefs(t),l=F.ref([]),v=F.ref([]),y=g=>{const d=o.value!=="NOT_MONTAGED";let e=b.propOr("","id",g);if(d){const r=e.split("_");e=r.length?U.head(r):e}return e},T=async(g,d,e,r,f)=>{const i=[];i.push({start:g,end:e.tsEnd});let a=0;for(let n=0;n<l.value.length;n++){const s=l.value[n];if(g>=s.start&&d<=s.end)return;if(i[0].start>d)break;if(s.start<=i[0].start&&s.end>=g)a=n+1,i[0].start=s.end;else if(s.start>i[0].start){a=n;break}}const h=c.value.reduce((n,s)=>n+s.annotations.length,0);if(i[0].start>=i[0].end&&h>0)return;const w=0;for(let n=a;n<l.value.length;n++)if(l.value[n].start>=i[w].start)if(i[w].end=l.value[n].start,l.value[n].end<d)i.push({start:l.value[n].end,end:e.tsEnd});else break;if(!(i[0].start>=i[0].end&&h>0)&&i.length>0){u.value.map(n=>y(n));for(const n of i){for(const s of c.value){if(!s.id){console.warn("Layer ID is undefined, skipping annotation request for layer:",s);continue}const m=Math.floor(n.end),L={id:r.content.id,start:Math.floor(n.start),end:m,layerId:s.id,limit:e.constants.LIMITANNFETCH};try{const O=await b.useToken(),A=`${t.config.apiUrl}/timeseries/${r.content.id}/layers/${s.id}/annotations?api_key=${O}`,S=Object.keys(L).map(N=>`&${N}=${L[N]}`).join(""),E=`${A}${S}`,p=await fetch(E,{method:"GET",headers:{"Content-type":"application/json"}});if(p.status>=400)throw new Error(p.status);const $=await p.json();await I($,f)}catch(O){b.useHandleXhrError(O)}}l.value.push({start:Math.floor(n.start),end:Math.floor(n.end)})}l.value.sort((n,s)=>n.start<s.start?-1:n.start>s.start?1:0)}},I=async(g,d)=>{const e=b.propOr({},"linkedPackages",g);let r=B.pathOr([],["annotations","results"],g);if(r.length>=500){let i=0;for(const a of r)a.start>i&&(i=a.start);for(const a of l.value)if(a.end>i&&a.start<i){a.end=i;break}}const f=o.value!=="NOT_MONTAGED";if(r.length>0){const i=r.map(a=>{const h={name:"",id:a.id,label:a.label,description:a.description,start:a.start,duration:a.end-a.start,end:a.end,cStart:null,cEnd:null,selected:!1,channelIds:a.channelIds,allChannels:!1,layer_id:a.layerId,userId:a.userId};if(a.linkedPackage){const w=a.linkedPackage;h.linkedPackage=B.pathOr("",["content","id"],e[w]),h.linkedPackageDTO=e[w]}return(!f&&h.channelIds.length===u.value.length||f&&h.channelIds.length>u.value.length)&&(h.allChannels=!0),h});c.value.forEach(a=>{const h=a.annotations,w=i.filter(n=>a.id===n.layer_id);a.annotations=h.concat(w),t.updateLayer(a)})}d("annotationsReceived")};return{cachedAnnRange:l,annLayerInfo:v,checkAnnotationRange:T,findNextAnnotation:g=>{const d=t.getViewerActiveLayer(),e=q(d.annotations,g,!1);return e<d.annotations.length?d.annotations[e].start>g?d.annotations[e]:d.annotations[e+1]||d.annotations[e]:d.annotations[e]},findPreviousAnnotation:g=>{const d=t.getViewerActiveLayer(),e=q(d.annotations,g,!0);return d.annotations[e].start<g?d.annotations[e]:e>0?d.annotations[e-1]:d.annotations[e]},getChannelId:y}}function Y(){const t=b.useViewerStore(),{viewerAnnotations:u,viewerChannels:c}=J.storeToRefs(t),o=F.ref([]),l=F.ref([]),v=F.ref(null),y=F.ref(["#FFFF4E"]),T=(e,r)=>{var h,w;const i=(((h=r.constants)==null?void 0:h.ANNOTATIONLABELHEIGHT)||20)/2|0,a=((w=r.constants)==null?void 0:w.XOFFSET)||0;for(const n of e){let s=n.start,m=n.duration;n.duration<0&&(s=n.start+n.duration,m=-n.duration);const L=a+(s-r.start)/r.rsPeriod;if(n.cStart=L|0,n.duration!==0){const O=a+(s+m-r.start)/r.rsPeriod;n.cEnd=O|0}else n.cEnd=n.cStart+r.cWidth/40|0;if(n.allChannels)n.allOffsets=[i],n.cY=i;else{n.allOffsets=[],n.minOffset=r.cHeight|0,n.maxOffset=0;const O=c.value;for(const C of n.channelIds){let A=null;for(const S of O)if(S.id===C&&S.visible){A=S.rowBaseline|0,A<n.minOffset&&(n.minOffset=A),A>n.maxOffset&&(n.maxOffset=A),n.allOffsets.push(A);break}}l.value.indexOf(n.minOffset)<0&&l.value.push(n.minOffset),n.cY=n.minOffset}}},I=(e,r,f,i)=>{var w,n;const a=((w=f.constants)==null?void 0:w.ANNOTATIONLABELHEIGHT)||20,h=a/2|0;e.setTransform(f.pixelRatio,0,0,f.pixelRatio,0,0),e.save(),e.lineWidth=1,e.setLineDash([8,5]),e.strokeStyle="rgba(0,0,0, 0.6)",e.fillStyle="rgba(0,0,0,0.05)";for(const s of r){const m=z(s,u.value);s.selected&&(e.save(),e.strokeStyle=m.selColor,e.fillStyle=m.bkColor,e.lineWidth=1);const L=Math.round(s.cStart)+.5,O=Math.round(s.cEnd)+.5;s.allChannels?s.duration===0?(e.beginPath(),e.moveTo(L+1,a),e.lineTo(L,i),e.stroke()):(e.fillRect(L,a,O-L,i-a),e.beginPath(),e.moveTo(L,a),e.lineTo(L,i),e.moveTo(O,a),e.lineTo(O,i),e.stroke()):((n=s==null?void 0:s.channelIds)==null?void 0:n.length)===1?s.duration===0&&(e.beginPath(),e.moveTo(L,s.minOffset+h),e.lineTo(L,s.minOffset+h+8),e.stroke()):s.duration===0?(e.beginPath(),e.moveTo(L,s.minOffset+h),e.lineTo(L,s.maxOffset-h),e.stroke()):(e.fillRect(L-1,s.minOffset+h,O-L+1,s.maxOffset-s.minOffset-a),e.beginPath(),e.moveTo(L,s.minOffset+h),e.lineTo(L,s.maxOffset-h),e.moveTo(O,s.minOffset+h),e.lineTo(O,s.maxOffset-h),e.stroke()),s.selected&&e.restore()}e.restore()},R=async(e,r,f,i,a,h)=>{var s;const w=((s=f.constants)==null?void 0:s.ANNOTATIONLABELHEIGHT)||20,n=w/2|0;e.setTransform(f.pixelRatio,0,0,f.pixelRatio,0,0),e.save(),e.lineWidth=2,e.font="14px sans-serif",e.textAlign="left";for(const m of r){const L=z(m,u.value);if(m===v.value&&i)continue;m.selected?(e.fillStyle=L.selColor||"rgba(51,204,102, 0.8)",e.strokeStyle="white"):(e.fillStyle=L.color||"rgba(51,204,102,0.8)",e.strokeStyle=m===v.value?"white":"rgba(255,255,255,0.8)");const O=Math.round(m.cStart)+1,C=Math.round(m.cEnd);let A=0;for(let p=0;p<m.allOffsets.length;p++)e.fillRect(O-1,m.allOffsets[p]-n,C-O+2,w),m.allOffsets[p]===m.minOffset&&(A=p);const S=m.allOffsets[A];if(["annSelect","annResize-left","annResize-right"].includes(a)&&h==="annotate"&&(e.beginPath(),m.duration!==0&&(e.moveTo(C-3,S-n+3),e.lineTo(C-3,S+n-3)),e.moveTo(O+3,S-n+3),e.lineTo(O+3,S+n-3),e.stroke()),C-O>m.label.length*8+10){e.fillStyle=y.value.indexOf(L.hexColor)>=0?"black":"white";const p=m.linkedPackage?O+30:O+10,$=m.linkedPackage?S+n-n/2:S+n-6;e.fillText(m.label,p,$)}const E=m.linkedPackageDTO;E&&C-O>=30&&await k(e,E,O,S,n,w)}e.restore()},k=async(e,r,f,i,a,h)=>{const w=B.pathOr({},["objects","view",1,"content"],r),n=b.propOr("","fileType",w),s=new Image;if(n==="PNG"){const{id:m,packageId:L}=w,O=t.config.apiUrl;try{const C=await b.useToken();s.src=`${O}/packages/${L}/files/${m}/presign/?api_key=${C}`,s.complete?e.drawImage(s,f,i-a,27,h):s.addEventListener("load",()=>{e.drawImage(s,f,i-a,27,h)},{once:!0})}catch(C){console.error("Error loading image:",C)}}else s.src=g(),e.drawImage(s,f+5,i-a,20,20)},g=e=>"/path/to/default/icon.png";return{renderAnn:o,hoverOffsets:l,focusedAnn:v,render:(e,r,f,i)=>{var m,L,O,C;if(!r){console.warn("TSAnnotationCanvas: annotationsCanvas prop is undefined or null");return}const a=r.getContext("2d"),h=f.getContext("2d");a.setTransform(e.pixelRatio,0,0,e.pixelRatio,0,0),h.setTransform(e.pixelRatio,0,0,e.pixelRatio,0,0),l.value=[(((m=e.constants)==null?void 0:m.ANNOTATIONLABELHEIGHT)||20)/2],a.clearRect(0,0,e.cWidth,e.cHeight),h.clearRect(0,0,e.cWidth,e.cHeight),o.value=[];const w=e.duration&&e.duration>0?e.duration:15e6,n=e.start||0,s=n+w;console.log("🎨 Annotation render debug:",{start:n,duration:w,end:s,layerCount:((L=u.value)==null?void 0:L.length)||0,totalAnnotations:((O=u.value)==null?void 0:O.reduce((A,S)=>{var E;return A+(((E=S.annotations)==null?void 0:E.length)||0)},0))||0});for(const A of u.value)if(A.visible&&((C=A.annotations)==null?void 0:C.length)>0){console.log(`🔍 Processing layer "${A.name}" with ${A.annotations.length} annotations`);const S=A.annotations.filter(E=>{const p=E.start,$=E.end||E.start+(E.duration||0),N=p<s&&$>n;return N&&console.log(` ✅ Including annotation "${E.label}": ${p} - ${$}`),N});console.log(` 📊 Found ${S.length} annotations in viewport`),S.length>0&&(S.sort((E,p)=>E.start-p.start),o.value.push(...S))}if(console.log(`🎯 Total annotations to render: ${o.value.length}`),o.value.length===0){console.log("⚠️ No annotations found in viewport");return}K(o.value),T(o.value,e),I(a,o.value,e,i),R(h,o.value,e,!0,e.pointerMode,e.viewerActiveTool),v.value&&R(h,[v.value],e,!1,e.pointerMode,e.viewerActiveTool),console.log(`✅ Rendered ${o.value.length} annotations successfully`)},computeRenderOptions:T,renderAnnotationAreas:I,renderAnnotationLabels:R}}function Z(t,u,c){const o=b.useViewerStore(),l=F.ref([0,0]),v=(e,r)=>{const i=((r==null?void 0:r.ANNOTATIONLABELHEIGHT)||20)/2;for(const a of c.value)if(e>=a-i&&e<=a+i)return!0;return!1},y=(e,r,f)=>{var h;const a=((f==null?void 0:f.ANNOTATIONLABELHEIGHT)||20)/2;for(let w=0;w<(((h=u.value)==null?void 0:h.length)||0);w++){const n=u.value[w];if(n.cStart<e&&n.cEnd>e){if(r>n.cY-a&&r<n.cY+a)return w}else if(n.cStart>e)break}return null},T=(e,r,f)=>{if(!f)return r;switch(r){case"annotate":return e<=f.cStart+10?"annResize-left":e>=f.cEnd-10&&f.duration>0?"annResize-right":"annSelect";case"pointer":return"annSelect";default:return r}};return{mouseDownPosition:l,shouldCheckAnnotationHover:v,findAnnotationAtPosition:y,determinePointerMode:T,resetFocusedAnnotation:()=>{var e;((e=t.value)==null?void 0:e.oldStart)!==void 0&&(t.value.start=t.value.oldStart,t.value.duration=t.value.oldDuration,t.value.end=t.value.start+t.value.duration)},selectFocusedAnnotation:()=>t.value?(o.setActiveAnnotation(t.value),!0):!1,onMouseDown:(e,r,f)=>{t.value&&["annResize-left","annResize-right"].includes(f)&&(t.value.oldStart=t.value.start,t.value.oldDuration=t.value.duration,l.value=[e,r])},onMouseMove:(e,r,f,i,a)=>{let h=f;if(i&&l.value){const w=(e-l.value[0])*a.rsPeriod;switch(f){case"annResize-left":t.value.oldDuration>0?(t.value.start=t.value.oldStart+w,t.value.duration=t.value.oldDuration-w,t.value.end=t.value.start+t.value.duration):t.value.start=t.value.oldStart+w;break;case"annResize-right":t.value.duration=t.value.oldDuration+w,t.value.end=t.value.start+t.value.duration;break}}else{const w=v(r,a.constants);if(h=a.viewerActiveTool,w){const n=y(e,r,a.constants);if(n!==null){const s=t.value,m=u.value[n];(!s||e<t.value.cStart||e>t.value.cEnd)&&(t.value=m),h=T(e,a.viewerActiveTool,t.value)}else t.value=null}else t.value=null,h=a.viewerActiveTool}return h},onMouseUp:(e,r)=>{if(t.value&&["annResize-left","annResize-right"].includes(e)){if(t.value.duration<0){const f=-t.value.duration,i=t.value.start-f;t.value.start=i,t.value.duration=f,t.value.end=i+f}o.setActiveAnnotation(t.value),r("updateAnnotation",t.value)}}}}var H={exports:{}},G;function x(){if(G)return H.exports;G=1;function t(){}return t.prototype={on:function(u,c,o){var l=this.e||(this.e={});return(l[u]||(l[u]=[])).push({fn:c,ctx:o}),this},once:function(u,c,o){var l=this;function v(){l.off(u,v),c.apply(o,arguments)}return v._=c,this.on(u,v,o)},emit:function(u){var c=[].slice.call(arguments,1),o=((this.e||(this.e={}))[u]||[]).slice(),l=0,v=o.length;for(l;l<v;l++)o[l].fn.apply(o[l].ctx,c);return this},off:function(u,c){var o=this.e||(this.e={}),l=o[u],v=[];if(l&&c)for(var y=0,T=l.length;y<T;y++)l[y].fn!==c&&l[y].fn._!==c&&v.push(l[y]);return v.length?o[u]=v:delete o[u],this}},H.exports=t,H.exports.TinyEmitter=t,H.exports}var D,W;function ee(){if(W)return D;W=1;var t=x();return D=new t,D}var te=ee();const P=U.getDefaultExportFromCjs(te),X={$emit:(...t)=>P.emit(...t),$on:(...t)=>P.on(...t),$off:(...t)=>P.off(...t),$once:(...t)=>P.once(...t)};function ne(){const t=b.useViewerStore(),u=F.ref([]),c=F.ref(["#18BA62","#FFBC27","#E94B4B","#0D4EFF","#FF4FFF","#50FFFF","#FFFF4E","#512BAF","#8A6ECF","#389BAD","#187D46","#B12800","#0C2475","#FF5321","#FF99CC","#DCC180","#FF6C21","#000000","#9B9B9B","#00FF00","#FA8072","#808000","#A0522D","#2760FF"]),o=async(k,g)=>{const d=[];if(k.results.length===0)await l({name:"Default",color:"#18BA62",description:"Default Annotation Layer"},null,g);else{for(let e=0;e<k.results.length;e++){const r=k.results[e];let f=r.color||c.value[e%c.value.length];const i={id:r.id,name:r.name,description:r.description,visible:!0,selected:e===0,annotations:[],color:M(f,.7),hexColor:f,bkColor:M(f,.15),selColor:M(f,.9)};d.push(i)}t.setAnnotations(d),g("annLayersInitialized")}u.value=k.results},l=async(k,g,d)=>{try{const e=await b.useToken(),r=`${t.config.apiUrl}/timeseries/${g.content.id}/layers?api_key=${e}`,f=await b.useSendXhr(r,{method:"POST",body:{name:k.name,color:k.color,description:k.description||k.name}}),i={...f,annotations:[],hexColor:f.color,color:M(f.color,.7),bkColor:M(f.color,.15),selColor:M(f.color,.9),visible:!0,selected:!0};return t.createLayer(i),t.setActiveAnnotationLayer(i.id),X.$emit("toast",{detail:{msg:`'${i.name}' Layer Created`}}),i}catch(e){throw b.useHandleXhrError(e),e}finally{d&&d("closeAnnotationLayerWindow")}};return{annLayerInfo:u,defaultColors:c,initializeLayers:o,createAnnotationLayer:l,updateLayerVisibility:(k,g)=>{console.log(`[useAnnotationLayers] Updating layer ${k} visibility to:`,g);const d=t.viewerAnnotations.find(e=>e.id===k);if(d){console.log("[useAnnotationLayers] Found layer:",d.name,"current visible:",d.visible),d.visible=g,t.updateLayer(d),console.log("[useAnnotationLayers] Updated layer:",d.name,"new visible:",d.visible);const e=t.viewerAnnotations.find(r=>r.id===k);console.log("[useAnnotationLayers] Verification - layer visible is now:",e==null?void 0:e.visible)}else console.error("[useAnnotationLayers] Layer not found with ID:",k),console.log("[useAnnotationLayers] Available layers:",t.viewerAnnotations.map(e=>({id:e.id,name:e.name})))},selectLayer:k=>{t.viewerAnnotations.forEach(d=>{d.selected=!1,t.updateLayer(d)});const g=t.viewerAnnotations.find(d=>d.id===k);g&&(g.selected=!0,t.updateLayer(g),t.setActiveAnnotationLayer(k))},deleteLayer:async(k,g)=>{try{const d=await b.useToken(),e=`${t.config.apiUrl}/timeseries/${g.content.id}/layers/${k}?api_key=${d}`;await b.useSendXhr(e,{method:"DELETE"}),t.removeLayer(k),X.$emit("toast",{detail:{msg:"Layer deleted successfully"}})}catch(d){throw b.useHandleXhrError(d),d}},updateLayerColor:async(k,g,d)=>{try{const e=await b.useToken(),r=`${t.config.apiUrl}/timeseries/${d.content.id}/layers/${k}?api_key=${e}`,f=await b.useSendXhr(r,{method:"PUT",body:{color:g}}),i=t.viewerAnnotations.find(a=>a.id===k);return i&&(i.hexColor=g,i.color=M(g,.7),i.bkColor=M(g,.15),i.selColor=M(g,.9),t.updateLayer(i)),f}catch(e){throw b.useHandleXhrError(e),e}},loadLayers:async(k,g)=>{try{const d=await b.useToken(),e=`${t.config.apiUrl}/timeseries/${k.content.id}/layers?api_key=${d}`,r=await b.useSendXhr(e);return await o(r,g),r}catch(d){throw b.useHandleXhrError(d),d}}}}const oe=["width","height"],ae={__name:"TSAnnotationCanvas",props:{cWidth:{type:Number,default:0},cHeight:Number,start:Number,duration:Number,tsEnd:Number,rsPeriod:Number,pixelRatio:Number,constants:{type:Object,default:()=>({ANNOTATIONLABELHEIGHT:20,XOFFSET:0,LIMITANNFETCH:500})},pointerMode:String,annotationsCanvas:[HTMLCanvasElement,Object],activeViewer:{type:Object,required:!0},viewerActiveTool:String},emits:["annLayersInitialized","annotationsReceived","closeAnnotationLayerWindow","updateAnnotation"],setup(t,{expose:u,emit:c}){const o=t,l=c,v=F.ref(null),{checkAnnotationRange:y,findNextAnnotation:T,findPreviousAnnotation:I}=Q(),{renderAnn:R,hoverOffsets:k,focusedAnn:g,render:d}=Y(),{resetFocusedAnnotation:e,selectFocusedAnnotation:r,onMouseDown:f,onMouseMove:i,onMouseUp:a}=Z(g,R,k),{createAnnotationLayer:h,loadLayers:w}=ne(),n=F.computed(()=>o.cHeight-20),s=F.computed(()=>({width:o.cWidth+"px",height:n.value+"px"})),m=()=>{d(o,o.annotationsCanvas,v.value,n.value)},L=(E,p)=>{f(E,p,o.pointerMode)},O=(E,p,$,N)=>i(E,p,$,N,o),C=()=>{a(o.pointerMode,l)},A=()=>{r()&&F.nextTick(()=>m())},S=async E=>{try{await h(E,o.activeViewer,l)}catch(p){console.error("Error creating layer:",p)}};return F.watch(()=>o.activeViewer,async E=>{try{await w(E,l),await y(o.start,o.start+o.duration,o,E,l)}catch(p){console.error("Error loading annotations for new viewer:",p)}}),F.onMounted(async()=>{console.log("TSAnnotationCanvas mounted with props:",{constants:o.constants,annotationsCanvas:o.annotationsCanvas,viewerActiveTool:o.viewerActiveTool});try{await w(o.activeViewer,l),await y(o.start,o.start+o.duration,o,o.activeViewer,l)}catch(E){console.error("Error initializing annotations:",E)}}),u({render:m,resetFocusedAnnotation:e,findNextAnnotation:T,findPreviousAnnotation:I,checkAnnotationRange:(E,p)=>y(E,p,o,o.activeViewer,l),selectFocusedAnn:A,createAnnotationLayer:S,onMouseDown:L,onMouseMove:O,onMouseUp:C}),(E,p)=>(F.openBlock(),F.createElementBlock("canvas",{id:"annLabelArea",ref_key:"annLabelArea",ref:v,class:"timeseries-annotation-canvas",width:F.unref(j)(t.cWidth,t.pixelRatio,0),height:F.unref(j)(n.value,t.pixelRatio,0),style:F.normalizeStyle(s.value)},null,12,oe))}},ie=b._export_sfc(ae,[["__scopeId","data-v-41f7f1c2"]]);exports.default=ie;
@@ -1,199 +0,0 @@
1
- import { defineAsyncComponent as q, ref as r, watch as b, computed as m, resolveComponent as v, createBlock as g, openBlock as c, withCtx as f, createElementVNode as n, createVNode as d, unref as i, createElementBlock as k, Fragment as C, renderList as M, createTextVNode as T, toDisplayString as U } from "vue";
2
- import { g as G, u as J, p as x } from "./index-Cexzl5Xu.js";
3
- import { storeToRefs as K } from "pinia";
4
- import { I as Q } from "./IconSelection-Bud2XLOy.js";
5
- const X = { slot: "body" }, Z = { class: "select-wrapper" }, ee = { class: "range-type-selector" }, le = { class: "select-wrapper" }, te = { class: "description-wrapper" }, ae = { slot: "footer" }, ne = { class: "button-wrapper" }, oe = { class: "channels-selected" }, se = { class: "buttons" }, re = {
6
- __name: "TSAnnotationModal",
7
- props: {
8
- visible: {
9
- type: Boolean,
10
- default: !1
11
- }
12
- },
13
- emits: ["closeWindow", "createUpdateAnnotation"],
14
- setup(B, { emit: I }) {
15
- const E = q(() => import("./BFLibraryButton-C6aAhW1T.js")), V = B, p = r(!1);
16
- b(() => V.visible, (o) => {
17
- if (p.value = o, !o) return;
18
- const l = e.value.start / 1e3, u = e.value.end / 1e3;
19
- A.value = {
20
- start: e.value.start,
21
- end: e.value.end
22
- }, e.value.duration == 0 ? (s.value = !1, a.value = l) : (s.value = !0, a.value = [l, u]);
23
- }, { immediate: !0 });
24
- const _ = I, y = J(), {
25
- activeAnnotation: e,
26
- viewerChannels: ie,
27
- viewerAnnotations: N
28
- } = K(y);
29
- r(null);
30
- const O = r(null), R = r(!1), a = r(null), A = r({
31
- start: 0,
32
- end: 0
33
- }), s = r(!0), D = r([
34
- { value: "Event", label: "Event" },
35
- { value: "Artifact", label: "Artifact" },
36
- { value: "Seizure", label: "Seizure" },
37
- { value: "Mark", label: "Mark" },
38
- { value: "Stim On", label: "Stim On" },
39
- { value: "Stim Off", label: "Stim Off" },
40
- { value: "Start", label: "Start" },
41
- { value: "Stop", label: "Stop" }
42
- ]), F = m(() => e.value.id ? "Edit Annotation" : "Create Annotation"), L = m(() => e.value.id ? "Update" : "Create"), Y = m(() => s.value ? "datetimerange" : "datetime"), P = m(() => {
43
- let o = "";
44
- return e.value.allChannels ? o = "Adding to all channels" : x([], "channelIds", e.value).length == 1 ? o = "Adding to single channel" : o = `Adding to ${x([], "channelIds", e.value).length} channels`, o;
45
- });
46
- b(() => V.visible, (o) => {
47
- if (!o) return;
48
- const l = e.value.start / 1e3, u = e.value.end / 1e3;
49
- A.value = {
50
- start: e.value.start,
51
- end: e.value.end
52
- }, e.value.duration == 0 ? (s.value = !1, a.value = l) : (s.value = !0, a.value = [l, u]);
53
- }), b(s, (o) => {
54
- const l = e.value.start / 1e3, u = e.value.end / 1e3;
55
- o ? a.value = [l, u] : (e.value.duration = 0, a.value = l);
56
- });
57
- const W = () => {
58
- if (!e.value.layer_id) {
59
- console.error("No layer selected for annotation");
60
- return;
61
- }
62
- if (!a.value) {
63
- console.error("No time range selected for annotation");
64
- return;
65
- }
66
- if (s.value)
67
- if (Array.isArray(a.value) && a.value.length >= 2)
68
- e.value.start = a.value[0] * 1e3, e.value.end = a.value[1] * 1e3, e.value.duration = e.value.end - e.value.start;
69
- else {
70
- console.error("Invalid range value for range mode:", a.value);
71
- return;
72
- }
73
- else if (typeof a.value == "number")
74
- e.value.start = a.value * 1e3, e.value.end = a.value * 1e3, e.value.duration = 0;
75
- else {
76
- console.error("Invalid range value for point mode:", a.value);
77
- return;
78
- }
79
- y.setActiveAnnotation(e.value), _("createUpdateAnnotation", e.value), S();
80
- }, S = () => {
81
- p.value = !1, _("closeWindow");
82
- }, z = () => {
83
- R.value = !1;
84
- };
85
- return (o, l) => {
86
- const u = v("el-switch"), H = v("el-date-picker"), w = v("el-option"), h = v("el-select"), $ = v("el-input"), j = v("el-dialog");
87
- return c(), g(j, {
88
- class: "timeseries-annotation-modal",
89
- ref: "annotation-modal",
90
- title: F.value,
91
- modelValue: p.value,
92
- "onUpdate:modelValue": l[5] || (l[5] = (t) => {
93
- p.value = t, t || _("closeWindow");
94
- }),
95
- onClose: S,
96
- onClosed: z
97
- }, {
98
- default: f(() => [
99
- n("div", X, [
100
- n("div", Z, [
101
- n("div", ee, [
102
- l[6] || (l[6] = n("div", { class: "select-label" }, " Range? ", -1)),
103
- d(u, {
104
- modelValue: s.value,
105
- "onUpdate:modelValue": l[0] || (l[0] = (t) => s.value = t),
106
- "active-color": "#5039F7",
107
- "inactive-color": "#CAC5BF"
108
- }, null, 8, ["modelValue"])
109
- ]),
110
- d(H, {
111
- modelValue: a.value,
112
- "onUpdate:modelValue": l[1] || (l[1] = (t) => a.value = t),
113
- class: "date-time-picker",
114
- type: Y.value,
115
- format: "YYYY-MM-DD HH:mm:ss",
116
- "value-format": "x",
117
- "range-separator": "To",
118
- "start-placeholder": "Start date/time",
119
- "end-placeholder": "End date/time"
120
- }, null, 8, ["modelValue", "type"])
121
- ]),
122
- n("div", le, [
123
- n("div", null, [
124
- l[7] || (l[7] = n("div", { class: "select-label" }, " Annotation Layer ", -1)),
125
- d(h, {
126
- modelValue: i(e).layer_id,
127
- "onUpdate:modelValue": l[2] || (l[2] = (t) => i(e).layer_id = t),
128
- placeholder: "Select"
129
- }, {
130
- default: f(() => [
131
- (c(!0), k(C, null, M(i(N), (t) => (c(), g(w, {
132
- key: t.id,
133
- label: t.name,
134
- value: t.id
135
- }, null, 8, ["label", "value"]))), 128))
136
- ]),
137
- _: 1
138
- }, 8, ["modelValue"])
139
- ]),
140
- n("div", null, [
141
- l[8] || (l[8] = n("div", { class: "select-label" }, " Annotation Type ", -1)),
142
- d(h, {
143
- modelValue: i(e).label,
144
- "onUpdate:modelValue": l[3] || (l[3] = (t) => i(e).label = t),
145
- placeholder: "Select"
146
- }, {
147
- default: f(() => [
148
- (c(!0), k(C, null, M(D.value, (t) => (c(), g(w, {
149
- key: t.value,
150
- label: t.label,
151
- value: t.value
152
- }, null, 8, ["label", "value"]))), 128))
153
- ]),
154
- _: 1
155
- }, 8, ["modelValue"])
156
- ])
157
- ]),
158
- n("div", te, [
159
- l[9] || (l[9] = n("div", { class: "select-label" }, " Description ", -1)),
160
- d($, {
161
- ref_key: "input",
162
- ref: O,
163
- modelValue: i(e).description,
164
- "onUpdate:modelValue": l[4] || (l[4] = (t) => i(e).description = t),
165
- placeholder: "Please provide additional information...",
166
- type: "textarea",
167
- rows: 5
168
- }, null, 8, ["modelValue"])
169
- ])
170
- ]),
171
- n("div", ae, [
172
- n("div", ne, [
173
- n("div", oe, [
174
- d(Q, {
175
- class: "inline-icon",
176
- height: 16,
177
- width: 16
178
- }),
179
- T(" " + U(P.value), 1)
180
- ]),
181
- n("div", se, [
182
- d(i(E), { onClick: W }, {
183
- default: f(() => [
184
- T(U(L.value), 1)
185
- ]),
186
- _: 1
187
- })
188
- ])
189
- ])
190
- ])
191
- ]),
192
- _: 1
193
- }, 8, ["title", "modelValue"]);
194
- };
195
- }
196
- }, pe = /* @__PURE__ */ G(re, [["__scopeId", "data-v-d74b3ef8"]]);
197
- export {
198
- pe as default
199
- };
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),u=require("./index-CGSfhm_E.cjs"),U=require("pinia"),I=require("./IconSelection-DGTELjPb.cjs"),O={slot:"body"},q={class:"select-wrapper"},D={class:"range-type-selector"},F={class:"select-wrapper"},L={class:"description-wrapper"},P={slot:"footer"},R={class:"button-wrapper"},Y={class:"channels-selected"},W={class:"buttons"},z={__name:"TSAnnotationModal",props:{visible:{type:Boolean,default:!1}},emits:["closeWindow","createUpdateAnnotation"],setup(_,{emit:b}){const g=e.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./BFLibraryButton-BiLkvU6m.cjs"))),c=_,i=e.ref(!1);e.watch(()=>c.visible,n=>{if(i.value=n,!n)return;const l=t.value.start/1e3,s=t.value.end/1e3;p.value={start:t.value.start,end:t.value.end},t.value.duration==0?(r.value=!1,o.value=l):(r.value=!0,o.value=[l,s])},{immediate:!0});const d=b,v=u.useViewerStore(),{activeAnnotation:t,viewerChannels:j,viewerAnnotations:N}=U.storeToRefs(v);e.ref(null);const y=e.ref(null),S=e.ref(!1),o=e.ref(null),p=e.ref({start:0,end:0}),r=e.ref(!0),h=e.ref([{value:"Event",label:"Event"},{value:"Artifact",label:"Artifact"},{value:"Seizure",label:"Seizure"},{value:"Mark",label:"Mark"},{value:"Stim On",label:"Stim On"},{value:"Stim Off",label:"Stim Off"},{value:"Start",label:"Start"},{value:"Stop",label:"Stop"}]),w=e.computed(()=>t.value.id?"Edit Annotation":"Create Annotation"),A=e.computed(()=>t.value.id?"Update":"Create"),C=e.computed(()=>r.value?"datetimerange":"datetime"),E=e.computed(()=>{let n="";return t.value.allChannels?n="Adding to all channels":u.propOr([],"channelIds",t.value).length==1?n="Adding to single channel":n=`Adding to ${u.propOr([],"channelIds",t.value).length} channels`,n});e.watch(()=>c.visible,n=>{if(!n)return;const l=t.value.start/1e3,s=t.value.end/1e3;p.value={start:t.value.start,end:t.value.end},t.value.duration==0?(r.value=!1,o.value=l):(r.value=!0,o.value=[l,s])}),e.watch(r,n=>{const l=t.value.start/1e3,s=t.value.end/1e3;n?o.value=[l,s]:(t.value.duration=0,o.value=l)});const k=()=>{if(!t.value.layer_id){console.error("No layer selected for annotation");return}if(!o.value){console.error("No time range selected for annotation");return}if(r.value)if(Array.isArray(o.value)&&o.value.length>=2)t.value.start=o.value[0]*1e3,t.value.end=o.value[1]*1e3,t.value.duration=t.value.end-t.value.start;else{console.error("Invalid range value for range mode:",o.value);return}else if(typeof o.value=="number")t.value.start=o.value*1e3,t.value.end=o.value*1e3,t.value.duration=0;else{console.error("Invalid range value for point mode:",o.value);return}v.setActiveAnnotation(t.value),d("createUpdateAnnotation",t.value),m()},m=()=>{i.value=!1,d("closeWindow")},B=()=>{S.value=!1};return(n,l)=>{const s=e.resolveComponent("el-switch"),M=e.resolveComponent("el-date-picker"),f=e.resolveComponent("el-option"),V=e.resolveComponent("el-select"),x=e.resolveComponent("el-input"),T=e.resolveComponent("el-dialog");return e.openBlock(),e.createBlock(T,{class:"timeseries-annotation-modal",ref:"annotation-modal",title:w.value,modelValue:i.value,"onUpdate:modelValue":l[5]||(l[5]=a=>{i.value=a,a||d("closeWindow")}),onClose:m,onClosed:B},{default:e.withCtx(()=>[e.createElementVNode("div",O,[e.createElementVNode("div",q,[e.createElementVNode("div",D,[l[6]||(l[6]=e.createElementVNode("div",{class:"select-label"}," Range? ",-1)),e.createVNode(s,{modelValue:r.value,"onUpdate:modelValue":l[0]||(l[0]=a=>r.value=a),"active-color":"#5039F7","inactive-color":"#CAC5BF"},null,8,["modelValue"])]),e.createVNode(M,{modelValue:o.value,"onUpdate:modelValue":l[1]||(l[1]=a=>o.value=a),class:"date-time-picker",type:C.value,format:"YYYY-MM-DD HH:mm:ss","value-format":"x","range-separator":"To","start-placeholder":"Start date/time","end-placeholder":"End date/time"},null,8,["modelValue","type"])]),e.createElementVNode("div",F,[e.createElementVNode("div",null,[l[7]||(l[7]=e.createElementVNode("div",{class:"select-label"}," Annotation Layer ",-1)),e.createVNode(V,{modelValue:e.unref(t).layer_id,"onUpdate:modelValue":l[2]||(l[2]=a=>e.unref(t).layer_id=a),placeholder:"Select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(N),a=>(e.openBlock(),e.createBlock(f,{key:a.id,label:a.name,value:a.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),e.createElementVNode("div",null,[l[8]||(l[8]=e.createElementVNode("div",{class:"select-label"}," Annotation Type ",-1)),e.createVNode(V,{modelValue:e.unref(t).label,"onUpdate:modelValue":l[3]||(l[3]=a=>e.unref(t).label=a),placeholder:"Select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,a=>(e.openBlock(),e.createBlock(f,{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])])]),e.createElementVNode("div",L,[l[9]||(l[9]=e.createElementVNode("div",{class:"select-label"}," Description ",-1)),e.createVNode(x,{ref_key:"input",ref:y,modelValue:e.unref(t).description,"onUpdate:modelValue":l[4]||(l[4]=a=>e.unref(t).description=a),placeholder:"Please provide additional information...",type:"textarea",rows:5},null,8,["modelValue"])])]),e.createElementVNode("div",P,[e.createElementVNode("div",R,[e.createElementVNode("div",Y,[e.createVNode(I.IconSelection,{class:"inline-icon",height:16,width:16}),e.createTextVNode(" "+e.toDisplayString(E.value),1)]),e.createElementVNode("div",W,[e.createVNode(e.unref(g),{onClick:k},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(A.value),1)]),_:1})])])])]),_:1},8,["title","modelValue"])}}},H=u._export_sfc(z,[["__scopeId","data-v-d74b3ef8"]]);exports.default=H;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const p=require("./IconSelection-DGTELjPb.cjs"),e=require("vue"),m=require("./index-CGSfhm_E.cjs"),h={name:"TimeseriesFilterModal",components:{"bf-library-button":()=>Promise.resolve().then(()=>require("./BFLibraryButton-BiLkvU6m.cjs")),IconSelection:p.IconSelection},mixins:[],watch:{},computed:{computeVisible0:function(){switch(this.selectedFilter){case"lowpass":return!0;case"highpass":return!0;case"bandpass":return!0;default:return!1}},onSingleChannel:function(){return this.onChannels.length==1},selectedChannels:function(){return this.onChannels.length},computeVisible1:function(){switch(this.selectedFilter){case"lowpass":return!1;case"highpass":return!1;case"bandpass":return!0;default:return!1}},computeVisible2:function(){switch(this.selectedFilter){case"bandstop":return!0;default:return!1}},computePlaceholder1:function(l){switch(this.selectedFilter){case"lowpass":return"Low Pass Cutoff Frequency (Hz)";case"highpass":return"High Pass Cutoff Frequency (Hz)";case"bandpass":return"Low Pass Cutoff Frequency (Hz)";default:return""}},computePlaceholder2:function(l){switch(this.selectedFilter){case"bandpass":return"High Pass Cutoff Frequency (Hz)";default:return""}}},props:{visible:{type:Boolean,default:!1}},data:function(){return{selectedFilter:null,filterOptions:[{label:"No Filter",value:"clear"},{label:"Low Pass",value:"lowpass"},{label:"High Pass",value:"highpass"},{label:"Band Pass",value:"bandpass"},{label:"Notch",value:"bandstop"}],selectedNotch:null,notchOptions:[{label:"50Hz",value:50},{label:"60Hz",value:60}],input0:null,input1:null,onChannels:[]}},methods:{close:function(){this.$emit("closeWindow")},handleChange:function(){},onButtonClick:function(){},submitForm:function(l){this.$emit("closeWindow")}}},f={slot:"body"},b={class:"select-wrapper"},v={key:0,class:"filter-input-wrapper"},C={key:1,class:"filter-input-wrapper"},V={slot:"footer"},g={class:"button-wrapper"},_={class:"channels-selected"},k={key:0},w={key:1},B={class:"buttons"};function N(l,n,s,F,S,o){const a=e.resolveComponent("el-option"),r=e.resolveComponent("el-select"),i=e.resolveComponent("el-input-number"),c=e.resolveComponent("IconSelection"),u=e.resolveComponent("bf-library-button"),d=e.resolveComponent("el-dialog");return e.openBlock(),e.createBlock(d,{class:"timeseries-filter-modal",ref:"filter-modal",title:"Set Filter",modelValue:s.visible,"onUpdate:modelValue":n[4]||(n[4]=t=>s.visible=t),onClose:o.close},{default:e.withCtx(()=>[e.createElementVNode("div",f,[e.createElementVNode("div",b,[e.createVNode(r,{modelValue:l.selectedFilter,"onUpdate:modelValue":n[0]||(n[0]=t=>l.selectedFilter=t),placeholder:"Select"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.filterOptions,t=>(e.openBlock(),e.createBlock(a,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),o.computeVisible0?(e.openBlock(),e.createElementBlock("div",v,[e.createTextVNode(e.toDisplayString(o.computePlaceholder1)+" ",1),e.createVNode(i,{class:"filterInput",modelValue:l.input0,"onUpdate:modelValue":n[1]||(n[1]=t=>l.input0=t),"controls-position":"right",precision:2,onChange:o.handleChange},null,8,["modelValue","onChange"])])):e.createCommentVNode("",!0),o.computeVisible1?(e.openBlock(),e.createElementBlock("div",C,[e.createTextVNode(e.toDisplayString(o.computePlaceholder2)+" ",1),e.createVNode(i,{class:"filterInput",modelValue:l.input1,"onUpdate:modelValue":n[2]||(n[2]=t=>l.input1=t),"controls-position":"right",precision:2,onChange:o.handleChange},null,8,["modelValue","onChange"])])):e.createCommentVNode("",!0),o.computeVisible2?(e.openBlock(),e.createBlock(r,{key:2,modelValue:l.selectedNotch,"onUpdate:modelValue":n[3]||(n[3]=t=>l.selectedNotch=t),placeholder:"Select",class:"filter-input-wrapper"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.notchOptions,t=>(e.openBlock(),e.createBlock(a,{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0)])])]),footer:e.withCtx(()=>[e.createElementVNode("div",V,[e.createElementVNode("div",g,[e.createElementVNode("div",_,[e.createVNode(c,{height:24,width:24}),o.onSingleChannel?(e.openBlock(),e.createElementBlock("div",k," Adding to single channel ")):(e.openBlock(),e.createElementBlock("div",w," Adding to "+e.toDisplayString(o.selectedChannels)+" Selected Channels ",1))]),e.createElementVNode("div",B,[e.createVNode(u,{onClick:o.submitForm},{default:e.withCtx(()=>[...n[5]||(n[5]=[e.createTextVNode("Set Filter ",-1)])]),_:1},8,["onClick"])])])])]),_:1},8,["modelValue","onClose"])}const y=m._export_sfc(h,[["render",N],["__scopeId","data-v-7546755f"]]);exports.default=y;