@getontime/cli
Version:
Time keeping for live events
2 lines • 13.9 kB
JavaScript
(function(){try{var e=typeof window<`u`?window:typeof global<`u`?global:typeof globalThis<`u`?globalThis:typeof self<`u`?self:{};e.SENTRY_RELEASE={id:`f14ad0099eab1969fdd065b56af5fdd3cf530de6`};var t=new e.Error().stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]=`13db4fd3-70e3-4f3f-931a-ad0fca3d22ad`,e._sentryDebugIdIdentifier=`sentry-dbid-13db4fd3-70e3-4f3f-931a-ad0fca3d22ad`)}catch{}})();import{a as e,n as t,t as n}from"./jsx-runtime-BNC90REB.js";import{$ as r,Ct as i,Ft as a,Kt as o,Pt as s,Q as c,T as l,et as u,it as d,k as f,vt as p,wt as m,yt as h}from"./useSocket-B9-0Z7zf.js";import{a as g,r as _,s as v,t as y}from"./Button-CsttsbOH.js";import"./Tooltip-DJ2_sn6r.js";import{y as b}from"./useIsSmallScreen-Db4lRgi0.js";import"./Select-CujoWFOD.js";import{I as x,K as S,mt as C,q as w}from"./constants-8b9Q9Bj6.js";import"./SwatchPicker-C0WK8dMM.js";import"./viewParamsEditor.store-BcLRa99Z.js";import{t as T}from"./throttle-W86nehU0.js";import{r as E,t as D}from"./DelayIndicator-CDgZjI5P.js";import{t as O}from"./EmptyFill-D1gAY2Dp.js";import{t as k}from"./useSettings-CeUw01Bu.js";import{c as A}from"./useRundown-BubT2Cyp.js";import{r as j}from"./Input-D-3bhaHU.js";import{t as M}from"./PresetContext-DZh_OrO5.js";import"./assets-DU19UGw8.js";import{i as N,s as P,t as ee}from"./index-qU8RbaVt.js";import{t as F}from"./ProtectRoute-BH4thnew.js";import"./Info-QUjDr4I8.js";import"./Empty-CSL3pipV.js";import{i as I,n as L,o as R,r as te,t as ne}from"./ViewParamsEditor-ZtF4EeBG.js";import{i as z,n as B}from"./viewUtils-CulstVIy.js";import{n as re,t as ie}from"./FollowButton-Cl31kc9t.js";import{t as ae}from"./useWindowTitle-Dvj2xEXy.js";import{r as oe}from"./editorSettings-Cicapa9i.js";import{c as se,l as ce,t as le}from"./TimeElements-sSX9BxuU.js";import"./useAutoTickingClock-CjJeDQz8.js";import{t as ue}from"./SuperscriptPeriod-maMkyH91.js";import{t as de}from"./common.options-DXL-8UPx.js";import"./useAnimatedProgress-DJlteBY2.js";import{t as fe}from"./MultiPartProgressBar-B4jgVUIf.js";import{t as pe}from"./useCustomFields-BMD3tm-0.js";import{t as me}from"./viewLoader.utils-BLkafrJE.js";var V=e(t(),1),H={blink:`_blink_1k6b9_1`,fourtyfive:`_fourtyfive_1k6b9_13`,editModal:`_editModal_1k6b9_17`,title:`_title_1k6b9_31`,body:`_body_1k6b9_39`,label:`_label_1k6b9_48`,footer:`_footer_1k6b9_54`},U=n();function he(e){let{event:t,onClose:n}=e,{updateEntry:r}=E(),[i,a]=(0,V.useState)(!1),o=(0,V.useRef)([]);return(0,U.jsx)(_,{open:!0,onOpenChange:e=>{e||n()},children:(0,U.jsx)(g,{children:(0,U.jsxs)(v,{className:H.editModal,children:[(0,U.jsxs)(`div`,{className:H.title,children:[`Editing fields in cue ${t.cue}`,(0,U.jsx)(j,{variant:`subtle-white`,onClick:n,disabled:i,children:(0,U.jsx)(C,{})})]}),(0,U.jsx)(`div`,{className:H.body,children:t.subscriptions.map(e=>(0,U.jsxs)(V.Fragment,{children:[(0,U.jsx)(`label`,{htmlFor:e.id,className:H.label,style:{"--user-bg":e.colour},children:e.label}),(0,U.jsx)(oe,{name:e.id,ref:e=>{e&&o.current.push(e)},placeholder:`Add value for ${e.label} field`,defaultValue:e.value,"data-field":e.id,disabled:i,rows:5})]},e.id))}),(0,U.jsxs)(`div`,{className:H.footer,children:[(0,U.jsx)(y,{variant:`subtle`,size:`large`,onClick:n,disabled:i,children:`Cancel`}),(0,U.jsx)(y,{variant:`primary`,size:`large`,onClick:async()=>{if(!o.current)return;a(!0);let e={id:t.id};o.current.forEach(t=>{t.dataset.field&&t.defaultValue!=t.value&&(e.custom?e.custom[t.dataset.field]=t.value:Object.assign(e,{custom:{[t.dataset.field]:t.value}}))}),e.custom&&await r(e),a(!1),n()},disabled:i,children:`Save`})]})]})})})}function ge(e,t={}){let{threshold:n=700,onStart:r,onFinish:i,onCancel:a}=t,o=(0,V.useRef)(!1),s=(0,V.useRef)(!1),c=(0,V.useRef)(-1);return(0,V.useEffect)(()=>()=>window.clearTimeout(c.current),[]),(0,V.useMemo)(()=>{if(typeof e!=`function`)return{};let t=t=>{!G(t)&&!W(t)||(r&&r(t),s.current=!0,c.current=window.setTimeout(()=>{e(t),o.current=!0},n))},l=e=>{!G(e)&&!W(e)||(o.current?i?.(e):s.current&&a?.(e),o.current=!1,s.current=!1,c.current&&window.clearTimeout(c.current))};return{onMouseDown:t,onMouseUp:l,onMouseLeave:l,onTouchStart:t,onTouchEnd:l,onTouchMove:T(l,150)}},[e,n,a,i,r])}function W(e){return window.TouchEvent?e.nativeEvent instanceof TouchEvent:`touches`in e.nativeEvent}function G(e){return e.nativeEvent instanceof MouseEvent}function _e(e){let{value:t,hideSeconds:n,hideLeadingZero:r,className:i}=e,a=ce(t,n||r?2:3);return r&&(a=p(a)),n&&(a=h(a)),(0,U.jsx)(`div`,{className:i,children:a})}var K={blink:`_blink_beyra_1`,fourtyfive:`_fourtyfive_beyra_13`,mirror:`_mirror_beyra_17`,event:`_event_beyra_21`,subscribed:`_subscribed_beyra_34`,grouped:`_grouped_beyra_37`,running:`_running_beyra_42`,past:`_past_beyra_48`,groupRail:`_groupRail_beyra_52`,binder:`_binder_beyra_60`,cue:`_cue_beyra_70`,mainField:`_mainField_beyra_80`,secondaryField:`_secondaryField_beyra_90`,plannedStart:`_plannedStart_beyra_97`,timeUntil:`_timeUntil_beyra_98`,runningTime:`_runningTime_beyra_99`,live:`_live_beyra_124`,due:`_due_beyra_129`,done:`_done_beyra_134`,fields:`_fields_beyra_146`,field:`_field_beyra_146`,noColour:`_noColour_beyra_156`,value:`_value_beyra_162`,fieldsWithContent:`_fieldsWithContent_beyra_169`},q=(0,V.memo)(ve);function ve({id:e,colour:t,cue:n,main:i,secondary:a,timeStart:o,duration:s,delay:c,dayOffset:l,isLinkedToLoaded:u,isSelected:d,isPast:f,groupColour:p,selectedRef:m,showStart:h,subscribed:g,totalGap:_,onLongPress:v}){let y=t=>{t&&t.cancelable&&t.preventDefault(),g&&v({id:e,cue:n,subscriptions:g})},b=ge(y),x=t&&w(t),C=S([K.event,p&&K.grouped,d&&K.running,f&&K.past]),T=g.some(e=>e.value),E=g.length?Math.min(g.length,4):0,O=E>0?{gridTemplateColumns:`repeat(${E}, minmax(min(12rem, 100%), 1fr))`}:void 0;return(0,U.jsxs)(`div`,{className:C,"data-testid":n,ref:m,onContextMenu:y,style:p?{"--group-colour":p}:void 0,...b,children:[p&&(0,U.jsx)(`div`,{className:K.groupRail}),(0,U.jsx)(`div`,{className:K.binder,style:{...x},children:(0,U.jsx)(`span`,{className:K.cue,children:n})}),(0,U.jsxs)(`span`,{className:K.mainField,children:[h&&(0,U.jsx)(ue,{className:K.plannedStart,time:r(o)}),i]}),(0,U.jsx)(`span`,{className:K.secondaryField,children:a}),(0,U.jsx)(ye,{timeStart:o,isPast:f,isSelected:d,delay:c,dayOffset:l,totalGap:_,isLinkedToLoaded:u}),(0,U.jsxs)(`span`,{className:K.runningTime,children:[(0,U.jsx)(D,{delayValue:c}),(0,U.jsx)(_e,{className:S([d&&K.muted]),value:s,hideLeadingZero:!0})]}),(0,U.jsx)(`div`,{className:S([K.fields,T&&K.fieldsWithContent]),style:O,children:g.map(e=>e.value?(0,U.jsxs)(`div`,{children:[(0,U.jsx)(`span`,{className:S([K.field,!e.colour&&K.noColour]),style:{backgroundColor:e.colour},children:e.label}),(0,U.jsx)(`span`,{className:K.value,style:{color:e.colour},children:e.value})]},e.id):(0,U.jsx)(`div`,{},e.id))})]})}function ye({timeStart:e,isPast:t,isSelected:n,delay:r,dayOffset:i,totalGap:a,isLinkedToLoaded:o}){return t?(0,U.jsx)(`span`,{className:S([K.timeUntil,K.done]),children:`DONE`}):n?(0,U.jsx)(`span`,{className:S([K.timeUntil,K.live]),children:`LIVE`}):(0,U.jsx)(be,{timeStart:e,delay:r,dayOffset:i,totalGap:a,isLinkedToLoaded:o})}function be({timeStart:e,delay:t,dayOffset:n,totalGap:r,isLinkedToLoaded:a}){let o=d({timeStart:e,delay:t,dayOffset:n},{totalGap:r,isLinkedToLoaded:a}),s=o<m,l=s?`DUE`:`${c(Math.abs(o),o>2*i)}`;return(0,U.jsx)(`span`,{className:S([K.timeUntil,s&&K.due]),"data-testid":`time-until`,children:l})}var J={blink:`_blink_1mg5c_1`,fourtyfive:`_fourtyfive_1mg5c_13`,group:`_group_1mg5c_17`,title:`_title_1mg5c_32`,meta:`_meta_1mg5c_40`},xe=(0,V.memo)(Se);function Se({title:e,colour:t,count:n,duration:r}){let i=t||`#929292`,a=w(i);return(0,U.jsxs)(`div`,{className:J.group,style:{...a,"--group-colour":i},children:[(0,U.jsx)(`span`,{className:J.title,children:e}),(0,U.jsxs)(`span`,{className:J.meta,children:[(0,U.jsx)(`span`,{children:`${n} ${n===1?`event`:`events`}`}),(0,U.jsx)(`span`,{children:c(r)})]})]})}var Ce=(e,t)=>{let n=I(e,[{value:`none`,label:`None`},{value:`title`,label:`Title`},{value:`note`,label:`Note`}]),r=te(e);return[{title:L.ClockOptions,collapsible:!0,options:[de(t)]},{title:L.DataSources,collapsible:!0,options:[{id:`main`,title:`Main data field`,description:`Field to be shown in the first line of text`,type:`option`,values:n,defaultValue:`title`},{id:`secondary-src`,title:`Secondary data field`,description:`Field to be shown in the second line of text`,type:`option`,values:n,defaultValue:`none`},{id:`subscribe`,title:`Show custom fields`,description:`Choose custom fields to show on each event`,type:`multi-option`,values:r},{id:`shouldEdit`,title:`Edit custom field`,description:`Allows editing an highlighted custom field by long pressing`,type:`boolean`,defaultValue:!1}]},{title:L.ElementVisibility,collapsible:!0,options:[{id:`hidePast`,title:`Hide Past Events`,description:`Whether to hide events that have passed`,type:`boolean`,defaultValue:!1},{id:`showStart`,title:`Show planned start`,description:`Whether to prepend the planned start to the items`,type:`boolean`,defaultValue:!1}]}]};function we(e,t){let n=n=>t?.get(n)??e.get(n);return{mainSource:n(`main`),secondarySource:n(`secondary-src`),subscribe:(n=>t?.has(n)?t.getAll(n):e.getAll(n))(`subscribe`),shouldEdit:z(n(`shouldEdit`)),hidePast:z(n(`hidePast`)),showStart:z(n(`showStart`))}}function Y(){let[e]=b(),t=(0,V.use)(M);return(0,V.useMemo)(()=>we(e,t?new URLSearchParams(t.search):void 0),[t,e])}function X(e,t,n,r,i){return{mainField:t?B(e,t)??``:e.title,secondaryField:B(e,n)??``,subscribedData:r.filter(e=>Object.hasOwn(i,e)).reduce((t,n)=>{let r=i[n];return r&&t.push({id:n,label:r.label,colour:r.colour,value:e.custom[n]}),t},[])}}var Z={blink:`_blink_1va40_1`,fourtyfive:`_fourtyfive_1va40_13`,statusBar:`_statusBar_1va40_17`,timers:`_timers_1va40_25`,runningTimer:`_runningTimer_1va40_33`,timeNow:`_timeNow_1va40_42`,progressOverride:`_progressOverride_1va40_51`};function Te({viewSettings:e}){let{current:t,duration:n,eventId:r,timeWarning:i,timeDanger:a}=l();return(0,U.jsx)(fe,{now:t,complete:n,eventId:r,normalColor:e.normalColor,warning:i,warningColor:e.warningColor,danger:a,dangerColor:e.dangerColor,className:Z.progressOverride,ignoreCssOverride:!0})}function Ee(){return(0,U.jsxs)(`div`,{className:Z.timers,children:[(0,U.jsx)(se,{className:Z.runningTimer}),(0,U.jsx)(le,{className:Z.timeNow,shouldFormat:!0})]})}function De(){let{data:e}=N();return(0,U.jsxs)(`div`,{className:Z.statusBar,children:[(0,U.jsx)(Ee,{}),e&&(0,U.jsx)(Te,{viewSettings:e})]})}function Oe(){let{data:e,rundownMetadata:t,status:n}=A(),{data:r,status:i}=pe(),{data:a,status:o}=k();return{data:{rundown:e,rundownMetadata:t,customFields:r,settings:a},status:me([n,i,o])}}var Q={blink:`_blink_1r4nj_1`,fourtyfive:`_fourtyfive_1r4nj_13`,operatorContainer:`_operatorContainer_1r4nj_17`,operatorEvents:`_operatorEvents_1r4nj_24`,editPrompt:`_editPrompt_1r4nj_35`,show:`_show_1r4nj_49`,schedule:`_schedule_1r4nj_53`},$=50;function ke(){let{data:e,status:t}=Oe();return ae(`Operator`),t===`pending`?(0,U.jsx)(P,{}):t===`error`?(0,U.jsx)(R,{variant:`error`,text:`There was an error fetching data, please refresh the page.`}):(0,U.jsx)(Ae,{...e})}function Ae({rundown:e,rundownMetadata:t,customFields:n,settings:r}){let i=f(),{getLocalizedString:c}=ee(),{subscribe:l,mainSource:d,secondarySource:p,shouldEdit:m,hidePast:h,showStart:g}=Y(),[_,v]=(0,V.useState)(!1),[y,b]=(0,V.useState)(null),[C,w]=(0,V.useState)(!1),E=(0,V.useRef)(null),D=(0,V.useRef)(null),k=re({followRef:E,scrollRef:D,doFollow:!C,topOffset:$,followTrigger:i}),A=(0,V.useRef)(null);(0,V.useEffect)(()=>{i||C||D.current?.scrollTo(0,0)},[i,C,D]);let j=()=>{i&&k(),w(!1)},M=T(()=>{if(E?.current&&D?.current){let e=E.current.getBoundingClientRect(),t=D.current.getBoundingClientRect();if(e&&t){let n=e.top-t.top;w(n<-8||n>$)}}},1e3),N=()=>{A.current&&clearTimeout(A.current),A.current=setTimeout(()=>{v(!1)},700),v(!0),M()},P=(0,V.useCallback)(e=>{b({...e})},[]),F=u(r?.timeFormat),I=(0,V.useMemo)(()=>Ce(n,F),[n,F]),L=m&&l.length,R=e.order.length>0;return(0,U.jsxs)(`div`,{className:Q.operatorContainer,"data-testid":`operator-view`,children:[(0,U.jsx)(ne,{target:o.Operator,viewOptions:I}),y&&(0,U.jsx)(he,{event:y,onClose:()=>b(null)}),(0,U.jsx)(De,{}),L&&(0,U.jsx)(`div`,{className:S([Q.editPrompt,_&&Q.show]),children:x?`Press and hold to edit user field`:`Right click to edit user field`}),R?(0,U.jsx)(`div`,{className:Q.operatorEvents,onWheel:N,onTouchMove:N,ref:D,children:e.order.map(r=>{let o=e.entries[r];if(s(o)){let{isPast:e,isLinkedToLoaded:i,isLoaded:a,totalGap:s}=t[r];if(h&&e||o.skip)return null;let{mainField:c,secondaryField:u,subscribedData:f}=X(o,d,p,l,n);return(0,U.jsx)(q,{id:o.id,colour:o.colour,cue:o.cue,main:c,secondary:u,timeStart:o.timeStart,duration:o.duration,delay:o.delay,dayOffset:o.dayOffset,isLinkedToLoaded:i,isSelected:a,isPast:e,selectedRef:a?E:void 0,showStart:g,subscribed:f,totalGap:s,onLongPress:L?P:()=>void 0},o.id)}if(a(o)){let{isPast:r}=t[o.id],a=i?t[i]?.groupId===o.id:!1;return h&&r&&!a?null:(0,U.jsxs)(V.Fragment,{children:[(0,U.jsx)(xe,{title:o.title,colour:o.colour,count:o.entries.length,duration:o.duration},o.id),o.entries.map(r=>{let i=e.entries[r];if(!s(i))return null;let{isPast:a,isLoaded:c,isLinkedToLoaded:u,totalGap:f}=t[r];if(h&&a||i.skip)return null;let{mainField:m,secondaryField:_,subscribedData:v}=X(i,d,p,l,n);return(0,U.jsx)(q,{id:i.id,colour:i.colour,cue:i.cue,main:m,secondary:_,timeStart:i.timeStart,duration:i.duration,delay:i.delay,dayOffset:i.dayOffset,isLinkedToLoaded:u,isSelected:c,isPast:a,groupColour:o.colour,selectedRef:c?E:void 0,showStart:g,subscribed:v,totalGap:f,onLongPress:L?P:()=>void 0},i.id)})]},o.id)}return null})}):(0,U.jsx)(O,{text:c(`common.no_data`)}),(0,U.jsx)(ie,{isVisible:C,onClickHandler:j})]})}function je(){return(0,U.jsx)(F,{permission:`operator`,children:(0,U.jsx)(ke,{})})}export{je as default};
//# sourceMappingURL=OperatorExport-BpLu5wPe.js.map