@getontime/cli
Version:
Time keeping for live events
3 lines (2 loc) • 30.9 kB
JavaScript
import{y as Xe,r as f,j as e,f as Z,aw as fe,ax as Ye,ay as he,az as et,aA as tt,aB as nt,aC as st,aD as ot,at as re,aE as X,N as it,aF as at,aG as rt,aH as lt,aI as ct,aJ as ve,aK as pe,S as xe,x as ut,aL as dt,ah as mt,am as ft,C as Se,aM as B,aN as Ee,aO as ht,aP as pt,aQ as ge,aR as _e,aS as ke,l as xt,aT as we,aU as gt,aV as Ct,aW as yt,I as bt}from"./vendor-DFNUfA2K.js";import{P as jt}from"./ProtectRoute-CmcGN6gV.js";import{c as vt,a_ as St,a$ as le,af as Te,w as F,B as I,i as Y,g as L,b0 as E,E as Ce,b1 as Et,aA as Q,b2 as oe,b3 as ie,ai as ee,b4 as _t,s as kt,m as wt,ax as ne,al as Tt,au as It,O as Rt,P as Ie,b5 as J,b6 as Mt,b7 as Dt,aZ as Nt}from"./index-BNit4nUw.js";import{C as O,u as Ot}from"./useWindowTitle-Bgl000Se.js";import{T as Re,O as Me,S as zt,M as Pt,C as Wt}from"./TimeElements-DystPWQS.js";import{O as De,T as $t,u as D,G as Bt}from"./OverviewWrapper-qXI8MQqb.js";import{M as Ne,P as Ft}from"./DropdownMenu-BV41kjSA.js";import{f as Lt,i as W,h as Oe,g as ce,S as A,l as At,u as Ht}from"./useRundown-DgZv-crd.js";import{s as ye,E as Kt,G as Ut,u as ze,T as Pe,A as Gt}from"./GroupEditor-Fr9zvH2i.js";import{M as Vt}from"./MultiPartProgressBar-BiSyJr2f.js";import{E as Qt}from"./EmptyPage-dVRQ987V.js";import{u as Jt}from"./useCustomFields-C60U2vqf.js";import{T as We}from"./validateEvent-d8SZfbc8.js";import{D as q}from"./DelayIndicator-BLygKI9P.js";import{p as $e}from"./parseUserTime-COEUAmmZ.js";import{m as qt,u as Be}from"./dateConfig-B62K3AL_.js";import{a as Zt}from"./useFollowComponent-2C-gde3X.js";import{S as Fe,L as k}from"./EditorUtils-QotOv0b5.js";import{P as Le}from"./useProjectData-BfKJevmX.js";import"./Tooltip-CMnbeNS3.js";import"./offset-DC4blUxG.js";import"./playbackstate-DRK4geZP.js";import"./Select-Bp_h4xvR.js";import"./TimeInput-BWc6ixac.js";import"./editorSettings-CK-Psf7E.js";import"./getProgress-Dgt_8BYF.js";import"./Empty-BLJKwoJq.js";import"./isNewLatest-Bui5Tm3U.js";(function(){try{var t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},n=new t.Error().stack;n&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[n]="21eac12d-dc9a-462f-a649-7a3870fa1a53",t._sentryDebugIdIdentifier="sentry-dbid-21eac12d-dc9a-462f-a649-7a3870fa1a53")}catch{}})();function Xt(){const{width:t}=Xe();return f.useMemo(()=>t<800,[t])}const Yt=f.memo(en);function en({children:t}){return Xt()?e.jsx(tn,{children:t}):e.jsx(nn,{children:t})}function tn({children:t}){return e.jsxs(De,{navElements:t,children:[e.jsx(Re,{}),e.jsx(Me,{})]})}function nn({children:t}){return e.jsxs(De,{navElements:t,children:[e.jsx($t,{}),e.jsx(zt,{}),e.jsx(Re,{}),e.jsx(Me,{}),e.jsx(Pt,{}),e.jsx(Wt,{})]})}function sn({entryId:t}){const{data:n}=Lt(),[s,i]=f.useState(null);return f.useEffect(()=>{if(n.order.length===0){i(null);return}const a=n.entries[t];i(a||null)},[t,n.order,n.entries]),W(s)?e.jsx("div",{className:ye.entryEditor,"data-testid":"editor-container",children:e.jsx(Kt,{event:s})}):Oe(s)?e.jsx("div",{className:ye.inModal,"data-testid":"editor-container",children:e.jsx(Ut,{group:s})}):null}const ae=Z(t=>({selectedEntryId:null,setEditableEntry:n=>t({selectedEntryId:n}),clearSelection:()=>t({selectedEntryId:null})})),on=f.memo(an);function an(){const t=ae(s=>s.selectedEntryId),n=ae(s=>s.clearSelection);return t===null?null:e.jsx(Ne,{isOpen:!0,onClose:n,title:"Edit entry",showCloseButton:!0,bodyElements:e.jsx(sn,{entryId:t})})}const rn="_progressOverride_av4z0_17",ln={progressOverride:rn};function cn(){const{data:t}=vt(),{current:n,duration:s,timeWarning:i,timeDanger:a}=St();return e.jsx(Vt,{now:n,complete:s,normalColor:t.normalColor,warning:i,warningColor:t.warningColor,danger:a,dangerColor:t.dangerColor,className:ln.progressOverride,ignoreCssOverride:!0})}function un(t,n){let s;return(...i)=>{s&&clearTimeout(s),s=setTimeout(()=>{s=null,t(...i)},n)}}const Ae=le("cuesheet-sizes"),dn=le("cuesheet-hidden"),mn=le("cuesheet-order"),fn=un(t=>{localStorage.setItem(Ae,JSON.stringify(t))},500);function He(t){const[n,s]=fe({key:dn,defaultValue:{}}),[i,a]=fe({key:mn,defaultValue:t.map(r=>r.id)}),[o,d]=f.useState(()=>{try{const r=localStorage.getItem(Ae);return r?JSON.parse(r):{}}catch{return{}}});f.useEffect(()=>{fn(o)},[o]);const c=f.useCallback(r=>{d(r)},[]);f.useEffect(()=>{const r=t.map(l=>l.id);r.some(l=>!i.includes(l))&&a(r)},[i,t,a]);const u=f.useCallback(()=>{a(t.map(r=>r.id))},[t,a]);return{columnVisibility:n,columnOrder:i,columnSizing:o,resetColumnOrder:u,setColumnVisibility:s,saveColumnOrder:a,setColumnSizing:c}}function hn({columns:t,children:n}){const{columnOrder:s,saveColumnOrder:i}=He(t),a=Ye(he(st,{activationConstraint:{delay:100,tolerance:50}}),he(nt,{activationConstraint:{delay:100,tolerance:50}})),o=d=>{const{delta:c,active:u,over:r}=d;if(c.y>200||(r==null?void 0:r.id)==null)return;const l=s.indexOf(u.id),m=s.indexOf(r.id);if(m===-1)return;const h=[...s],x=h.splice(l,1);h.splice(m,0,x[0]),i(h)};return e.jsx(et,{sensors:a,collisionDetection:tt,onDragEnd:o,children:n})}const Ke=f.forwardRef(({initialValue:t,allowSubmitSameValue:n,handleUpdate:s,handleCancelUpdate:i},a)=>{const o=f.useRef(null),d=f.useCallback(m=>s(m),[s]),{value:c,onChange:u,onBlur:r,onKeyDown:l}=ze(t,d,o,{allowSubmitSameValue:n,allowKeyboardNavigation:!0,submitOnEnter:!0,submitOnCtrlEnter:!0,onCancelUpdate:i});return f.useImperativeHandle(a,()=>({focus(){var m;(m=o.current)==null||m.focus()},select(){var m;(m=o.current)==null||m.select()},focusParentElement(){var m,h;(h=(m=o.current)==null?void 0:m.parentElement)==null||h.focus()}}),[o]),e.jsx(Te,{ref:o,variant:"ghosted",fluid:!0,value:c,onChange:u,onBlur:r,onKeyDown:l})});Ke.displayName="SingleLineCell";const ue=f.memo(Ke),pn=f.memo(xn);function xn({initialValue:t,lockedValue:n,delayed:s,onSubmit:i,children:a}){const[o,d]=f.useState(!1),[c,u]=f.useState(t),r=f.useRef(null),l=f.useRef(null);f.useEffect(()=>{o&&r.current&&(r.current.focus(),r.current.select())},[o]),f.useEffect(()=>{o||u(t)},[t,o]);const m=()=>d(!0),h=()=>{d(!1),setTimeout(()=>{var p;return(p=l.current)==null?void 0:p.focusParentElement()})},x=f.useCallback(p=>{var C,j,S;if(d(!1),p===""){i(p),(C=r.current)==null||C.focusParentElement();return}if(p.startsWith("p")||p.startsWith("+")){i(p),(j=r.current)==null||j.focusParentElement();return}const b=$e(p);if(b<0||isNaN(b)){u(t),setTimeout(()=>{var y;return(y=l.current)==null?void 0:y.focusParentElement()});return}if(b===t&&n){(S=r.current)==null||S.focusParentElement();return}i(p),u(Number(p)),setTimeout(()=>{var y;return(y=l.current)==null?void 0:y.focusParentElement()})},[t,n,i]),g=F(c);return o?e.jsx(ue,{ref:r,initialValue:g,allowSubmitSameValue:!n,handleUpdate:x,handleCancelUpdate:h}):e.jsx(Pe,{onClick:m,onFocus:m,muted:!n,offset:s?"over":void 0,ref:l,children:a})}const gn="_imageInput_1dtk5_17",Cn="_imageCell_1dtk5_24",yn="_overlay_1dtk5_28",bn="_image_1dtk5_17",U={imageInput:gn,imageCell:Cn,overlay:yn,image:bn},jn=f.memo(vn);function vn({initialValue:t,readOnly:n,updateValue:s}){const i=o=>{o!==t&&(o!==""&&!o.startsWith("http")||s(o))},a=()=>{t&&window.open(t,"_blank","noopener,noreferrer")};return t?e.jsxs("div",{className:U.imageCell,children:[!n&&e.jsxs("div",{className:U.overlay,children:[e.jsx(I,{onClick:a,children:"Preview"}),e.jsx(I,{variant:"subtle-destructive",onClick:()=>i(""),children:"Delete"})]}),!!t&&e.jsx("img",{loading:"lazy",src:t,className:U.image})]}):e.jsx(Te,{variant:"ghosted",className:U.imageInput,fluid:!0,readOnly:n,disabled:n,placeholder:"Paste image URL",onBlur:o=>i(o.currentTarget.value),onKeyDown:o=>{o.key==="Enter"&&i(o.currentTarget.value)},defaultValue:t})}const Sn="_flag_qc1zd_17",En={flag:Sn};function _n(){return e.jsx("div",{className:En.flag,children:e.jsx(ot,{})})}const kn="_ghostedText_dn79y_17",wn={ghostedText:kn};function de({children:t}){return e.jsx("div",{className:wn.ghostedText,children:t})}const Ue=f.memo(Tn);function Tn({initialValue:t,handleUpdate:n}){const s=f.useRef(null),i=f.useCallback(u=>n(u),[n]),{value:a,onChange:o,onBlur:d,onKeyDown:c}=ze(t,i,s,{submitOnCtrlEnter:!0,allowKeyboardNavigation:!0});return e.jsx(Gt,{inputref:s,variant:"ghosted",fluid:!0,rows:1,value:a,onChange:o,onBlur:d,onKeyDown:c,spellCheck:!1})}const In="_muted_1u021_17",Rn="_numeric_1u021_22",be={muted:In,numeric:Rn};function P({numeric:t,children:n}){return e.jsx("span",{className:Y([be.muted,t&&be.numeric]),children:n})}const Ge=f.memo(Mn);function Mn({initialValue:t,lockedValue:n,delayed:s,onSubmit:i,children:a}){const[o,d]=f.useState(!1),[c,u]=f.useState(t),r=f.useRef(null),l=f.useRef(null);f.useEffect(()=>{o&&r.current&&(r.current.focus(),r.current.select())},[o]),f.useEffect(()=>{o||u(t)},[t,o]);const m=()=>d(!0),h=()=>{d(!1),setTimeout(()=>{var p;return(p=l.current)==null?void 0:p.focusParentElement()})},x=f.useCallback(p=>{var C,j,S;if(d(!1),p===""){i(p),(C=r.current)==null||C.focusParentElement();return}if(p.startsWith("p")||p.startsWith("+")){i(p),(j=r.current)==null||j.focusParentElement();return}const b=$e(p);if(b<0||isNaN(b)){u(t),setTimeout(()=>{var y;return(y=l.current)==null?void 0:y.focusParentElement()});return}if(b===t&&n){(S=r.current)==null||S.focusParentElement();return}i(p),u(Number(p)),setTimeout(()=>{var y;return(y=l.current)==null?void 0:y.focusParentElement()})},[t,n,i]),g=L(c);return o?e.jsx(ue,{ref:r,initialValue:g,allowSubmitSameValue:!n,handleUpdate:x,handleCancelUpdate:h}):e.jsx(Pe,{onClick:m,onFocus:m,muted:!n,offset:s?"over":void 0,ref:l,children:a})}function Dn({getValue:t,row:n,table:s,column:i}){var p;if(!s.options.meta)return null;const{showDelayedTimes:a,hideTableSeconds:o}=s.options.meta.options,d=o?{format12:"hh:mm a",format24:"HH:mm"}:void 0,c=n.original;if(!W(c))return e.jsx(P,{numeric:!0,children:L(t(),d)});const{handleUpdateTimer:u}=s.options.meta,r=b=>u(n.original.id,"timeStart",b),l=t(),m=!c.linkStart,h=a?l+c.delay:l,x=L(h,d);return((p=i.columnDef.meta)==null?void 0:p.canWrite)?e.jsxs(Ge,{initialValue:l,onSubmit:r,lockedValue:m,delayed:c.delay!==0,children:[x,e.jsx(q,{delayValue:c.delay,tooltipPrefix:F(l)})]}):e.jsxs(P,{numeric:!0,children:[x,e.jsx(q,{delayValue:c.delay,tooltipPrefix:F(l)})]})}function Nn({getValue:t,row:n,table:s,column:i}){var p;if(!s.options.meta)return null;const{showDelayedTimes:a,hideTableSeconds:o}=s.options.meta.options,d=o?{format12:"hh:mm a",format24:"HH:mm"}:void 0,c=n.original;if(!W(c))return e.jsx(P,{numeric:!0,children:L(t(),d)});const{handleUpdateTimer:u}=s.options.meta,r=b=>u(n.original.id,"timeEnd",b),l=t(),m=c.timeStrategy===We.LockEnd,h=a?l+c.delay:l,x=L(h,d);return((p=i.columnDef.meta)==null?void 0:p.canWrite)?e.jsxs(Ge,{initialValue:l,onSubmit:r,lockedValue:m,delayed:c.delay!==0,children:[x,e.jsx(q,{delayValue:c.delay,tooltipPrefix:F(l)})]}):e.jsxs(P,{numeric:!0,children:[x,e.jsx(q,{delayValue:c.delay,tooltipPrefix:F(l)})]})}function On({getValue:t,row:n,table:s,column:i}){var h;if(!s.options.meta)return null;const{hideTableSeconds:a}=s.options.meta.options,o=n.original;if(!W(o))return e.jsx(P,{numeric:!0,children:Ce(t(),a)});const{handleUpdateTimer:d}=s.options.meta,c=x=>d(n.original.id,"duration",x),u=t(),r=o.timeStrategy===We.LockDuration,l=Ce(u,a);return((h=i.columnDef.meta)==null?void 0:h.canWrite)?e.jsx(pn,{initialValue:u,onSubmit:c,lockedValue:r,children:l}):e.jsx(P,{numeric:!0,children:l})}function zn({row:t,column:n,table:s}){var d;const i=f.useCallback(c=>{var u;(u=s.options.meta)==null||u.handleUpdate(t.index,n.id,c,!1)},[n.id,t.index,s.options.meta]),a=t.original[n.id];return a===void 0?null:((d=n.columnDef.meta)==null?void 0:d.canWrite)?e.jsx(Ue,{initialValue:a,handleUpdate:i}):e.jsx(de,{children:a})}function Pn({row:t,column:n,table:s}){var c;const i=f.useCallback(u=>{var r;(r=s.options.meta)==null||r.handleUpdate(t.index,n.id,u,!0)},[n.id,t.index,s.options.meta]),a=t.original;if(ce(a))return null;const o=(c=n.columnDef.meta)==null?void 0:c.canWrite,d=a.custom[n.id];return e.jsx(jn,{initialValue:d,updateValue:i,readOnly:!o})}function je({row:t,column:n,table:s}){var d;const i=f.useCallback(c=>{var u;(u=s.options.meta)==null||u.handleUpdate(t.index,n.id,c,!1)},[n.id,t.index,s.options.meta]),a=t.original[n.id];return a===void 0?null:((d=n.columnDef.meta)==null?void 0:d.canWrite)?e.jsx(ue,{initialValue:a,handleUpdate:i}):e.jsx(de,{children:a})}function Wn({row:t}){const n=t.original;return!W(n)||!n.flag?null:e.jsx(_n,{})}function $n({row:t,column:n,table:s}){var c;const i=f.useCallback(u=>{var r;(r=s.options.meta)==null||r.handleUpdate(t.index,n.id,u,!0)},[n.id,t.index,s.options.meta]),a=t.original;if(ce(a))return null;const o=a.custom[n.id]??"";return((c=n.columnDef.meta)==null?void 0:c.canWrite)?e.jsx(Ue,{initialValue:o,handleUpdate:i}):e.jsx(de,{children:o})}function Bn(t,n,s){var h,x,g,p;const i=[],a=n===E.Edit,o=s?((h=s.options)==null?void 0:h.read)==="full":!0,d=s?((x=s.options)==null?void 0:x.write)==="full":!0,c=(g=s==null?void 0:s.options)!=null&&g.write?new Set(s.options.write.split(",")):new Set,u=(p=s==null?void 0:s.options)!=null&&p.read?new Set(s.options.read.split(",")):new Set,r=b=>o||u.has(b),l=b=>a&&(d||c.has(b));r("flag")&&i.push({accessorKey:"flag",id:"flag",header:"Flag",cell:Wn,size:45,minSize:45,meta:{canWrite:l("flag")}}),r("cue")&&i.push({accessorKey:"cue",id:"cue",header:"Cue",cell:je,size:75,minSize:40,meta:{canWrite:l("cue")}}),r("timeStart")&&i.push({accessorKey:"timeStart",id:"timeStart",header:"Start",cell:Dn,size:75,minSize:75,meta:{canWrite:l("timeStart")}}),r("timeEnd")&&i.push({accessorKey:"timeEnd",id:"timeEnd",header:"End",cell:Nn,size:75,minSize:75,meta:{canWrite:l("timeEnd")}}),r("duration")&&i.push({accessorKey:"duration",id:"duration",header:"Duration",cell:On,size:75,minSize:75,meta:{canWrite:l("duration")}}),r("title")&&i.push({accessorKey:"title",id:"title",header:"Title",cell:je,size:250,minSize:75,meta:{canWrite:l("title")}}),r("note")&&i.push({accessorKey:"note",id:"note",header:"Note",cell:zn,size:250,minSize:75,meta:{canWrite:l("note")}});const m=Object.keys(t);for(let b=0;b<m.length;b++){const C=m[b],j=`custom-${C}`;r(j)&&i.push({accessorKey:C,id:C,header:t[C].label,cell:t[C].type==="text"?$n:Pn,size:250,minSize:75,meta:{colour:t[C].colour,canWrite:l(j)}})}return i}const Fn="_emptyContainer_1dp7m_17",Ln="_emptyCell_1dp7m_21",An="_empty_1dp7m_17",Hn="_text_1dp7m_30",G={emptyContainer:Fn,emptyCell:Ln,empty:An,text:Hn};function Kn({text:t}){return e.jsx("tbody",{className:G.emptyContainer,children:e.jsx("tr",{children:e.jsxs("td",{colSpan:99,className:G.emptyCell,children:[e.jsx(Et,{className:G.empty}),t&&e.jsx("span",{className:G.text,children:t})]})})})}const Un="_delayRow_ky5pn_112",Gn={delayRow:Un};function Vn({duration:t,parentBgColour:n}){const s=qt(t,"expanded");return e.jsx("tr",{className:Gn.delayRow,style:{"--user-bg":n??"transparent"},"data-testid":"cuesheet-delay",children:e.jsx("td",{tabIndex:0,role:"cell",children:s})})}const Qn=f.memo(Vn),te=Z(t=>({isOpen:!1,entryId:null,entryType:null,entryIndex:null,parentId:null,position:{x:0,y:0},flag:null,openMenu:(n,s,i,a,o,d)=>t({isOpen:!0,position:n,entryId:s,entryType:i,entryIndex:a,parentId:o,flag:d}),closeMenu:()=>t({isOpen:!1})})),Ve=Z(t=>({visibleRows:new Set,addVisibleRow:n=>t(s=>({visibleRows:new Set(s.visibleRows).add(n)})),removeVisibleRow:n=>t(s=>{const i=new Set(s.visibleRows);return i.delete(n),{visibleRows:i}})}));let M=null;function Qe(){if(!M){const t={root:null,rootMargin:"400px 0px",threshold:.25},n=s=>{const i=Ve.getState();s.forEach(a=>{const o=a.target.id;a.isIntersecting?i.addVisibleRow(o):i.removeVisibleRow(o)})};M=new IntersectionObserver(n,t)}return M}function Jn(t){Qe().observe(t)}function qn(t){Qe().unobserve(t)}function Zn(){M==null||M.disconnect(),M=null}const Xn="_actionColumn_1nmuv_59",Yn="_indexColumn_1nmuv_68",es="_eventRow_1nmuv_112",ts="_firstAfterGroup_1nmuv_122",ns="_skip_1nmuv_125",N={actionColumn:Xn,indexColumn:Yn,eventRow:es,firstAfterGroup:ts,skip:ns};function ss({rowId:t,event:n,eventIndex:s,rowIndex:i,isPast:a,selectedRef:o,rowBgColour:d,parentBgColour:c,table:u,firstAfterGroup:r}){var S;const{cuesheetMode:l,hideIndexColumn:m}=((S=u.options.meta)==null?void 0:S.options)??{cuesheetMode:E.Edit,hideIndexColumn:!1},h=f.useRef(null),x=Ve(y=>y.visibleRows.has(t)),g=te(y=>y.openMenu);f.useEffect(()=>{const y=h.current;return y&&(y.id=t,Jn(y)),()=>{y&&qn(y)}},[t]);const{color:p,backgroundColor:b}=Q(n.colour),C=oe(p),j=ie({...C,alpha:C.alpha*.8});return e.jsxs("tr",{id:t,className:Y([N.eventRow,n.skip&&N.skip,r&&N.firstAfterGroup,!!c&&N.hasParent]),style:{opacity:`${a?"0.2":"1"}`,"--user-bg":c??"transparent"},ref:o??h,"data-testid":"cuesheet-event",children:[l===E.Edit&&e.jsx("td",{className:N.actionColumn,tabIndex:-1,role:"cell",children:e.jsx(ee,{"aria-label":"Options",variant:"ghosted-white",size:"small",onClick:y=>{const $=y.currentTarget.getBoundingClientRect(),H=8+$.y+$.height/2;g({x:$.x,y:H},n.id,A.Event,i,n.parent,n.flag)},children:e.jsx(re,{})})}),!m&&e.jsx("td",{className:N.indexColumn,style:{backgroundColor:b,color:j},tabIndex:-1,role:"cell",children:s}),x?u.getRow(t).getVisibleCells().map(y=>e.jsx("td",{style:{width:`calc(var(--col-${y.column.id}-size) * 1px)`,backgroundColor:d},tabIndex:-1,role:"cell",children:X(y.column.columnDef.cell,y.getContext())},y.id)):null]})}const os="_actionColumn_2xym5_59",is="_indexColumn_2xym5_68",as="_groupRow_2xym5_112",se={actionColumn:os,indexColumn:is,groupRow:as};function rs({groupId:t,colour:n,hidePast:s,rowId:i,rowIndex:a,table:o}){var l;const{currentGroupId:d}=_t(),{cuesheetMode:c,hideIndexColumn:u}=((l=o.options.meta)==null?void 0:l.options)??{cuesheetMode:E.Edit,hideIndexColumn:!1},r=te(m=>m.openMenu);return s&&!d?null:e.jsxs("tr",{className:se.groupRow,style:{"--user-bg":n},"data-testid":"cuesheet-group",children:[c===E.Edit&&e.jsx("td",{className:se.actionColumn,tabIndex:-1,role:"cell",children:e.jsx(ee,{"aria-label":"Options",variant:"ghosted-white",size:"small",onClick:m=>{const h=m.currentTarget.getBoundingClientRect(),x=8+h.y+h.height/2;r({x:h.x,y:x},t,A.Group,a,null,null)},children:e.jsx(re,{})})}),!u&&e.jsx("td",{className:se.indexColumn,tabIndex:-1,role:"cell"}),o.getRow(i).getVisibleCells().map(m=>e.jsx("td",{tabIndex:-1,style:{width:`calc(var(--col-${m.column.id}-size) * 1px)`},role:"cell",children:X(m.column.columnDef.cell,m.getContext())},m.id))]})}const ls="_actionColumn_1iul8_59",cs="_indexColumn_1iul8_68",us="_milestoneRow_1iul8_112",V={actionColumn:ls,indexColumn:cs,milestoneRow:us};function ds({entryId:t,isPast:n,parentBgColour:s,parentId:i,rowBgColour:a,rowId:o,rowIndex:d,table:c}){var m;const{cuesheetMode:u,hideIndexColumn:r}=((m=c.options.meta)==null?void 0:m.options)??{cuesheetMode:E.Edit,hideIndexColumn:!1},l=te(h=>h.openMenu);return e.jsxs("tr",{className:Y([V.milestoneRow,!!s&&V.hasParent]),style:{opacity:`${n?"0.2":"1"}`,"--user-bg":s??"transparent"},"data-testid":"cuesheet-milestone",children:[u===E.Edit&&e.jsx("td",{className:V.actionColumn,tabIndex:-1,role:"cell",children:e.jsx(ee,{"aria-label":"Options",variant:"ghosted-white",size:"small",onClick:h=>{const x=h.currentTarget.getBoundingClientRect(),g=8+x.y+x.height/2;l({x:x.x,y:g},t,A.Milestone,d,i,null)},children:e.jsx(re,{})})}),!r&&e.jsx("td",{className:V.indexColumn,tabIndex:-1,role:"cell",children:kt}),c.getRow(o).getVisibleCells().map(h=>{const x=h.column.id!=="duration"&&h.column.id!=="timeStart"&&h.column.id!=="timeEnd";return e.jsx("td",{style:{width:`calc(var(--col-${h.column.id}-size) * 1px)`,backgroundColor:a},tabIndex:-1,role:"cell",children:x&&X(h.column.columnDef.cell,h.getContext())},h.id)})]})}function Je({rowModel:t,selectedRef:n,table:s}){const i=it(),{selectedEventId:a}=wt(),o=D(l=>l.hidePast),d=D(l=>l.hideDelays);let c=0,u=!!a,r=!1;return f.useEffect(()=>()=>{Zn()},[]),t.rows.length===0?e.jsx(Kn,{text:"No data in rundown"}):e.jsx("tbody",{children:t.rows.map((l,m)=>{const h=l.original.id,x=a===h,g=l.original;if(x&&(u=!1),Oe(g))return e.jsx(rs,{groupId:g.id,colour:g.colour,hidePast:u&&o,rowId:l.id,rowIndex:l.index,table:s},h);if(ce(g)){if(u&&o)return null;const p=g.duration;if(d||p===0)return null;let b=null;if(g.parent){const C=i.getQueryData(ne),j=C==null?void 0:C.entries[g.parent];b=(j==null?void 0:j.colour)??null}return e.jsx(Qn,{duration:p,parentBgColour:b},h)}if(At(g)){if(u&&o)return null;let p;if(g.colour){const C=oe(Q(g.colour).backgroundColor);C!==null&&(p=ie({...C,alpha:C.alpha*.25}))}let b=null;if(g.parent){const C=i.getQueryData(ne),j=C==null?void 0:C.entries[g.parent];b=(j==null?void 0:j.colour)??null}return e.jsx(ds,{entryId:g.id,isPast:u,parentBgColour:b,parentId:g.parent,rowBgColour:p,rowId:l.id,rowIndex:m,table:s},h)}if(W(g)){c++;const p=h===a;if(u&&o)return null;let b;if(p)b="#087A27";else if(g.colour){const S=oe(Q(g.colour).backgroundColor);S!==null&&(b=ie({...S,alpha:S.alpha*.25}))}let C,j=!1;if(g.parent){const S=i.getQueryData(ne),y=S==null?void 0:S.entries[g.parent];C=y==null?void 0:y.colour,r=!0}else r&&(j=!0,r=!1);return e.jsx(ss,{rowId:l.id,event:g,eventIndex:c,rowIndex:m,isPast:u,selectedRef:p?n:void 0,rowBgColour:b,parentBgColour:C,table:s,firstAfterGroup:j},l.id)}return null})})}const ms="_cuesheetContainer_ra6ni_17",fs="_cuesheet_ra6ni_17",hs="_resizer_ra6ni_40",ps="_actionColumn_ra6ni_59",xs="_indexColumn_ra6ni_68",gs="_tableHeader_ra6ni_79",z={cuesheetContainer:ms,cuesheet:fs,resizer:hs,actionColumn:ps,indexColumn:xs,tableHeader:gs};function Cs({header:t,injectedStyles:n,children:s}){const{column:i,colSpan:a}=t,{attributes:o,listeners:d,setNodeRef:c,transform:u,transition:r,isDragging:l}=at({id:i.id}),m={...n,zIndex:l?2:"inherit",cursor:l?"grabbing":"grab",transform:rt.Translate.toString(u),transition:r};return e.jsxs("th",{ref:c,style:m,colSpan:a,tabIndex:-1,children:[e.jsx("div",{...o,...d,children:s}),e.jsx("div",{onDoubleClick:()=>t.column.resetSize(),onMouseDown:t.getResizeHandler(),onTouchStart:t.getResizeHandler(),className:z.resizer})]})}function ys({headerGroups:t,cuesheetMode:n}){const s=D(i=>i.hideIndexColumn);return e.jsx("thead",{className:z.tableHeader,children:t.map(i=>{const a=i.id;return e.jsxs("tr",{children:[n===E.Edit&&e.jsx("th",{className:z.actionColumn,tabIndex:-1}),!s&&e.jsx("th",{className:z.indexColumn,tabIndex:-1,children:"#"}),e.jsx(lt,{items:i.headers,strategy:ct,children:i.headers.map(o=>{var r,l;const d=(r=o.column.columnDef.meta)==null?void 0:r.colour,u={opacity:((l=o.column.columnDef.meta)==null?void 0:l.canWrite)?1:.6};if(d){const m=Q(d);u.backgroundColor=m.backgroundColor,u.color=m.color}return e.jsx(Cs,{header:o,injectedStyles:{width:`calc(var(--header-${o==null?void 0:o.id}-size) * 1px)`,...u},children:o.isPlaceholder?null:X(o.column.columnDef.header,o.getContext())},o.column.columnDef.id)})},a)]},i.id)})})}const me=Z(t=>({canChangeMode:!1,canCreateEntries:!1,canEditEntries:!1,canFlag:!1,canShare:!1,setPermissions(n){t({canChangeMode:n.canChangeMode,canFlag:n.canFlag,canCreateEntries:n.canCreateEntries,canEditEntries:n.canEditEntries,canShare:n.canShare})}})),bs=f.memo(js);function js(){const{isOpen:t,entryId:n,entryIndex:s,parentId:i,flag:a,position:o,closeMenu:d}=te(),{addEntry:c,clone:u,deleteEntry:r,move:l,updateEntry:m}=Be(),h=ae(g=>g.setEditableEntry),x=me();return t?e.jsx(Ft,{isOpen:!0,onClose:d,items:[{type:"item",label:"Edit...",onClick:()=>h(n),icon:ve,disabled:!x.canEditEntries},{type:"divider"},{type:"item",label:a?"Remove flag":"Add flag",onClick:()=>m({id:n,flag:!a}),icon:pe,disabled:a===null||!x.canFlag},{type:"divider"},{type:"item",label:"Add event above",onClick:()=>c({type:A.Event,parent:i},{before:n}),icon:xe,disabled:!x.canCreateEntries},{type:"item",label:"Add event below",onClick:()=>c({type:A.Event,parent:i},{after:n}),icon:xe,disabled:!x.canCreateEntries},{type:"item",label:"Clone event",onClick:()=>u(n),icon:pe,disabled:!x.canCreateEntries},{type:"divider"},{type:"item",label:"Move up",onClick:()=>l(n,"up"),icon:ut,disabled:s<1||!x.canEditEntries},{type:"item",label:"Move down",onClick:()=>l(n,"down"),icon:dt,disabled:!x.canEditEntries},{type:"divider"},{type:"item",label:"Delete",onClick:()=>r([n]),icon:mt,disabled:!x.canEditEntries}],position:o}):null}function vs(t){return e.jsx(ft,{style:{transform:"rotate(-45deg)"},...t})}function Ss(){const{data:t}=Tt(),{data:n}=It(),[s,i]=Se(),a=s&&t&&n;return e.jsxs(e.Fragment,{children:[e.jsxs(B,{onClick:i.open,render:e.jsx(I,{}),children:[e.jsx(vs,{}),"Share..."]}),e.jsx(Ne,{isOpen:s,onClose:i.close,title:"Share cuesheet view",showBackdrop:!0,showCloseButton:!0,bodyElements:a?e.jsx(Bt,{lockedPath:{value:Rt.Cuesheet,label:"Cuesheet"}}):null})]})}const Es="_tableSettings_18k3s_17",_s="_sectionTitle_18k3s_29",ks="_option_18k3s_40",ws="_column_18k3s_47",Ts="_inline_18k3s_54",Is="_apart_18k3s_60",Rs="_group_18k3s_65",Ms="_radioButton_18k3s_76",v={tableSettings:Es,sectionTitle:_s,option:ks,column:ws,inline:Ts,apart:Is,group:Rs,radioButton:Ms};function Ds({columns:t,handleResetResizing:n,handleResetReordering:s,handleClearToggles:i}){const a=me(r=>r.canShare),o=f.use(Ie),[d,c]=Ee({key:o?`${o.alias}${J.cuesheetMode}`:J.cuesheetMode,defaultValue:o?E.Run:E.Edit}),u=r=>{const l=r.at(0);l&&c(l)};return e.jsxs(ht,{className:v.tableSettings,children:[e.jsx(Ns,{}),e.jsx(Os,{columns:t,handleResetResizing:n,handleResetReordering:s,handleClearToggles:i}),e.jsxs(pt,{value:[d],onValueChange:u,className:Y([v.group,v.apart]),children:[e.jsx(B,{render:e.jsx(ge,{}),value:E.Run,className:v.radioButton,children:"Run"}),e.jsx(B,{render:e.jsx(ge,{}),value:E.Edit,className:v.radioButton,children:"Edit"})]}),a&&e.jsxs(e.Fragment,{children:[e.jsx(Fe,{orientation:"vertical"}),e.jsx(Ss,{})]})]})}function Ns(){const t=D();return e.jsxs(_e,{children:[e.jsx(ke,{render:e.jsx(B,{render:e.jsxs(I,{variant:"ghosted-white",children:[e.jsx(xt,{})," Settings",e.jsx(we,{})]})})}),e.jsxs(Le,{align:"start",className:v.inline,children:[e.jsxs("div",{className:v.column,children:[e.jsx(k,{className:v.sectionTitle,children:"Element visibility"}),e.jsxs(k,{className:v.option,children:[e.jsx(O,{defaultChecked:t.hideTableSeconds,onCheckedChange:n=>t.setOption("hideTableSeconds",n)}),"Hide seconds in table"]}),e.jsxs(k,{className:v.option,children:[e.jsx(O,{defaultChecked:t.hidePast,onCheckedChange:n=>t.setOption("hidePast",n)}),"Hide past events"]}),e.jsxs(k,{className:v.option,children:[e.jsx(O,{defaultChecked:t.hideIndexColumn,onCheckedChange:n=>t.setOption("hideIndexColumn",n)}),"Hide index column"]})]}),e.jsxs("div",{className:v.column,children:[e.jsx(k,{className:v.sectionTitle,children:"Table Behaviour"}),e.jsxs(k,{className:v.option,children:[e.jsx(O,{defaultChecked:t.showDelayedTimes,onCheckedChange:n=>t.setOption("showDelayedTimes",n)}),"Show delayed times"]}),e.jsxs(k,{className:v.option,children:[e.jsx(O,{defaultChecked:t.hideDelays,onCheckedChange:n=>t.setOption("hideDelays",n)}),"Hide delay entries"]})]})]})]})}function Os({columns:t,handleResetResizing:n,handleResetReordering:s,handleClearToggles:i}){return e.jsxs(_e,{children:[e.jsx(ke,{render:e.jsx(B,{render:e.jsxs(I,{variant:"ghosted-white",children:[e.jsx(ve,{})," View",e.jsx(we,{})]})})}),e.jsxs(Le,{align:"start",className:v.inline,children:[e.jsxs("div",{className:v.column,children:[e.jsx(k,{className:v.sectionTitle,children:"Column visibility"}),t.map(a=>{const o=a.columnDef.header,d=a.getIsVisible();return e.jsxs(k,{className:v.option,children:[e.jsx(O,{defaultChecked:d,onCheckedChange:a.toggleVisibility}),o]},`${a.id}-${d}`)})]}),e.jsx(Fe,{orientation:"vertical"}),e.jsxs("div",{className:v.column,children:[e.jsx(k,{className:v.sectionTitle,children:"Reset Options"}),e.jsx(I,{size:"small",fluid:!0,onClick:i,children:"Show All"}),e.jsx(I,{size:"small",fluid:!0,onClick:n,children:"Reset Resizing"}),e.jsx(I,{size:"small",fluid:!0,onClick:s,children:"Reset Reordering"})]})]})]})}function zs({data:t,columns:n,cuesheetMode:s}){const{updateEntry:i,updateTimer:a}=Be(),o=D(_=>_.showDelayedTimes),d=D(_=>_.hideTableSeconds),c=D(_=>_.hideIndexColumn),{selectedRef:u,scrollRef:r}=Zt(s===E.Run),{listeners:l}=gt(),m=f.useMemo(()=>({handleUpdate:(_,w,T,R=!1)=>{const K=t[_];if(!(!K||K[w]===T)){if(R){i({id:K.id,custom:{[w]:T}});return}i({id:K.id,[w]:T})}},handleUpdateTimer:(_,w,T)=>{a(_,w,T,!0)},options:{showDelayedTimes:o,hideTableSeconds:d,cuesheetMode:s,hideIndexColumn:c}}),[s,t,c,d,o,i,a]),{columnVisibility:h,columnOrder:x,columnSizing:g,resetColumnOrder:p,setColumnVisibility:b,setColumnSizing:C}=He(n),j=Ct({data:t,columns:n,columnResizeMode:"onChange",state:{columnOrder:x,columnVisibility:h,columnSizing:g},onColumnVisibilityChange:b,onColumnSizingChange:C,getCoreRowModel:yt(),meta:m}),S=f.useCallback(()=>{j.toggleAllColumnsVisible(!0)},[j]),y=f.useCallback(()=>{C({})},[C]),$=j.getHeaderGroups(),H=j.getRowModel(),qe=j.getAllLeafColumns(),Ze=f.useMemo(()=>{const _=j.getFlatHeaders(),w={};for(let T=0;T<_.length;T++){const R=_[T];R&&(w[`--header-${R.id}-size`]=R.getSize(),w[`--col-${R.column.id}-size`]=R.column.getSize())}return w},[j.getState().columnSizingInfo,j.getState().columnSizing]);return e.jsxs(e.Fragment,{children:[e.jsx(Ds,{columns:qe,handleResetResizing:y,handleResetReordering:p,handleClearToggles:S}),e.jsx("div",{className:z.cuesheetContainer,ref:r,children:e.jsxs("table",{className:z.cuesheet,id:"cuesheet",style:{...Ze},...l,children:[e.jsx(ys,{headerGroups:$,cuesheetMode:s}),j.getState().columnSizingInfo.isResizingColumn?e.jsx(Ps,{rowModel:H,selectedRef:u,table:j}):e.jsx(Je,{rowModel:H,selectedRef:u,table:j})]})}),e.jsx(bs,{})]})}const Ps=f.memo(Je,(t,n)=>t.table.options.data===n.table.options.data),Ws=f.memo($s);function $s(){const{data:t,status:n}=Ht(),{data:s,status:i}=Jt(),a=me(r=>r.setPermissions),o=f.use(Ie);f.useEffect(()=>{var r,l,m;if(o){const h=((r=o.options)==null?void 0:r.write)==="full";a({canChangeMode:((l=o.options)==null?void 0:l.write)!=="-",canCreateEntries:h,canEditEntries:h,canFlag:h||!!((m=o.options)!=null&&m.write.includes("flag")),canShare:!1})}else a({canChangeMode:!0,canCreateEntries:!0,canEditEntries:!0,canFlag:!0,canShare:Mt==="rw"})},[o,a]);const[d]=Ee({key:o?`${o.alias}${J.cuesheetMode}`:J.cuesheetMode,defaultValue:o?E.Run:E.Edit}),c=f.useMemo(()=>Bn(s,d,o),[s,d,o]),u=!s||!t||n==="pending"||i==="pending";return e.jsx(hn,{columns:c,children:u?e.jsx(Qt,{text:"Loading..."}):e.jsx(zs,{data:t,columns:c,cuesheetMode:d})})}const Bs="_tableWrapper_h9gr1_17",Fs={tableWrapper:Bs};function Ls(){const[t,n]=Se();Ot("Cuesheet");const s=Dt();return e.jsxs(e.Fragment,{children:[e.jsx(Nt,{isOpen:t,onClose:n.close}),e.jsx(on,{}),e.jsxs("div",{className:Fs.tableWrapper,"data-testid":"cuesheet",children:[e.jsx(Yt,{children:!s&&e.jsx(ee,{"aria-label":"Toggle navigation",variant:"subtle-white",size:"xlarge",onClick:n.open,children:e.jsx(bt,{})})}),e.jsx(cn,{}),e.jsx(Ws,{})]})]})}function yo(){return e.jsx(jt,{permission:"operator",children:e.jsx(Ls,{})})}export{yo as default};
//# sourceMappingURL=ProtectedCuesheet-ClVaU6wv.js.map