@pennsieve-viz/tsviewer 1.1.13 → 1.1.15
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/{BFLibraryButton-B_TaDdTw.cjs → BFLibraryButton-CejyiXuM.cjs} +1 -1
- package/dist/{BFLibraryButton-DTcYY6VD.js → BFLibraryButton-DZ2vSCxe.js} +1 -1
- package/dist/{IconSelection-BocyglLO.js → IconSelection-BzYwshr4.js} +1 -1
- package/dist/{IconSelection-BPTLv8Go.cjs → IconSelection-cSMnGinu.cjs} +1 -1
- package/dist/{TSAnnotationCanvas-DaDdtIB4.cjs → TSAnnotationCanvas-4SmGl8c3.cjs} +1 -1
- package/dist/{TSAnnotationCanvas-DErBDH0Y.js → TSAnnotationCanvas-CbokCIrw.js} +2 -2
- package/dist/{TSAnnotationModal-DevUUWys.cjs → TSAnnotationModal-D0b8AU9O.cjs} +1 -1
- package/dist/{TSAnnotationModal-B3OSl05U.js → TSAnnotationModal-TeSqIo0K.js} +3 -3
- package/dist/{TSFilterModal-DHBpbDNp.js → TSFilterModal-2CfPJASx.js} +3 -3
- package/dist/{TSFilterModal-DoqvKSUT.cjs → TSFilterModal-fnGuCvzM.cjs} +1 -1
- package/dist/{TSScrubber-hN5JY-DA.js → TSScrubber-AOeCfSLx.js} +1 -1
- package/dist/{TSScrubber-E03DDcMn.cjs → TSScrubber-Du6rn9S7.cjs} +1 -1
- package/dist/{TSViewerCanvas-Dc5cwQzK.cjs → TSViewerCanvas-BQj5a8IV.cjs} +9 -9
- package/dist/{TSViewerCanvas-2Jz9ZgqW.js → TSViewerCanvas-ljR2hT4f.js} +995 -990
- package/dist/{TSViewerLayerWindow-PAfR31ZO.cjs → TSViewerLayerWindow-IT8yWMkx.cjs} +1 -1
- package/dist/{TSViewerLayerWindow-CalBmhT6.js → TSViewerLayerWindow-gUCLKeIc.js} +2 -2
- package/dist/{TSViewerToolbar-DL9XKYbV.js → TSViewerToolbar-CCrVE8tX.js} +1 -1
- package/dist/{TSViewerToolbar-C1wTQDPC.cjs → TSViewerToolbar-FIV2vK54.cjs} +1 -1
- package/dist/{TsAnnotationDeleteDialog-Cv3z3dFh.cjs → TsAnnotationDeleteDialog-B-NbfFR2.cjs} +1 -1
- package/dist/{TsAnnotationDeleteDialog-DXgN07Wj.js → TsAnnotationDeleteDialog-gCd7BJPS.js} +2 -2
- package/dist/index-Bu7yyQ4J.cjs +1 -0
- package/dist/{index-BsH36ax4.js → index-DdLtKk-t.js} +132 -130
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/index-yiwCKzNX.cjs +0 -1
package/dist/index-yiwCKzNX.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";const o=require("vue"),Se=require("pinia"),Ut=require("aws-amplify/auth"),qt=require("element-plus");function I(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function D(t){return function e(n){return arguments.length===0||I(n)?e:t.apply(this,arguments)}}function L(t){return function e(n,r){switch(arguments.length){case 0:return e;case 1:return I(n)?e:D(function(a){return t(n,a)});default:return I(n)&&I(r)?e:I(n)?D(function(a){return t(a,r)}):I(r)?D(function(a){return t(n,a)}):t(n,r)}}}function $t(t,e){t=t||[],e=e||[];var n,r=t.length,a=e.length,l=[];for(n=0;n<r;)l[l.length]=t[n],n+=1;for(n=0;n<a;)l[l.length]=e[n],n+=1;return l}function Te(t,e){switch(t){case 0:return function(){return e.apply(this,arguments)};case 1:return function(n){return e.apply(this,arguments)};case 2:return function(n,r){return e.apply(this,arguments)};case 3:return function(n,r,a){return e.apply(this,arguments)};case 4:return function(n,r,a,l){return e.apply(this,arguments)};case 5:return function(n,r,a,l,d){return e.apply(this,arguments)};case 6:return function(n,r,a,l,d,A){return e.apply(this,arguments)};case 7:return function(n,r,a,l,d,A,E){return e.apply(this,arguments)};case 8:return function(n,r,a,l,d,A,E,y){return e.apply(this,arguments)};case 9:return function(n,r,a,l,d,A,E,y,u){return e.apply(this,arguments)};case 10:return function(n,r,a,l,d,A,E,y,u,m){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function pe(t){return function e(n,r,a){switch(arguments.length){case 0:return e;case 1:return I(n)?e:L(function(l,d){return t(n,l,d)});case 2:return I(n)&&I(r)?e:I(n)?L(function(l,d){return t(l,r,d)}):I(r)?L(function(l,d){return t(n,l,d)}):D(function(l){return t(n,r,l)});default:return I(n)&&I(r)&&I(a)?e:I(n)&&I(r)?L(function(l,d){return t(l,d,a)}):I(n)&&I(a)?L(function(l,d){return t(l,r,d)}):I(r)&&I(a)?L(function(l,d){return t(n,l,d)}):I(n)?D(function(l){return t(l,r,a)}):I(r)?D(function(l){return t(n,l,a)}):I(a)?D(function(l){return t(n,r,l)}):t(n,r,a)}}}const be=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function Ft(t){return t!=null&&typeof t["@@transducer/step"]=="function"}function nt(t,e,n){return function(){if(arguments.length===0)return n();var r=arguments[arguments.length-1];if(!be(r)){for(var a=0;a<t.length;){if(typeof r[t[a]]=="function")return r[t[a]].apply(r,Array.prototype.slice.call(arguments,0,-1));a+=1}if(Ft(r)){var l=e.apply(null,Array.prototype.slice.call(arguments,0,-1));return l(r)}}return n.apply(this,arguments)}}function rt(t){return t&&t["@@transducer/reduced"]?t:{"@@transducer/value":t,"@@transducer/reduced":!0}}const ot={init:function(){return this.xf["@@transducer/init"]()},result:function(t){return this.xf["@@transducer/result"](t)}};function Ee(t){return Object.prototype.toString.call(t)==="[object String]"}var Bt=D(function(e){return be(e)?!0:!e||typeof e!="object"||Ee(e)?!1:e.length===0?!0:e.length>0?e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1):!1}),Wt=(function(){function t(e){this.f=e}return t.prototype["@@transducer/init"]=function(){throw new Error("init not implemented on XWrap")},t.prototype["@@transducer/result"]=function(e){return e},t.prototype["@@transducer/step"]=function(e,n){return this.f(e,n)},t})();function Xt(t){return new Wt(t)}var zt=L(function(e,n){return Te(e.length,function(){return e.apply(n,arguments)})});function Gt(t,e,n){for(var r=0,a=n.length;r<a;){if(e=t["@@transducer/step"](e,n[r]),e&&e["@@transducer/reduced"]){e=e["@@transducer/value"];break}r+=1}return t["@@transducer/result"](e)}function $e(t,e,n){for(var r=n.next();!r.done;){if(e=t["@@transducer/step"](e,r.value),e&&e["@@transducer/reduced"]){e=e["@@transducer/value"];break}r=n.next()}return t["@@transducer/result"](e)}function Fe(t,e,n,r){return t["@@transducer/result"](n[r](zt(t["@@transducer/step"],t),e))}var Be=typeof Symbol<"u"?Symbol.iterator:"@@iterator";function at(t,e,n){if(typeof t=="function"&&(t=Xt(t)),Bt(n))return Gt(t,e,n);if(typeof n["fantasy-land/reduce"]=="function")return Fe(t,e,n,"fantasy-land/reduce");if(n[Be]!=null)return $e(t,e,n[Be]());if(typeof n.next=="function")return $e(t,e,n);if(typeof n.reduce=="function")return Fe(t,e,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}function Ce(t,e){return Object.prototype.hasOwnProperty.call(e,t)}var We=Object.prototype.toString,it=(function(){return We.call(arguments)==="[object Arguments]"?function(e){return We.call(e)==="[object Arguments]"}:function(e){return Ce("callee",e)}})(),Ht=!{toString:null}.propertyIsEnumerable("toString"),Xe=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],ze=(function(){return arguments.propertyIsEnumerable("length")})(),Zt=function(e,n){for(var r=0;r<e.length;){if(e[r]===n)return!0;r+=1}return!1},Pe=D(typeof Object.keys=="function"&&!ze?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var n,r,a=[],l=ze&&it(e);for(n in e)Ce(n,e)&&(!l||n!=="length")&&(a[a.length]=n);if(Ht)for(r=Xe.length-1;r>=0;)n=Xe[r],Ce(n,e)&&!Zt(a,n)&&(a[a.length]=n),r-=1;return a});const st=Number.isInteger||function(e){return e<<0===e};var je=L(function(e,n){var r=e<0?n.length+e:e;return Ee(n)?n.charAt(r):n[r]}),re=L(function(e,n){if(n!=null)return st(e)?je(e,n):n[e]}),Jt=pe(at),Ge=D(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function Yt(t,e){return function(){return e.call(this,t.apply(this,arguments))}}function lt(t,e){return function(){var n=arguments.length;if(n===0)return e();var r=arguments[n-1];return be(r)||typeof r[t]!="function"?e.apply(this,arguments):r[t].apply(r,Array.prototype.slice.call(arguments,0,n-1))}}var Kt=pe(lt("slice",function(e,n,r){return Array.prototype.slice.call(r,e,n)})),Qt=D(lt("tail",Kt(1,1/0)));function en(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return Te(arguments[0].length,Jt(Yt,arguments[0],Qt(arguments)))}var tn=D(function(e){return Ee(e)?e.split("").reverse().join(""):Array.prototype.slice.call(e,0).reverse()});function He(){if(arguments.length===0)throw new Error("compose requires at least one argument");return en.apply(this,tn(arguments))}function Ze(t){for(var e=[],n;!(n=t.next()).done;)e.push(n.value);return e}function Je(t,e,n){for(var r=0,a=n.length;r<a;){if(t(e,n[r]))return!0;r+=1}return!1}function nn(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function rn(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const ke=typeof Object.is=="function"?Object.is:rn;function Ye(t,e,n,r){var a=Ze(t),l=Ze(e);function d(A,E){return De(A,E,n.slice(),r.slice())}return!Je(function(A,E){return!Je(d,E,A)},l,a)}function De(t,e,n,r){if(ke(t,e))return!0;var a=Ge(t);if(a!==Ge(e))return!1;if(typeof t["fantasy-land/equals"]=="function"||typeof e["fantasy-land/equals"]=="function")return typeof t["fantasy-land/equals"]=="function"&&t["fantasy-land/equals"](e)&&typeof e["fantasy-land/equals"]=="function"&&e["fantasy-land/equals"](t);if(typeof t.equals=="function"||typeof e.equals=="function")return typeof t.equals=="function"&&t.equals(e)&&typeof e.equals=="function"&&e.equals(t);switch(a){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&nn(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&ke(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!ke(t.valueOf(),e.valueOf()))return!1;break;case"Error":return t.name===e.name&&t.message===e.message;case"RegExp":if(!(t.source===e.source&&t.global===e.global&&t.ignoreCase===e.ignoreCase&&t.multiline===e.multiline&&t.sticky===e.sticky&&t.unicode===e.unicode))return!1;break}for(var l=n.length-1;l>=0;){if(n[l]===t)return r[l]===e;l-=1}switch(a){case"Map":return t.size!==e.size?!1:Ye(t.entries(),e.entries(),n.concat([t]),r.concat([e]));case"Set":return t.size!==e.size?!1:Ye(t.values(),e.values(),n.concat([t]),r.concat([e]));case"Arguments":case"Array":case"Object":case"Boolean":case"Number":case"String":case"Date":case"Error":case"RegExp":case"Int8Array":case"Uint8Array":case"Uint8ClampedArray":case"Int16Array":case"Uint16Array":case"Int32Array":case"Uint32Array":case"Float32Array":case"Float64Array":case"ArrayBuffer":break;default:return!1}var d=Pe(t);if(d.length!==Pe(e).length)return!1;var A=n.concat([t]),E=r.concat([e]);for(l=d.length-1;l>=0;){var y=d[l];if(!(Ce(y,e)&&De(e[y],t[y],A,E)))return!1;l-=1}return!0}var ut=L(function(e,n){return De(e,n,[],[])});function on(t){return Object.prototype.toString.call(t)==="[object Object]"}var le=L(function(e,n){return n==null||n!==n?e:n});function an(t){var e=Object.prototype.toString.call(t);return e==="[object Uint8ClampedArray]"||e==="[object Int8Array]"||e==="[object Uint8Array]"||e==="[object Int16Array]"||e==="[object Uint16Array]"||e==="[object Int32Array]"||e==="[object Uint32Array]"||e==="[object Float32Array]"||e==="[object Float64Array]"||e==="[object BigInt64Array]"||e==="[object BigUint64Array]"}var sn=D(function(e){return e!=null&&typeof e["fantasy-land/empty"]=="function"?e["fantasy-land/empty"]():e!=null&&e.constructor!=null&&typeof e.constructor["fantasy-land/empty"]=="function"?e.constructor["fantasy-land/empty"]():e!=null&&typeof e.empty=="function"?e.empty():e!=null&&e.constructor!=null&&typeof e.constructor.empty=="function"?e.constructor.empty():be(e)?[]:Ee(e)?"":on(e)?{}:it(e)?(function(){return arguments})():an(e)?e.constructor.from(""):void 0}),ln=(function(){function t(e,n){this.xf=n,this.f=e,this.idx=-1,this.found=!1}return t.prototype["@@transducer/init"]=ot.init,t.prototype["@@transducer/result"]=function(e){return this.found||(e=this.xf["@@transducer/step"](e,-1)),this.xf["@@transducer/result"](e)},t.prototype["@@transducer/step"]=function(e,n){return this.idx+=1,this.f(n)&&(this.found=!0,e=rt(this.xf["@@transducer/step"](e,this.idx))),e},t})(),un=L(function(e,n){return new ln(e,n)}),G=L(nt([],un,function(e,n){for(var r=0,a=n.length;r<a;){if(e(n[r]))return r;r+=1}return-1})),cn=D(function(e){return e!=null&&ut(e,sn(e))}),dn=L(function(e,n){return e.map(function(r){for(var a=n,l=0,d;l<r.length;){if(a==null)return;d=r[l],a=st(d)?je(d,a):a[d],l+=1}return a})}),fn=L(function(e,n){return dn([e],n)[0]}),fe=pe(function(e,n,r){return le(e,fn(n,r))}),W=pe(function(e,n,r){return ut(n,re(e,r))}),ue=pe(function(e,n,r){return le(e,re(n,r))}),vn=L(function(e,n){return Te(e.length,function(){try{return e.apply(this,arguments)}catch(r){return n.apply(this,$t([r],arguments))}})});async function ve(){try{return Ut.fetchAuthSession().then(t=>{var e;return(e=t==null?void 0:t.tokens)==null?void 0:e.accessToken.toString()})}catch(t){console.error(t)}}const pn=()=>({openConnection:async(e,n,r,a="viewerAsset",l=null)=>await new Promise((E,y)=>{let u=e+"?session="+r+"&"+a+"="+n;l&&a!=="package"&&(u+="&package="+l);let m=null;const w=new WebSocket(u);w.onopen=()=>{const T={montage:"NOT_MONTAGED",packageId:n};w.send(JSON.stringify(T))},w.onclose=()=>{m&&m.channelDetails?E({res:m.channelDetails,status:"websocket closed"}):E({res:null,status:"websocket closed without data"})},w.onmessage=T=>{m=JSON.parse(T.data),w.close()},w.onerror=T=>{console.error("WebSocket error:",T),y(T)}})}),K=new Map;let Ke=!1,Qe=!1;function he(t="default"){if(t==="default"&&!Ke&&(Ke=!0,console.warn('[TSViewer] Using default store instance. For multi-instance support, pass a unique instanceId prop to TSViewer. Example: <TSViewer instance-id="viewer-1" />')),K.has(t))return K.get(t)();const e=Se.defineStore(`tsviewer-${t}`,()=>{const n=o.reactive({}),r=o.ref([]),a=o.ref("NOT_MONTAGED"),l=o.ref({}),d=o.ref([]),A=o.ref(null),E=o.ref(null),y=o.ref({}),u=o.ref([]),m=o.ref({}),w=o.ref({}),T=o.ref("pointer"),{openConnection:x}=pn(),U=o.computed(()=>i=>d.value.find(c=>c.name===i)),V=o.computed(()=>r.value.filter(i=>i.selected)),P=o.computed(()=>()=>{const i=u.value.find(c=>c.selected);return i||(console.warn("No active layer found, available layers:",u.value),u.value.length>0?u.value[0]:null)}),O=()=>{let i=!1;return u.value.forEach((c,h)=>{!c.id&&c.id!==0&&(console.error(`Layer at index ${h} missing ID:`,c),i=!0),c.annotations||(console.warn(`Layer at index ${h} missing annotations array:`,c),c.annotations=[])}),i&&console.error("Annotation layer validation failed. Layers:",u.value),!i},B=o.computed(()=>i=>u.value.flatMap(h=>h.annotations||[]).find(h=>h.id===i)),v=i=>{y.value=i},k=i=>{r.value=i},_=i=>{a.value=i},j=i=>{l.value=i},R=i=>{d.value=i},N=i=>{A.value=i},Z=i=>{E.value=i},$=i=>{Object.assign(n,i)},F=async i=>{const c=i.viewerAssetId||null,h=i.packageId||null,M=c||h,ie=c?"viewerAsset":"package",Ve=await ve();let Oe=n.timeseriesDiscoverApi,ye=null;ye=await x(Oe,M,Ve,ie,c?h:null),v({channels:ye.res,content:{id:M,idType:ie}})},J=()=>i=>{var h;return((h=i==null?void 0:i.content)==null?void 0:h.state)==="READY"},Q=i=>{const c=i.map(h=>(!h.id&&h.id!==0&&(console.warn("Annotation layer missing ID:",h),h.id=Math.random().toString(36).substr(2,9)),h.annotations||(h.annotations=[]),h.name||(h.name=`Layer ${h.id}`),h));u.value=c},oe=i=>{if(!i&&i!==0){console.error("setActiveAnnotationLayer called with invalid layerId:",i);return}m.value=i,u.value.forEach(h=>h.selected=!1);const c=G(W("id",i),u.value);c>=0?u.value[c].selected=!0:console.error("Layer with ID not found:",i,"Available layers:",u.value)},q=i=>{if(u.value.forEach(c=>{var h;return(h=c.annotations)==null?void 0:h.forEach(M=>M.selected=!1)}),i.id){const c=G(W("id",i.layer_id),u.value);if(c>=0){const h=G(W("id",i.id),u.value[c].annotations);h>=0&&(u.value[c].annotations[h].selected=!0)}}w.value=i},ee=i=>{T.value=i},X=i=>{if(!i.id&&i.id!==0){console.error("Cannot create layer without ID:",i);return}const c={id:i.id,name:i.name||`Layer ${i.id}`,description:i.description||"",visible:i.visible!==void 0?i.visible:!0,selected:i.selected||!1,annotations:i.annotations||[],color:i.color,hexColor:i.hexColor,bkColor:i.bkColor,selColor:i.selColor,userId:i.userId,...i};u.value.push(c)},ae=i=>{const c=G(W("id",i.id),u.value);if(c>=0){const h=Object.assign(u.value[c],i);u.value[c]=h}},ce=i=>{const c=G(W("id",i.id),u.value);c>=0&&u.value.splice(c,1)},te=i=>{const c=G(W("id",i.layer_id),u.value);c>=0&&(u.value[c].annotations||(u.value[c].annotations=[]),u.value[c].annotations.push(i),q(i))},ne=i=>{const c=G(W("id",i.layer_id),u.value);if(c>=0){const h=u.value[c].annotations,M=G(W("id",i.id),h);M>=0&&(h[M]=i)}},g=i=>{const c=G(W("id",i.layer_id),u.value);if(c>=0){const h=u.value[c].annotations,M=G(W("id",i.id),h);M>=0&&h.splice(M,1)}},b=(i,c,h)=>{const M=r.value.find(ie=>ie.id===i);M&&(M[c]=h)};return{viewerChannels:r,viewerMontageScheme:a,customMontageMap:l,workspaceMontages:d,viewerErrors:A,needsRerender:E,viewerAnnotations:u,activeAnnotationLayer:m,activeAnnotation:w,activeViewer:y,viewerActiveTool:T,config:n,getMontageMessageByName:U,viewerSelectedChannels:V,getViewerActiveLayer:P,getAnnotationById:B,setChannels:k,setViewerMontageScheme:_,setCustomMontageMap:j,setWorkspaceMontages:R,setViewerErrors:N,setAnnotations:Q,setActiveAnnotationLayer:oe,setActiveAnnotation:q,setActiveTool:ee,createLayer:X,updateLayer:ae,deleteLayer:ce,createAnnotation:te,updateAnnotation:ne,deleteAnnotation:g,updateChannelProperty:b,updateChannelVisibility:(i,c)=>{b(i,"visible",c)},updateChannelSelection:(i,c)=>{b(i,"selected",c)},updateChannelFilter:(i,c)=>{b(i,"filter",c)},validateAnnotationLayers:O,resetViewer:()=>{r.value=[],a.value="NOT_MONTAGED",l.value={},d.value=[],A.value=null,u.value=[],m.value={},w.value={},T.value="pointer",y.value={},Object.keys(n).forEach(i=>{delete n[i]})},triggerRerender:i=>{Z({timestamp:Date.now(),cause:i})},resetRerenderTrigger:()=>{E.value=null},isTSFileProcessed:J,fetchAndSetActiveViewer:F,setActiveViewer:v,setViewerConfig:$}});return K.set(t,e),e()}function ct(t){K.has(t)&&(K.get(t)().resetViewer(),K.delete(t))}function hn(){K.forEach((t,e)=>{t().resetViewer()}),K.clear()}function yn(){return Qe||(Qe=!0,console.warn("[TSViewer] useViewerStore() is deprecated. Use createViewerStore(instanceId) for multi-instance support.")),he("default")}function gn(t){if(useRoute().name==="docs-login")return;le(!1,re("shouldShowToast",t));const n=le(!1,re("shouldRedirect",t));this.clearState(),n&&this.$route.fullPath}var mn=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function dt(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var me={exports:{}},et;function wn(){if(et)return me.exports;et=1;function t(){}return t.prototype={on:function(e,n,r){var a=this.e||(this.e={});return(a[e]||(a[e]=[])).push({fn:n,ctx:r}),this},once:function(e,n,r){var a=this;function l(){a.off(e,l),n.apply(r,arguments)}return l._=n,this.on(e,l,r)},emit:function(e){var n=[].slice.call(arguments,1),r=((this.e||(this.e={}))[e]||[]).slice(),a=0,l=r.length;for(a;a<l;a++)r[a].fn.apply(r[a].ctx,n);return this},off:function(e,n){var r=this.e||(this.e={}),a=r[e],l=[];if(a&&n)for(var d=0,A=a.length;d<A;d++)a[d].fn!==n&&a[d].fn._!==n&&l.push(a[d]);return l.length?r[e]=l:delete r[e],this}},me.exports=t,me.exports.TinyEmitter=t,me.exports}var Le,tt;function An(){if(tt)return Le;tt=1;var t=wn();return Le=new t,Le}var Cn=An();const we=dt(Cn),Y={$emit:(...t)=>we.emit(...t),$on:(...t)=>we.on(...t),$off:(...t)=>we.off(...t),$once:(...t)=>we.once(...t)},Sn=t=>Object.prototype.toString.call(t)==="[object String]",Tn=t=>{Object.keys(t).forEach(e=>{Sn(t[e])&&(t[e]=t[e].trim())})};function bn(t,e){if(!t)return Promise.reject({status:400,message:"Url is missing!"});const n=ue("GET","method",e),r=ue({},"header",e),a=Object.assign({},{"Content-type":"application/json"},r),l=re("body",e);let d={headers:a,method:n};if(l){typeof l=="object"&&Tn(l);const A=JSON.stringify(l);d=Object.assign({},d,{body:A})}return fetch(t,d).then(A=>A.status>=400?Promise.reject(A):A.json().catch(()=>A))}function Ae(t){const e=re("status",t);let n;if(e===void 0){console.log(t);return}else n=t.status;if(n===400&&t.body)t.body.getReader().read().then(({done:r,value:a})=>{const l=a instanceof Uint8Array?String.fromCharCode.apply(null,a):a,d=He(le(l),vn(He(re("message"),JSON.parse),(A,E)=>E))(l);Y.$emit("ajaxError",{detail:{type:"error",msg:d}})});else{if(n===401)return gn();t.json().then(r=>{if(r){const a=r.message;console.log("error message is ",a),Y.$emit("ajaxError",{detail:{type:"info",msg:a}})}else Y.$emit("ajaxError",{detail:{type:"error",msg:`Request failed with status ${n}`}})})}}function En(t=null){const e=t||o.inject("viewerStore",null)||he("default"),{viewerChannels:n,viewerAnnotations:r}=Se.storeToRefs(e),a=y=>y.id||"",l=y=>{y.sort(function(m,w){return m.start<w.start?-1:m.start>w.start?1:0})};return{viewerChannels:n,viewerAnnotations:r,addAnnotation:async(y=null)=>{const u=y||activeAnnotation.value;if(!u||!u.layer_id)throw new TypeError("Missing annotation data or layer_id",u);if(u.id)throw new TypeError("Trying to create an annotation that already exists",u.id);let m=u.start,w=u.duration||u.end-u.start;const T=u.label,x=u.description,U=u.layer_id;if(!T)throw new Error("Annotation label is required");if(m==null)throw new Error("Annotation start time is required");w<0&&(w=-w,m=m-w);let V=[];if(u.allChannels){const v=e.activeViewer.channels;for(let k=0;k<v.length;k++){const _=v[k],j=a(_);V.push(j)}}else if(u.channelIds&&Array.isArray(u.channelIds)&&u.channelIds.length>0)V=u.channelIds;else for(let v=0;v<n.value.length;v++){const k=n.value[v];if(k.selected&&k.visible){const _=a(k);V.push(_)}}const P={label:T,name:T,description:x||"",start:Math.floor(m),end:Math.floor(m+w),channelIds:V},O=e.activeViewer.content.id,B=`${e.config.apiUrl}/timeseries/${O}/layers/${U}/annotations`;try{const v=await ve(),k=await fetch(`${B}?api_key=${v}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(P)});if(!k.ok){const N=await k.text();throw new Error(`HTTP ${k.status}: ${N}`)}const _=await k.json(),j={name:"",id:_.id,label:_.label,description:_.description,start:_.start,duration:_.end-_.start,end:_.end,cStart:null,cEnd:null,selected:!0,channelIds:_.channelIds||V,allChannels:V.length===0||V.length>=n.value.length,layer_id:U,userId:_.userId};_.linkedPackage&&(j.linkedPackage=_.linkedPackage);let R=0;for(let N=0;N<r.value.length;N++)if(r.value[N].id===U){R=N;break}return e.createAnnotation(j),r.value[R]&&r.value[R].annotations&&l(r.value[R].annotations),j}catch(v){throw console.error("🔧 useTsAnnotation: Error creating annotation:",v),Ae(v),v}},updateAnnotation:async(y=null)=>{const u=y||activeAnnotation.value;if(!u.id)throw new TypeError("Trying to update an annotation that doesn't exist on server",u.id);if(!u.layer_id)throw new TypeError("Missing layer_id for annotation update",u);let m=u.start,w=u.duration||u.end-u.start;w<0&&(w=-w,m=m-w);const T={name:u.label,label:u.label,description:u.description||"",start:Math.floor(m),end:Math.floor(m+w),channelIds:u.channelIds||[]},x=e.activeViewer.content.id,U=`${e.config.apiUrl}/timeseries/${x}/layers/${u.layer_id}/annotations/${u.id}`;try{const V=await ve(),P=await fetch(`${U}?api_key=${V}`,{method:"PUT",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(T)});if(!P.ok){const v=await P.text();throw new Error(`HTTP ${P.status}: ${v}`)}const O=await P.json(),B={...u,...O,duration:O.end-O.start};return e.updateAnnotation(B),O}catch(V){throw console.error("🔧 useTsAnnotation: Error updating annotation:",V),Ae(V),V}},removeAnnotation:async y=>{if(!y||!y.id)throw new TypeError("Invalid annotation for deletion",y);let u="";if(y.layer?u=y.layer.id:u=y.layer_id,!u)throw new TypeError("Missing layer_id for annotation deletion",y);const m=e.activeViewer.content.id,w=`${e.config.apiUrl}/timeseries/${m}/layers/${u}/annotations/${y.id}`;try{const T=await ve(),x=await fetch(`${w}?api_key=${T}`,{method:"DELETE",headers:{Accept:"application/json"}});if(!x.ok){const U=await x.text();throw new Error(`HTTP ${x.status}: ${U}`)}return e.deleteAnnotation(y),!0}catch(T){throw console.error("🔧 useTsAnnotation: Error deleting annotation:",T),Ae(T),T}},sortAnns:l,getChannelId:a}}function In(){const t=e=>{const n=fe("",["detail","msg"],e),r=ue(n,"msg",e),a=fe("info",["detail","type"],e).toLowerCase(),l=fe(!1,["detail","showClose"],e),d=fe(3e3,["detail","duration"],e);r&&qt.ElMessage({message:r,type:a,center:!0,duration:d,showClose:l,dangerouslyUseHTMLString:!0})};o.onMounted(()=>{Y.$on("toast",t),Y.$on("ajaxError",t)}),o.onBeforeUnmount(()=>{Y.$off("toast",t),Y.$off("ajaxError",t)})}const ft=(t,e)=>{const n=t.__vccOpts||t;for(const[r,a]of e)n[r]=a;return n},_n={id:"channelCanvas"},Vn=["data-id"],On=["hidden"],kn=["hidden"],Ln={__name:"TSViewer",props:{pkg:{type:Object,default:()=>{}},isPreview:{type:Boolean,default:!1},sidePanelOpen:{type:Boolean,default:!1},instanceId:{type:String,default:"default"}},setup(t,{expose:e}){const n=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSScrubber-E03DDcMn.cjs"))),r=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSViewerCanvas-Dc5cwQzK.cjs")).then(s=>s.TSViewerCanvas)),a=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSViewerToolbar-C1wTQDPC.cjs"))),l=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSFilterModal-DoqvKSUT.cjs"))),d=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSAnnotationModal-DevUUWys.cjs"))),A=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TsAnnotationDeleteDialog-Cv3z3dFh.cjs"))),E=o.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSViewerLayerWindow-PAfR31ZO.cjs"))),y={TIMEUNIT:"microSeconds",XOFFSET:0,XGRIDSPACING:1e6,NRPXPERLABEL:150,USEREALTIME:!0,DEFAULTDPI:96,ANNOTATIONLABELHEIGHT:20,ROUNDDATAPIXELS:!1,MINMAXPOLYGON:!0,PAGESIZEDIVIDER:.5,PREFETCHPAGES:5,LIMITANNFETCH:500,USEMEDIAN:!1,CURSOROFFSET:5,SEGMENTSPAN:12096e8,MAXRECURSION:20,MAXDURATION:6e8,INITDURATION:15e6},u=t,m=he(u.instanceId),{viewerChannels:w,needsRerender:T}=Se.storeToRefs(m);o.provide("viewerStore",m),o.provide("viewerInstanceId",u.instanceId),In();const{addAnnotation:x,updateAnnotation:U,removeAnnotation:V}=En(m),P=o.ref(null),O=o.ref(null),B=o.ref(null),v=o.ref(null),k=o.ref(null),_=o.ref(null),j=o.ref(null),R=o.ref(null),N=o.ref(0),Z=o.ref(0),$=o.ref(0),F=o.ref(0),J=o.ref(0),Q=o.ref(0),oe=o.ref(0),q=o.ref(1),ee=o.ref(1/10),X=o.ref(!1),ae=o.ref(!1),ce=o.ref(null),te=o.ref(!1),ne=o.ref(!1),g=o.computed(()=>m.activeViewer),b=o.computed(()=>w.value.map(s=>({...s,selected:!!s.selected}))),z=o.computed(()=>b.value.filter(s=>s.visible)),H=o.computed(()=>{let s=!1;return Q.value/Ie.value<30&&(s=!0),s}),Ie=o.computed(()=>z.value.length),de=async()=>{if(!P.value)return;const s=document.getElementById("ts_viewer");if(!s)return;const f=window.getComputedStyle(s,null),p=parseInt(f.getPropertyValue("height")),C=u.isPreview?0:100;N.value=p-C,await o.nextTick(),Z.value=P.value.offsetWidth;const S=B.value;S&&(oe.value=S.clientWidth,J.value=Z.value-S.clientWidth-16,Q.value=N.value-40)};o.watch(()=>g.value,async(s,f)=>{var p,C,S;(p=O.value)!=null&&p.resetComponentState&&O.value.resetComponentState(),s&&s.channels&&s.channels.length>0&&Ue(),qe(),await o.nextTick(),(C=O.value)!=null&&C.initSegmentSpans&&O.value.initSegmentSpans(),(S=O.value)!=null&&S.getAnnotations&&O.value.getAnnotations()},{immediate:!1,deep:!0}),o.watch(Ie,(s,f)=>{f!==void 0&&s!==f&&setTimeout(()=>{var p;de(),(p=v.value)!=null&&p.renderAll&&v.value.renderAll()},20)});const _e=s=>{m.setActiveAnnotation(s),v.value.renderAnnotationCanvas(),X.value=!0};o.watch(T,s=>{s&&(o.nextTick(()=>{var f;s.cause==="channel-visibility"?setTimeout(()=>{var p;de(),(p=v.value)!=null&&p.renderAll&&v.value.renderAll()},10):(f=v.value)!=null&&f.renderAll&&v.value.renderAll()}),m.resetRerenderTrigger(null))},{deep:!0});const Ne=s=>{_e(s)},i=async s=>{if(!s||Object.keys(s).length===0){console.error("TSViewer: Received empty annotation!");return}if(!s.layer_id){console.error("TSViewer: annotation.layer_id is missing!",s);return}X.value=!1;try{s.id?(await U(s),c()):(await x(s),Oe())}catch(f){console.error("TSViewer: Error creating/updating annotation:",f),X.value=!0}},c=()=>{v.value.renderAnnotationCanvas()},h=s=>{ce.value=s,te.value=!0},M=async s=>{te.value=!1;try{await V(s),ie()}catch(f){console.error("TSViewer: Error deleting annotation:",f)}},ie=()=>{v.value.renderAnnotationCanvas()},Ve=(s,f,p,C,S,ge)=>{if(!ge||!ge.id){console.error("Invalid layer provided to onAddAnnotation:",ge);return}const Nt=m.viewerSelectedChannels||[],Mt=p?[]:Nt.map(xt=>xt.id),Rt={id:null,label:C||"Event",description:S||"",start:Math.floor(s),end:Math.floor(s+f),duration:Math.floor(f),channelIds:Mt,allChannels:p,layer_id:ge.id,selected:!0,userId:null};m.setActiveAnnotation(Rt),X.value=!0},Oe=()=>{v.value.renderAnnotationCanvas()},ye=s=>{v.value.createAnnotationLayer(s)},Me=()=>{ae.value=!1},pt=()=>{v.value.resetFocusedAnnotation(),v.value.renderAnnotationCanvas(),X.value=!1},ht=()=>{ne.value=!1},yt=s=>{s.stopPropagation(),s.preventDefault();const f=s.detail.sourceEvent.metaKey;Re({channelId:s.currentTarget.dataset.id,append:f}),v.value.renderAll()},gt=()=>{$.value=v.value.getNextAnnotation()},mt=()=>{$.value=v.value.getPreviousAnnotation()},wt=s=>{xe(s*1e6)},At=()=>{q.value=q.value*1.25},Ct=()=>{q.value=q.value*.8},St=()=>{O.value.getAnnotations()},Tt=()=>{},bt=()=>{const s=Math.max($.value-.75*F.value,j.value);se(s),o.nextTick(()=>{var f;(f=v.value)==null||f.renderAll()})},Et=()=>{const s=Math.min($.value+.75*F.value,R.value-F.value);se(s),o.nextTick(()=>{var f,p;(f=v.value)!=null&&f.invalidate&&v.value.invalidate(),(p=v.value)!=null&&p.renderAll&&v.value.renderAll()})},It=s=>{let f=v.value.rsPeriod;se(s.annotation.start-(ee.value*J.value-y.CURSOROFFSET)*f),o.nextTick(()=>{var p;(p=v.value)==null||p.renderAll()})},Re=s=>{const f=w.value.map(p=>{const C=p.selected;return s.append===!1&&(p.selected=!1),s.channelId===p.id&&(p.selected=!C),p});m.setChannels(f)},_t=(s,f)=>{const p=w.value.map(C=>(f===!1&&(C.selected=!1),C.id in s&&(C.selected=!0),C));m.setChannels(p)},se=s=>{$.value=s},Vt=s=>{ee.value=s},Ot=s=>{q.value=s},xe=s=>{s>y.MAXDURATION?F.value=y.MAXDURATION:F.value=s},kt=(s,f,p)=>(y.DEFAULTDPI*window.devicePixelRatio/(f*p)/25.4).toFixed(1)+" "+s.unit+"/mm",Ue=()=>{var f;const s=(f=g.value)==null?void 0:f.channels;if(s&&s.length>0){j.value=s[0].start,R.value=s[0].end;for(let p=1;p<s.length;p++)s[p].start<j.value&&(j.value=s[p].start),s[p].end>R.value&&(R.value=s[p].end);$.value=j.value}},Lt=()=>{Ue()},Pt=s=>{ae.value=!0},jt=s=>{const f=ue([],"channels",s),p=ue("","filter",s),C=k.value;C&&(C.onChannels=f,cn(p)?(C.input0=NaN,C.input1=NaN,C.selectedFilter=null,C.selectedNotch=null):(C.input0=p.input0,C.input1=p.input1),ne.value=!0)},Dt=s=>{v.value.setFilters(s)},qe=()=>{var s,f;(s=v.value)==null||s.initViewerCanvas(),(f=v.value)==null||f.renderAll()};return o.onMounted(()=>{Lt();const s=document.getElementById("ts_viewer");if(!s){console.warn("ts_viewer element not found");return}var f=window.getComputedStyle(s,null);const p=parseInt(f.getPropertyValue("height")),C=u.isPreview?0:100;N.value=p-C,P.value&&(Z.value=P.value.offsetWidth),window.addEventListener("resize",de);const S=B.value;S&&(oe.value=S.clientWidth,J.value=Z.value-S.clientWidth-5-10,Q.value=N.value-88),F.value=y.INITDURATION,qe()}),o.onBeforeUnmount(()=>{window.removeEventListener("resize",de),ct(u.instanceId)}),e({openEditAnnotationDialog:_e,confirmDeleteAnnotation:h,selectAnnotation:It,selectChannel:Re,selectChannels:_t,openLayerWindow:Pt,openFilterWindow:jt,setTimeseriesFilters:Dt}),(s,f)=>{var p,C;return o.openBlock(),o.createElementBlock("div",{id:"ts_viewer",ref_key:"ts_viewer",ref:P,class:o.normalizeClass([t.isPreview?"timeseries-viewer preview":"timeseries-viewer"])},[o.createVNode(o.unref(n),{ref_key:"scrubber",ref:O,ts_start:j.value,ts_end:R.value,"c-width":J.value,"label-width":oe.value,"cursor-loc":ee.value,start:$.value,duration:F.value,constants:y,"active-viewer":g.value,onSetStart:se},null,8,["ts_start","ts_end","c-width","label-width","cursor-loc","start","duration","active-viewer"]),o.createElementVNode("div",_n,[o.createElementVNode("div",{id:"channelLabels",ref_key:"channelLabels",ref:B},[(o.openBlock(!0),o.createElementBlock(o.Fragment,null,o.renderList(z.value,S=>(o.openBlock(),o.createElementBlock("div",{key:S.displayName,class:"chLabelWrap","data-id":S.id,onTap:yt},[o.createElementVNode("div",{class:o.normalizeClass([S.selected?"labelDiv selected":"labelDiv"])},o.toDisplayString(S.displayName),3),o.createElementVNode("div",{class:o.normalizeClass(["chLabelIndWrap",[S.selected?"selected":""]]),hidden:H.value},[o.createElementVNode("div",{class:"chLabelInd",hidden:H.value},o.toDisplayString(kt(S,q.value,S.rowScale)),9,kn)],10,On)],40,Vn))),128))],512),(C=(p=g.value)==null?void 0:p.content)!=null&&C.id?(o.openBlock(),o.createBlock(o.unref(r),{key:0,ref_key:"viewerCanvas",ref:v,window_height:N.value,window_width:Z.value,duration:F.value,start:$.value,"c-width":J.value,"c-height":Q.value,constants:y,"ts-start":j.value,"ts-end":R.value,"cursor-loc":ee.value,"global-zoom-mult":q.value,"active-viewer":g.value,onSetStart:se,onSetCursor:Vt,onSetGlobalZoom:Ot,onSetDuration:xe,onChannelsInitialized:Tt,onAnnLayersInitialized:St,onCloseAnnotationLayerWindow:Me,onAddAnnotation:Ve,onUpdateAnnotation:Ne},null,8,["window_height","window_width","duration","start","c-width","c-height","ts-start","ts-end","cursor-loc","global-zoom-mult","active-viewer"])):o.createCommentVNode("",!0)]),t.isPreview?o.createCommentVNode("",!0):(o.openBlock(),o.createBlock(o.unref(a),{key:0,constants:y,duration:F.value,start:$.value,globalZoomMult:q.value,"onUpdate:globalZoomMult":f[0]||(f[0]=S=>q.value=S),onPageBack:bt,onPageForward:Et,onIncrementZoom:At,onDecrementZoom:Ct,onUpdateDuration:wt,onNextAnnotation:gt,onPreviousAnnotation:mt,onSetStart:se},null,8,["duration","start","globalZoomMult"])),o.createVNode(o.unref(l),{ref_key:"filterWindow",ref:k,visible:ne.value,"onUpdate:visible":f[1]||(f[1]=S=>ne.value=S),onCloseWindow:ht},null,8,["visible"]),o.createVNode(o.unref(d),{ref_key:"annotationModal",ref:_,visible:X.value,"onUpdate:visible":f[2]||(f[2]=S=>X.value=S),onCloseWindow:pt,onCreateUpdateAnnotation:i},null,8,["visible"]),o.createVNode(o.unref(A),{visible:te.value,"delete-annotation":ce.value,"onUpdate:visible":f[3]||(f[3]=S=>te.value=S),onDelete:M},null,8,["visible","delete-annotation"]),o.createVNode(o.unref(E),{visible:ae.value,onCloseWindow:Me,onCreateLayer:ye},null,8,["visible"])],2)}}},vt=ft(Ln,[["__scopeId","data-v-4fa75a6c"]]);function Pn(t="default"){const e=he(t),{viewerChannels:n,viewerAnnotations:r,viewerActiveTool:a,viewerSelectedChannels:l,activeAnnotation:d,activeAnnotationLayer:A,viewerMontageScheme:E,viewerErrors:y,config:u,activeViewer:m}=Se.storeToRefs(e),w=o.readonly(n),T=o.computed(()=>l.value),x=o.readonly(r),U=o.readonly(a),V=o.readonly(E),P=o.readonly(y),O=o.readonly(u),B=o.readonly(m);return{channels:w,selectedChannels:T,annotations:x,activeTool:U,montageScheme:V,errors:P,viewerConfig:O,viewer:B,getChannel:g=>n.value.find(b=>b.id===g),getAnnotation:g=>e.getAnnotationById(g),getActiveLayer:()=>e.getViewerActiveLayer(),getVisibleChannels:()=>n.value.filter(g=>g.visible),getState:()=>({channels:n.value,selectedChannels:l.value,annotations:r.value,activeLayer:e.getViewerActiveLayer(),activeTool:a.value,montageScheme:E.value,errors:y.value}),selectChannels:(g,b=!1)=>{const z=n.value.map(H=>({...H,selected:b?H.selected:!1}));z.forEach(H=>{g.includes(H.id)&&(H.selected=!0)}),e.setChannels(z)},clearChannelSelection:()=>{const g=n.value.map(b=>({...b,selected:!1}));e.setChannels(g)},toggleChannelVisibility:g=>{const b=n.value.find(z=>z.id===g);b&&(e.updateChannelVisibility(g,!b.visible),e.triggerRerender("channel-visibility"))},setChannelVisibility:(g,b)=>{e.updateChannelVisibility(g,b),e.triggerRerender("channel-visibility")},showAllChannels:()=>{n.value.forEach(g=>{e.updateChannelVisibility(g.id,!0)}),e.triggerRerender("channel-visibility")},hideAllChannels:()=>{n.value.forEach(g=>{e.updateChannelVisibility(g.id,!1)}),e.triggerRerender("channel-visibility")},selectAnnotation:g=>{const b=e.getAnnotationById(g);b&&e.setActiveAnnotation(b)},setActiveLayer:g=>{e.setActiveAnnotationLayer(g)},toggleLayerVisibility:g=>{const b=r.value.find(z=>z.id===g);b&&(b.visible=!b.visible,e.updateLayer(b),e.triggerRerender("layer-visibility"))},setActiveTool:g=>{e.setActiveTool(g)},setConfig:g=>{e.setViewerConfig(g)},setActiveViewer:g=>{e.setActiveViewer(g)},triggerRerender:(g="external")=>{e.triggerRerender(g)},reset:()=>{e.resetViewer()},store:e}}const jn={install(t){t.component("TSViewer",vt)}};exports.EventBus=Y;exports.TSViewer=vt;exports._arity=Te;exports._curry1=D;exports._curry2=L;exports._dispatchable=nt;exports._export_sfc=ft;exports._isPlaceholder=I;exports._reduce=at;exports._reduced=rt;exports._xfBase=ot;exports.clearAllViewerStores=hn;exports.clearViewerStore=ct;exports.commonjsGlobal=mn;exports.createViewerStore=he;exports.defaultTo=le;exports.getDefaultExportFromCjs=dt;exports.index=jn;exports.keys=Pe;exports.nth=je;exports.pathOr=fe;exports.propEq=W;exports.propOr=ue;exports.useHandleXhrError=Ae;exports.useSendXhr=bn;exports.useToken=ve;exports.useViewerControls=Pn;exports.useViewerStore=yn;
|