@pennsieve-viz/tsviewer 1.1.1 → 1.1.2
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-zWDUe3E8.cjs → BFLibraryButton-ClRfrYOf.cjs} +1 -1
- package/dist/{BFLibraryButton-DEY9t1Is.js → BFLibraryButton-DzzWe3Ya.js} +1 -1
- package/dist/{IconSelection-IJR6hdts.js → IconSelection-Bnm4c-Az.js} +1 -1
- package/dist/{IconSelection-DsOecTVD.cjs → IconSelection-CYX2jlGW.cjs} +1 -1
- package/dist/TSAnnotationCanvas-BCu7PmSh.cjs +1 -0
- package/dist/TSAnnotationCanvas-Cua-lW6X.js +704 -0
- package/dist/{TSAnnotationModal-DpLHrHfV.js → TSAnnotationModal-7GxnJomu.js} +3 -3
- package/dist/{TSAnnotationModal-DkLaOB7u.cjs → TSAnnotationModal-BVDkiUQ1.cjs} +1 -1
- package/dist/{TSFilterModal-C1-o1zyF.js → TSFilterModal-1E2UWL8T.js} +3 -3
- package/dist/{TSFilterModal-DsVcUoIk.cjs → TSFilterModal-BVfwi0tb.cjs} +1 -1
- package/dist/TSScrubber-CBKcwuMb.js +374 -0
- package/dist/TSScrubber-DBWjIhSE.cjs +1 -0
- package/dist/{TSViewerCanvas-A6HgBZ4E.js → TSViewerCanvas-D_RaJ4Mj.js} +1865 -1931
- package/dist/TSViewerCanvas-gjfcQXDY.cjs +11 -0
- package/dist/{TSViewerLayerWindow-Dnij6c3F.js → TSViewerLayerWindow-COWXfHNB.js} +2 -2
- package/dist/{TSViewerLayerWindow-Cu8yQKRU.cjs → TSViewerLayerWindow-D5j3_B1E.cjs} +1 -1
- package/dist/{TSViewerToolbar-CO68rvXF.js → TSViewerToolbar-Cb2W7W6J.js} +1 -1
- package/dist/{TSViewerToolbar-_NqUlS08.cjs → TSViewerToolbar-ep_lZr6h.cjs} +1 -1
- package/dist/{TsAnnotationDeleteDialog-D9eQGzqE.js → TsAnnotationDeleteDialog-B9pQMYZo.js} +3 -3
- package/dist/{TsAnnotationDeleteDialog-fM5Y7SRB.cjs → TsAnnotationDeleteDialog-BRIgCXxU.cjs} +1 -1
- package/dist/index-BU6e_1Ww.js +1414 -0
- package/dist/index-C-i9Taq7.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/{pathOr-DKv8SMY9.cjs → pathOr-BQgOyNsu.cjs} +1 -1
- package/dist/{pathOr-kR7j_Y-C.js → pathOr-Dr8GvKXg.js} +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/TSAnnotationCanvas-B0b_EheO.js +0 -730
- package/dist/TSAnnotationCanvas-Bfxc75PD.cjs +0 -1
- package/dist/TSScrubber-9ABMW6b2.js +0 -377
- package/dist/TSScrubber-BlHHGh3F.cjs +0 -1
- package/dist/TSViewerCanvas-DBpG0Erk.cjs +0 -11
- package/dist/index-CMJlEiLT.cjs +0 -1
- package/dist/index-CgKUmS0K.js +0 -1459
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";const a=require("vue"),ge=require("pinia"),Lt=require("aws-amplify/auth");function T(t){return t!=null&&typeof t=="object"&&t["@@functional/placeholder"]===!0}function P(t){return function e(n){return arguments.length===0||T(n)?e:t.apply(this,arguments)}}function D(t){return function e(n,r){switch(arguments.length){case 0:return e;case 1:return T(n)?e:P(function(l){return t(n,l)});default:return T(n)&&T(r)?e:T(n)?P(function(l){return t(l,r)}):T(r)?P(function(l){return t(n,l)}):t(n,r)}}}function Pt(t,e){t=t||[],e=e||[];var n,r=t.length,l=e.length,u=[];for(n=0;n<r;)u[u.length]=t[n],n+=1;for(n=0;n<l;)u[u.length]=e[n],n+=1;return u}function we(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,l){return e.apply(this,arguments)};case 4:return function(n,r,l,u){return e.apply(this,arguments)};case 5:return function(n,r,l,u,y){return e.apply(this,arguments)};case 6:return function(n,r,l,u,y,m){return e.apply(this,arguments)};case 7:return function(n,r,l,u,y,m,b){return e.apply(this,arguments)};case 8:return function(n,r,l,u,y,m,b,p){return e.apply(this,arguments)};case 9:return function(n,r,l,u,y,m,b,p,s){return e.apply(this,arguments)};case 10:return function(n,r,l,u,y,m,b,p,s,g){return e.apply(this,arguments)};default:throw new Error("First argument to _arity must be a non-negative integer no greater than ten")}}function fe(t){return function e(n,r,l){switch(arguments.length){case 0:return e;case 1:return T(n)?e:D(function(u,y){return t(n,u,y)});case 2:return T(n)&&T(r)?e:T(n)?D(function(u,y){return t(u,r,y)}):T(r)?D(function(u,y){return t(n,u,y)}):P(function(u){return t(n,r,u)});default:return T(n)&&T(r)&&T(l)?e:T(n)&&T(r)?D(function(u,y){return t(u,y,l)}):T(n)&&T(l)?D(function(u,y){return t(u,r,y)}):T(r)&&T(l)?D(function(u,y){return t(n,u,y)}):T(n)?P(function(u){return t(u,r,l)}):T(r)?P(function(u){return t(n,u,l)}):T(l)?P(function(u){return t(n,r,u)}):t(n,r,l)}}}const me=Array.isArray||function(e){return e!=null&&e.length>=0&&Object.prototype.toString.call(e)==="[object Array]"};function Nt(t){return t!=null&&typeof t["@@transducer/step"]=="function"}function Xe(t,e,n){return function(){if(arguments.length===0)return n();var r=arguments[arguments.length-1];if(!me(r)){for(var l=0;l<t.length;){if(typeof r[t[l]]=="function")return r[t[l]].apply(r,Array.prototype.slice.call(arguments,0,-1));l+=1}if(Nt(r)){var u=e.apply(null,Array.prototype.slice.call(arguments,0,-1));return u(r)}}return n.apply(this,arguments)}}function ze(t){return t&&t["@@transducer/reduced"]?t:{"@@transducer/value":t,"@@transducer/reduced":!0}}const Ge={init:function(){return this.xf["@@transducer/init"]()},result:function(t){return this.xf["@@transducer/result"](t)}};function Ae(t){return Object.prototype.toString.call(t)==="[object String]"}var Dt=P(function(e){return me(e)?!0:!e||typeof e!="object"||Ae(e)?!1:e.length===0?!0:e.length>0?e.hasOwnProperty(0)&&e.hasOwnProperty(e.length-1):!1}),Rt=(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 jt(t){return new Rt(t)}var Mt=D(function(e,n){return we(e.length,function(){return e.apply(n,arguments)})});function Ut(t,e,n){for(var r=0,l=n.length;r<l;){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 Pe(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 Ne(t,e,n,r){return t["@@transducer/result"](n[r](Mt(t["@@transducer/step"],t),e))}var De=typeof Symbol<"u"?Symbol.iterator:"@@iterator";function He(t,e,n){if(typeof t=="function"&&(t=jt(t)),Dt(n))return Ut(t,e,n);if(typeof n["fantasy-land/reduce"]=="function")return Ne(t,e,n,"fantasy-land/reduce");if(n[De]!=null)return Pe(t,e,n[De]());if(typeof n.next=="function")return Pe(t,e,n);if(typeof n.reduce=="function")return Ne(t,e,n,"reduce");throw new TypeError("reduce: list must be array or iterable")}function ye(t,e){return Object.prototype.hasOwnProperty.call(e,t)}var Re=Object.prototype.toString,Ze=(function(){return Re.call(arguments)==="[object Arguments]"?function(e){return Re.call(e)==="[object Arguments]"}:function(e){return ye("callee",e)}})(),xt=!{toString:null}.propertyIsEnumerable("toString"),je=["constructor","valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],Me=(function(){return arguments.propertyIsEnumerable("length")})(),qt=function(e,n){for(var r=0;r<e.length;){if(e[r]===n)return!0;r+=1}return!1},be=P(typeof Object.keys=="function"&&!Me?function(e){return Object(e)!==e?[]:Object.keys(e)}:function(e){if(Object(e)!==e)return[];var n,r,l=[],u=Me&&Ze(e);for(n in e)ye(n,e)&&(!u||n!=="length")&&(l[l.length]=n);if(xt)for(r=je.length-1;r>=0;)n=je[r],ye(n,e)&&!qt(l,n)&&(l[l.length]=n),r-=1;return l});const Je=Number.isInteger||function(e){return e<<0===e};var Ye=D(function(e,n){var r=e<0?n.length+e:e;return Ae(n)?n.charAt(r):n[r]}),ne=D(function(e,n){if(n!=null)return Je(e)?Ye(e,n):n[e]}),Wt=fe(He),Ue=P(function(e){return e===null?"Null":e===void 0?"Undefined":Object.prototype.toString.call(e).slice(8,-1)});function Ft(t,e){return function(){return e.call(this,t.apply(this,arguments))}}function Ke(t,e){return function(){var n=arguments.length;if(n===0)return e();var r=arguments[n-1];return me(r)||typeof r[t]!="function"?e.apply(this,arguments):r[t].apply(r,Array.prototype.slice.call(arguments,0,n-1))}}var $t=fe(Ke("slice",function(e,n,r){return Array.prototype.slice.call(r,e,n)})),Bt=P(Ke("tail",$t(1,1/0)));function Xt(){if(arguments.length===0)throw new Error("pipe requires at least one argument");return we(arguments[0].length,Wt(Ft,arguments[0],Bt(arguments)))}var zt=P(function(e){return Ae(e)?e.split("").reverse().join(""):Array.prototype.slice.call(e,0).reverse()});function xe(){if(arguments.length===0)throw new Error("compose requires at least one argument");return Xt.apply(this,zt(arguments))}function qe(t){for(var e=[],n;!(n=t.next()).done;)e.push(n.value);return e}function We(t,e,n){for(var r=0,l=n.length;r<l;){if(t(e,n[r]))return!0;r+=1}return!1}function Gt(t){var e=String(t).match(/^function (\w*)/);return e==null?"":e[1]}function Ht(t,e){return t===e?t!==0||1/t===1/e:t!==t&&e!==e}const Te=typeof Object.is=="function"?Object.is:Ht;function Fe(t,e,n,r){var l=qe(t),u=qe(e);function y(m,b){return _e(m,b,n.slice(),r.slice())}return!We(function(m,b){return!We(y,b,m)},u,l)}function _e(t,e,n,r){if(Te(t,e))return!0;var l=Ue(t);if(l!==Ue(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(l){case"Arguments":case"Array":case"Object":if(typeof t.constructor=="function"&&Gt(t.constructor)==="Promise")return t===e;break;case"Boolean":case"Number":case"String":if(!(typeof t==typeof e&&Te(t.valueOf(),e.valueOf())))return!1;break;case"Date":if(!Te(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 u=n.length-1;u>=0;){if(n[u]===t)return r[u]===e;u-=1}switch(l){case"Map":return t.size!==e.size?!1:Fe(t.entries(),e.entries(),n.concat([t]),r.concat([e]));case"Set":return t.size!==e.size?!1:Fe(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 y=be(t);if(y.length!==be(e).length)return!1;var m=n.concat([t]),b=r.concat([e]);for(u=y.length-1;u>=0;){var p=y[u];if(!(ye(p,e)&&_e(e[p],t[p],m,b)))return!1;u-=1}return!0}var Qe=D(function(e,n){return _e(e,n,[],[])});function Zt(t){return Object.prototype.toString.call(t)==="[object Object]"}var ce=D(function(e,n){return n==null||n!==n?e:n});function Jt(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 Yt=P(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():me(e)?[]:Ae(e)?"":Zt(e)?{}:Ze(e)?(function(){return arguments})():Jt(e)?e.constructor.from(""):void 0}),Kt=(function(){function t(e,n){this.xf=n,this.f=e,this.idx=-1,this.found=!1}return t.prototype["@@transducer/init"]=Ge.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=ze(this.xf["@@transducer/step"](e,this.idx))),e},t})(),Qt=D(function(e,n){return new Kt(e,n)}),G=D(Xe([],Qt,function(e,n){for(var r=0,l=n.length;r<l;){if(e(n[r]))return r;r+=1}return-1})),en=P(function(e){return e!=null&&Qe(e,Yt(e))}),B=fe(function(e,n,r){return Qe(n,ne(e,r))}),de=fe(function(e,n,r){return ce(e,ne(n,r))}),tn=D(function(e,n){return we(e.length,function(){try{return e.apply(this,arguments)}catch(r){return n.apply(this,Pt([r],arguments))}})});async function ue(){try{return Lt.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 nn=()=>({openConnection:async(e,n,r)=>await new Promise((y,m)=>{const b=e+"?session="+r+"&package="+n;let p=null;const s=new WebSocket(b);s.onopen=()=>{const g={montage:"NOT_MONTAGED",packageId:n};s.send(JSON.stringify(g))},s.onclose=()=>{p&&p.channelDetails?y({res:p.channelDetails,status:"websocket closed"}):y({res:null,status:"websocket closed without data"})},s.onmessage=g=>{p=JSON.parse(g.data),s.close()},s.onerror=g=>{console.error("WebSocket error:",g),m(g)}})}),Y=new Map;let $e=!1,Be=!1;function ve(t="default"){if(t==="default"&&!$e&&($e=!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" />')),Y.has(t))return Y.get(t)();const e=ge.defineStore(`tsviewer-${t}`,()=>{const n=a.reactive({}),r=a.ref([]),l=a.ref("NOT_MONTAGED"),u=a.ref({}),y=a.ref([]),m=a.ref(null),b=a.ref(null),p=a.ref({}),s=a.ref([]),g=a.ref({}),A=a.ref({}),_=a.ref("POINTER"),{openConnection:M}=nn(),U=a.computed(()=>o=>y.value.find(c=>c.name===o)),I=a.computed(()=>r.value.filter(o=>o.selected)),k=a.computed(()=>()=>{const o=s.value.find(c=>c.selected);return o||(console.warn("No active layer found, available layers:",s.value),s.value.length>0?s.value[0]:null)}),E=()=>{let o=!1;return s.value.forEach((c,h)=>{!c.id&&c.id!==0&&(console.error(`Layer at index ${h} missing ID:`,c),o=!0),c.annotations||(console.warn(`Layer at index ${h} missing annotations array:`,c),c.annotations=[])}),o&&console.error("Annotation layer validation failed. Layers:",s.value),!o},F=a.computed(()=>o=>s.value.flatMap(h=>h.annotations||[]).find(h=>h.id===o)),v=o=>{p.value=o},O=o=>{r.value=o},V=o=>{l.value=o},L=o=>{u.value=o},R=o=>{y.value=o},N=o=>{m.value=o},Z=o=>{b.value=o},x=o=>{Object.assign(n,o)},q=async o=>{const c=o.packageId,h=await ue();let j=n.timeseriesDiscoverApi,oe=null;oe=await M(j,c,h),v({channels:oe.res,content:{id:c}})},J=()=>o=>{var h;return((h=o==null?void 0:o.content)==null?void 0:h.state)==="READY"},K=o=>{const c=o.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));s.value=c},re=o=>{if(!o&&o!==0){console.error("setActiveAnnotationLayer called with invalid layerId:",o);return}g.value=o,s.value.forEach(h=>h.selected=!1);const c=G(B("id",o),s.value);c>=0?s.value[c].selected=!0:console.error("Layer with ID not found:",o,"Available layers:",s.value)},$=o=>{if(s.value.forEach(c=>{var h;return(h=c.annotations)==null?void 0:h.forEach(j=>j.selected=!1)}),o.id){const c=G(B("id",o.layer_id),s.value);if(c>=0){const h=G(B("id",o.id),s.value[c].annotations);h>=0&&(s.value[c].annotations[h].selected=!0)}}A.value=o},Q=o=>{_.value=o},X=o=>{if(!o.id&&o.id!==0){console.error("Cannot create layer without ID:",o);return}const c={id:o.id,name:o.name||`Layer ${o.id}`,description:o.description||"",visible:o.visible!==void 0?o.visible:!0,selected:o.selected||!1,annotations:o.annotations||[],color:o.color,hexColor:o.hexColor,bkColor:o.bkColor,selColor:o.selColor,userId:o.userId,...o};s.value.push(c)},ae=o=>{const c=G(B("id",o.id),s.value);if(c>=0){const h=Object.assign(s.value[c],o);s.value[c]=h}},se=o=>{const c=G(B("id",o.id),s.value);c>=0&&s.value.splice(c,1)},ee=o=>{const c=G(B("id",o.layer_id),s.value);c>=0&&(s.value[c].annotations||(s.value[c].annotations=[]),s.value[c].annotations.push(o),$(o))},te=o=>{const c=G(B("id",o.layer_id),s.value);if(c>=0){const h=s.value[c].annotations,j=G(B("id",o.id),h);j>=0&&(h[j]=o)}},w=o=>{const c=G(B("id",o.layer_id),s.value);if(c>=0){const h=s.value[c].annotations,j=G(B("id",o.id),h);j>=0&&h.splice(j,1)}},C=(o,c,h)=>{const j=r.value.find(oe=>oe.id===o);j&&(j[c]=h)};return{viewerChannels:r,viewerMontageScheme:l,customMontageMap:u,workspaceMontages:y,viewerErrors:m,needsRerender:b,viewerAnnotations:s,activeAnnotationLayer:g,activeAnnotation:A,activeViewer:p,viewerActiveTool:_,config:n,getMontageMessageByName:U,viewerSelectedChannels:I,getViewerActiveLayer:k,getAnnotationById:F,setChannels:O,setViewerMontageScheme:V,setCustomMontageMap:L,setWorkspaceMontages:R,setViewerErrors:N,setAnnotations:K,setActiveAnnotationLayer:re,setActiveAnnotation:$,setActiveTool:Q,createLayer:X,updateLayer:ae,deleteLayer:se,createAnnotation:ee,updateAnnotation:te,deleteAnnotation:w,updateChannelProperty:C,updateChannelVisibility:(o,c)=>{C(o,"visible",c)},updateChannelSelection:(o,c)=>{C(o,"selected",c)},updateChannelFilter:(o,c)=>{C(o,"filter",c)},validateAnnotationLayers:E,resetViewer:()=>{r.value=[],l.value="NOT_MONTAGED",u.value={},y.value=[],m.value=null,s.value=[],g.value={},A.value={},_.value="POINTER",p.value={},Object.keys(n).forEach(o=>{delete n[o]})},triggerRerender:o=>{Z({timestamp:Date.now(),cause:o})},resetRerenderTrigger:()=>{b.value=null},isTSFileProcessed:J,fetchAndSetActiveViewer:q,setActiveViewer:v,setViewerConfig:x}});return Y.set(t,e),e()}function et(t){Y.has(t)&&(Y.get(t)().resetViewer(),Y.delete(t))}function rn(){Y.forEach((t,e)=>{t().resetViewer()}),Y.clear()}function an(){return Be||(Be=!0,console.warn("[TSViewer] useViewerStore() is deprecated. Use createViewerStore(instanceId) for multi-instance support.")),ve("default")}function on(t){if(useRoute().name==="docs-login")return;ce(!1,ne("shouldShowToast",t));const n=ce(!1,ne("shouldRedirect",t));this.clearState(),n&&this.$route.fullPath}const sn=t=>Object.prototype.toString.call(t)==="[object String]",ln=t=>{Object.keys(t).forEach(e=>{sn(t[e])&&(t[e]=t[e].trim())})};function un(t,e){if(!t)return Promise.reject({status:400,message:"Url is missing!"});const n=de("GET","method",e),r=de({},"header",e),l=Object.assign({},{"Content-type":"application/json"},r),u=ne("body",e);let y={headers:l,method:n};if(u){typeof u=="object"&&ln(u);const m=JSON.stringify(u);y=Object.assign({},y,{body:m})}return fetch(t,y).then(m=>m.status>=400?Promise.reject(m):m.json().catch(()=>m))}function he(t){const e=ne("status",t);let n;if(e!==void 0){if(n=t.status,n===400&&t.body)t.body.getReader().read().then(({done:r,value:l})=>{const u=l instanceof Uint8Array?String.fromCharCode.apply(null,l):l;xe(ce(u),tn(xe(ne("message"),JSON.parse),(y,m)=>m))(u)});else if(n===401)return on()}}function cn(t=null){const e=t||a.inject("viewerStore",null)||ve("default"),{viewerChannels:n,viewerAnnotations:r}=ge.storeToRefs(e),l=p=>p.id||"",u=p=>{p.sort(function(g,A){return g.start<A.start?-1:g.start>A.start?1:0})};return{viewerChannels:n,viewerAnnotations:r,addAnnotation:async(p=null)=>{const s=p||activeAnnotation.value;if(!s||!s.layer_id)throw new TypeError("Missing annotation data or layer_id",s);if(s.id)throw new TypeError("Trying to create an annotation that already exists",s.id);let g=s.start,A=s.duration||s.end-s.start;const _=s.label,M=s.description,U=s.layer_id;if(!_)throw new Error("Annotation label is required");if(g==null)throw new Error("Annotation start time is required");A<0&&(A=-A,g=g-A);let I=[];if(s.allChannels){const v=e.activeViewer.value.channels;for(let O=0;O<v.length;O++){const L=v[O].content.id;I.push(L)}}else if(s.channelIds&&Array.isArray(s.channelIds)&&s.channelIds.length>0)I=s.channelIds;else for(let v=0;v<n.value.length;v++){const O=n.value[v];if(O.selected&&O.visible){const V=l(O);I.push(V)}}const k={label:_,name:_,description:M||"",start:Math.floor(g),end:Math.floor(g+A),channelIds:I},E=e.activeViewer.value.content.id,F=`${e.config.apiUrl}/timeseries/${E}/layers/${U}/annotations`;try{const v=await ue(),O=await fetch(`${F}?api_key=${v}`,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(k)});if(!O.ok){const N=await O.text();throw new Error(`HTTP ${O.status}: ${N}`)}const V=await O.json(),L={name:"",id:V.id,label:V.label,description:V.description,start:V.start,duration:V.end-V.start,end:V.end,cStart:null,cEnd:null,selected:!0,channelIds:V.channelIds||I,allChannels:I.length===0||I.length>=n.value.length,layer_id:U,userId:V.userId};V.linkedPackage&&(L.linkedPackage=V.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(L),r.value[R]&&r.value[R].annotations&&u(r.value[R].annotations),L}catch(v){throw console.error("🔧 useTsAnnotation: Error creating annotation:",v),he(v),v}},updateAnnotation:async(p=null)=>{const s=p||activeAnnotation.value;if(!s.id)throw new TypeError("Trying to update an annotation that doesn't exist on server",s.id);if(!s.layer_id)throw new TypeError("Missing layer_id for annotation update",s);let g=s.start,A=s.duration||s.end-s.start;A<0&&(A=-A,g=g-A);const _={label:s.label,description:s.description||"",start:Math.floor(g),end:Math.floor(g+A),channelIds:s.channelIds||[]},M=e.activeViewer.value.content.id,U=`${e.config.apiUrl}/timeseries/${M}/layers/${s.layer_id}/annotations/${s.id}`;try{const I=await ue(),k=await fetch(`${U}?api_key=${I}`,{method:"PUT",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify(_)});if(!k.ok){const v=await k.text();throw new Error(`HTTP ${k.status}: ${v}`)}const E=await k.json(),F={...s,...E,duration:E.end-E.start};return e.updateAnnotation(F),E}catch(I){throw console.error("🔧 useTsAnnotation: Error updating annotation:",I),he(I),I}},removeAnnotation:async p=>{if(!p||!p.id)throw new TypeError("Invalid annotation for deletion",p);let s="";if(p.layer?s=p.layer.id:s=p.layer_id,!s)throw new TypeError("Missing layer_id for annotation deletion",p);const g=e.activeViewer.value.content.id,A=`${e.config.apiUrl}/timeseries/${g}/layers/${s}/annotations/${p.id}`;try{const _=await ue(),M=await fetch(`${A}?api_key=${_}`,{method:"DELETE",headers:{Accept:"application/json"}});if(!M.ok){const U=await M.text();throw new Error(`HTTP ${M.status}: ${U}`)}return e.deleteAnnotation(p),!0}catch(_){throw console.error("🔧 useTsAnnotation: Error deleting annotation:",_),he(_),_}},sortAnns:u,getChannelId:l}}const tt=(t,e)=>{const n=t.__vccOpts||t;for(const[r,l]of e)n[r]=l;return n},dn={id:"channelCanvas"},fn=["data-id"],vn=["hidden"],pn=["hidden"],hn={__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=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSScrubber-DBWjIhSE.cjs"))),r=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSViewerCanvas-gjfcQXDY.cjs")).then(i=>i.TSViewerCanvas)),l=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSViewerToolbar-ep_lZr6h.cjs"))),u=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSFilterModal-BVfwi0tb.cjs"))),y=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSAnnotationModal-BVDkiUQ1.cjs"))),m=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TsAnnotationDeleteDialog-BRIgCXxU.cjs"))),b=a.defineAsyncComponent(()=>Promise.resolve().then(()=>require("./TSViewerLayerWindow-D5j3_B1E.cjs"))),p={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},s=t,g=ve(s.instanceId),{viewerChannels:A,needsRerender:_}=ge.storeToRefs(g);a.provide("viewerStore",g),a.provide("viewerInstanceId",s.instanceId);const{addAnnotation:M,updateAnnotation:U,removeAnnotation:I}=cn(g),k=a.ref(null),E=a.ref(null),F=a.ref(null),v=a.ref(null),O=a.ref(null),V=a.ref(null),L=a.ref(null),R=a.ref(null),N=a.ref(0),Z=a.ref(0),x=a.ref(0),q=a.ref(0),J=a.ref(0),K=a.ref(0),re=a.ref(0),$=a.ref(1),Q=a.ref(1/10),X=a.ref(!1),ae=a.ref(!1),se=a.ref(null),ee=a.ref(!1),te=a.ref(!1),w=a.computed(()=>g.activeViewer),C=a.computed(()=>A.value.map(i=>({...i,selected:!!i.selected}))),z=a.computed(()=>C.value.filter(i=>i.visible)),H=a.computed(()=>{let i=!1;return K.value/Ce.value<30&&(i=!0),i}),Ce=a.computed(()=>z.value.length),le=async()=>{if(!k.value)return;const i=document.getElementById("ts_viewer");if(!i)return;const f=window.getComputedStyle(i,null),d=parseInt(f.getPropertyValue("height")),S=s.isPreview?0:100;N.value=d-S,await a.nextTick(),Z.value=k.value.offsetWidth;const W=F.value;W&&(re.value=W.clientWidth,J.value=Z.value-W.clientWidth-16,K.value=N.value-40)};a.watch(()=>w.value,async(i,f)=>{var d,S,W;(d=E.value)!=null&&d.resetComponentState&&E.value.resetComponentState(),i&&i.channels&&i.channels.length>0&&ke(),Le(),await a.nextTick(),(S=E.value)!=null&&S.initSegmentSpans&&E.value.initSegmentSpans(),(W=E.value)!=null&&W.getAnnotations&&E.value.getAnnotations()},{immediate:!1,deep:!0}),a.watch(Ce,(i,f)=>{f!==void 0&&i!==f&&setTimeout(()=>{var d;le(),(d=v.value)!=null&&d.renderAll&&v.value.renderAll()},20)});const Se=i=>{store.dispatch("viewerModule/setActiveAnnotation",i).then(()=>{v.value.renderAnnotationCanvas(),X.value=!0})};a.watch(_,i=>{i&&(a.nextTick(()=>{var f;i.cause==="channel-visibility"?setTimeout(()=>{var d;le(),(d=v.value)!=null&&d.renderAll&&v.value.renderAll()},10):(f=v.value)!=null&&f.renderAll&&v.value.renderAll()}),g.resetRerenderTrigger(null))},{deep:!0});const Ie=i=>{Se(i)},o=async i=>{if(!i||Object.keys(i).length===0){console.error("TSViewer: Received empty annotation!");return}if(!i.layer_id){console.error("TSViewer: annotation.layer_id is missing!",i);return}X.value=!1;try{i.id?(await U(i),c()):(await M(i),at())}catch(f){console.error("TSViewer: Error creating/updating annotation:",f),X.value=!0}},c=()=>{v.value.renderAnnotationCanvas()},h=i=>{se.value=i,ee.value=!0},j=async i=>{ee.value=!1;try{await I(i),oe()}catch(f){console.error("TSViewer: Error deleting annotation:",f)}},oe=()=>{v.value.renderAnnotationCanvas()},rt=(i,f,d,S,W,pe)=>{if(!pe||!pe.id){console.error("Invalid layer provided to onAddAnnotation:",pe);return}const Et=g.viewerSelectedChannels||[],Vt=d?[]:Et.map(kt=>kt.id),Ot={id:null,label:S||"Event",description:W||"",start:Math.floor(i),end:Math.floor(i+f),duration:Math.floor(f),channelIds:Vt,allChannels:d,layer_id:pe.id,selected:!0,userId:null};g.setActiveAnnotation(Ot),X.value=!0},at=()=>{v.value.renderAnnotationCanvas()},ot=i=>{v.value.createAnnotationLayer(i)},Ee=()=>{ae.value=!1},it=()=>{v.value.resetFocusedAnnotation(),v.value.renderAnnotationCanvas(),X.value=!1},st=()=>{te.value=!1},lt=i=>{i.stopPropagation(),i.preventDefault();const f=i.detail.sourceEvent.metaKey;Ve({channelId:i.currentTarget.dataset.id,append:f}),v.value.renderAll()},ut=()=>{x.value=v.value.getNextAnnotation()},ct=()=>{x.value=v.value.getPreviousAnnotation()},dt=i=>{Oe(i*1e6)},ft=()=>{$.value=$.value*1.25},vt=()=>{$.value=$.value*.8},pt=()=>{E.value.getAnnotations()},ht=()=>{},yt=()=>{const i=Math.max(x.value-.75*q.value,L.value);ie(i),a.nextTick(()=>{var f;(f=v.value)==null||f.renderAll()})},gt=()=>{const i=Math.min(x.value+.75*q.value,R.value-q.value);ie(i),a.nextTick(()=>{var f,d;(f=v.value)!=null&&f.invalidate&&v.value.invalidate(),(d=v.value)!=null&&d.renderAll&&v.value.renderAll()})},wt=i=>{let f=v.value.rsPeriod;ie(i.annotation.start-(Q.value*J.value-p.CURSOROFFSET)*f),a.nextTick(()=>{var d;(d=v.value)==null||d.renderAll()})},Ve=i=>{const f=A.value.map(d=>{const S=d.selected;return i.append===!1&&(d.selected=!1),i.channelId===d.id&&(d.selected=!S),d});g.setChannels(f)},mt=(i,f)=>{const d=A.value.map(S=>(f===!1&&(S.selected=!1),S.id in i&&(S.selected=!0),S));g.setChannels(d)},ie=i=>{x.value=i},At=i=>{Q.value=i},Ct=i=>{$.value=i},Oe=i=>{i>p.MAXDURATION?q.value=p.MAXDURATION:q.value=i},St=(i,f,d)=>(p.DEFAULTDPI*window.devicePixelRatio/(f*d)/25.4).toFixed(1)+" "+i.unit+"/mm",ke=()=>{var f;const i=(f=w.value)==null?void 0:f.channels;if(i&&i.length>0){L.value=i[0].start,R.value=i[0].end;for(let d=1;d<i.length;d++)i[d].start<L.value&&(L.value=i[d].start),i[d].end>R.value&&(R.value=i[d].end);x.value=L.value}},Tt=()=>{ke()},bt=i=>{ae.value=!0},_t=i=>{const f=de([],"channels",i),d=de("","filter",i),S=O.value;S.onChannels=f,en(d)?(S.input0=NaN,S.input1=NaN,S.selectedFilter=null,S.selectedNotch=null):(S.input0=d.input0,S.input1=d.input1),te.value=!0},It=i=>{v.value.setFilters(i)},Le=()=>{var i,f;(i=v.value)==null||i.initViewerCanvas(),(f=v.value)==null||f.renderAll()};return a.onMounted(()=>{Tt();const i=document.getElementById("ts_viewer");if(!i){console.warn("ts_viewer element not found");return}var f=window.getComputedStyle(i,null);const d=parseInt(f.getPropertyValue("height")),S=s.isPreview?0:100;N.value=d-S,k.value&&(Z.value=k.value.offsetWidth),window.addEventListener("resize",le);const W=F.value;W&&(re.value=W.clientWidth,J.value=Z.value-W.clientWidth-5-10,K.value=N.value-88),q.value=p.INITDURATION,Le()}),a.onBeforeUnmount(()=>{window.removeEventListener("resize",le),et(s.instanceId)}),e({openEditAnnotationDialog:Se,confirmDeleteAnnotation:h,selectAnnotation:wt,selectChannel:Ve,selectChannels:mt,openLayerWindow:bt,openFilterWindow:_t,setTimeseriesFilters:It}),(i,f)=>(a.openBlock(),a.createElementBlock("div",{id:"ts_viewer",ref_key:"ts_viewer",ref:k,class:a.normalizeClass([t.isPreview?"timeseries-viewer preview":"timeseries-viewer"])},[a.createVNode(a.unref(n),{ref_key:"scrubber",ref:E,ts_start:L.value,ts_end:R.value,"c-width":J.value,"label-width":re.value,"cursor-loc":Q.value,start:x.value,duration:q.value,constants:p,"active-viewer":w.value,onSetStart:ie},null,8,["ts_start","ts_end","c-width","label-width","cursor-loc","start","duration","active-viewer"]),a.createElementVNode("div",dn,[a.createElementVNode("div",{id:"channelLabels",ref_key:"channelLabels",ref:F},[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(z.value,d=>(a.openBlock(),a.createElementBlock("div",{key:d.displayName,class:"chLabelWrap","data-id":d.id,onTap:lt},[a.createElementVNode("div",{class:a.normalizeClass([d.selected?"labelDiv selected":"labelDiv"])},a.toDisplayString(d.displayName),3),a.createElementVNode("div",{class:a.normalizeClass(["chLabelIndWrap",[d.selected?"selected":""]]),hidden:H.value},[a.createElementVNode("div",{class:"chLabelInd",hidden:H.value},a.toDisplayString(St(d,$.value,d.rowScale)),9,pn)],10,vn)],40,fn))),128))],512),a.createVNode(a.unref(r),{ref_key:"viewerCanvas",ref:v,window_height:N.value,window_width:Z.value,duration:q.value,start:x.value,"c-width":J.value,"c-height":K.value,constants:p,"ts-start":L.value,"ts-end":R.value,"cursor-loc":Q.value,"global-zoom-mult":$.value,"active-viewer":w.value,onSetStart:ie,onSetCursor:At,onSetGlobalZoom:Ct,onSetDuration:Oe,onChannelsInitialized:ht,onAnnLayersInitialized:pt,onCloseAnnotationLayerWindow:Ee,onAddAnnotation:rt,onUpdateAnnotation:Ie},null,8,["window_height","window_width","duration","start","c-width","c-height","ts-start","ts-end","cursor-loc","global-zoom-mult","active-viewer"])]),t.isPreview?a.createCommentVNode("",!0):(a.openBlock(),a.createBlock(a.unref(l),{key:0,constants:p,duration:q.value,start:x.value,onPageBack:yt,onPageForward:gt,onIncrementZoom:ft,onDecrementZoom:vt,onUpdateDuration:dt,onNextAnnotation:ut,onPreviousAnnotation:ct,onSetStart:ie},null,8,["duration","start"])),a.createVNode(a.unref(u),{ref_key:"filterWindow",ref:O,visible:te.value,"onUpdate:visible":f[0]||(f[0]=d=>te.value=d),onCloseWindow:st},null,8,["visible"]),a.createVNode(a.unref(y),{ref_key:"annotationModal",ref:V,visible:X.value,"onUpdate:visible":f[1]||(f[1]=d=>X.value=d),onCloseWindow:it,onCreateUpdateAnnotation:o},null,8,["visible"]),a.createVNode(a.unref(m),{visible:ee.value,"delete-annotation":se.value,"onUpdate:visible":f[2]||(f[2]=d=>ee.value=d),onDelete:j},null,8,["visible","delete-annotation"]),a.createVNode(a.unref(b),{visible:ae.value,onCloseWindow:Ee,onCreateLayer:ot},null,8,["visible"])],2))}},nt=tt(hn,[["__scopeId","data-v-b1697a76"]]);function yn(t="default"){const e=ve(t),{viewerChannels:n,viewerAnnotations:r,viewerActiveTool:l,viewerSelectedChannels:u,activeAnnotation:y,activeAnnotationLayer:m,viewerMontageScheme:b,viewerErrors:p,config:s,activeViewer:g}=ge.storeToRefs(e),A=a.readonly(n),_=a.computed(()=>u.value),M=a.readonly(r),U=a.readonly(l),I=a.readonly(b),k=a.readonly(p),E=a.readonly(s),F=a.readonly(g);return{channels:A,selectedChannels:_,annotations:M,activeTool:U,montageScheme:I,errors:k,viewerConfig:E,viewer:F,getChannel:w=>n.value.find(C=>C.id===w),getAnnotation:w=>e.getAnnotationById(w),getActiveLayer:()=>e.getViewerActiveLayer(),getVisibleChannels:()=>n.value.filter(w=>w.visible),getState:()=>({channels:n.value,selectedChannels:u.value,annotations:r.value,activeLayer:e.getViewerActiveLayer(),activeTool:l.value,montageScheme:b.value,errors:p.value}),selectChannels:(w,C=!1)=>{const z=n.value.map(H=>({...H,selected:C?H.selected:!1}));z.forEach(H=>{w.includes(H.id)&&(H.selected=!0)}),e.setChannels(z)},clearChannelSelection:()=>{const w=n.value.map(C=>({...C,selected:!1}));e.setChannels(w)},toggleChannelVisibility:w=>{const C=n.value.find(z=>z.id===w);C&&(e.updateChannelVisibility(w,!C.visible),e.triggerRerender("channel-visibility"))},setChannelVisibility:(w,C)=>{e.updateChannelVisibility(w,C),e.triggerRerender("channel-visibility")},showAllChannels:()=>{n.value.forEach(w=>{e.updateChannelVisibility(w.id,!0)}),e.triggerRerender("channel-visibility")},hideAllChannels:()=>{n.value.forEach(w=>{e.updateChannelVisibility(w.id,!1)}),e.triggerRerender("channel-visibility")},selectAnnotation:w=>{const C=e.getAnnotationById(w);C&&e.setActiveAnnotation(C)},setActiveLayer:w=>{e.setActiveAnnotationLayer(w)},toggleLayerVisibility:w=>{const C=r.value.find(z=>z.id===w);C&&(C.visible=!C.visible,e.updateLayer(C),e.triggerRerender("layer-visibility"))},setActiveTool:w=>{e.setActiveTool(w)},setConfig:w=>{e.setViewerConfig(w)},setActiveViewer:w=>{e.setActiveViewer(w)},triggerRerender:(w="external")=>{e.triggerRerender(w)},reset:()=>{e.resetViewer()},store:e}}const gn={install(t){t.component("TSViewer",nt)}};exports.TSViewer=nt;exports._arity=we;exports._curry1=P;exports._curry2=D;exports._curry3=fe;exports._dispatchable=Xe;exports._export_sfc=tt;exports._isInteger=Je;exports._isPlaceholder=T;exports._reduce=He;exports._reduced=ze;exports._xfBase=Ge;exports.clearAllViewerStores=rn;exports.clearViewerStore=et;exports.createViewerStore=ve;exports.defaultTo=ce;exports.index=gn;exports.keys=be;exports.nth=Ye;exports.propEq=B;exports.propOr=de;exports.useHandleXhrError=he;exports.useSendXhr=un;exports.useToken=ue;exports.useViewerControls=yn;exports.useViewerStore=an;
|
package/dist/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-
|
|
1
|
+
"use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("./index-C-i9Taq7.cjs");exports.TSViewer=e.TSViewer;exports.clearAllViewerStores=e.clearAllViewerStores;exports.clearViewerStore=e.clearViewerStore;exports.createViewerStore=e.createViewerStore;exports.default=e.index;exports.useViewerControls=e.useViewerControls;exports.useViewerStore=e.useViewerStore;
|
package/dist/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const r=require("./index-
|
|
1
|
+
"use strict";const r=require("./index-C-i9Taq7.cjs");var h=r._curry2(function(t,n){return t.map(function(a){for(var u=n,i=0,e;i<a.length;){if(u==null)return;e=a[i],u=r._isInteger(e)?r.nth(e,u):u[e],i+=1}return u})}),p=r._curry2(function(t,n){return h([t],n)[0]}),v=r._curry3(function(t,n,a){return r.defaultTo(t,p(n,a))});exports.pathOr=v;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { b as i, n as o, q as h, r as s, o as f } from "./index-
|
|
1
|
+
import { b as i, n as o, q as h, r as s, o as f } from "./index-BU6e_1Ww.js";
|
|
2
2
|
var v = /* @__PURE__ */ i(function(r, a) {
|
|
3
3
|
return r.map(function(n) {
|
|
4
4
|
for (var t = a, e = 0, u; e < n.length; ) {
|