MCPcopy Create free account
hub / github.com/code100x/cms / updateTimeline

Function updateTimeline

src/lib/createAndHandleSegments.ts:118–180  ·  view source on GitHub ↗
(e: any, player: any, segments: Segment[])

Source from the content-addressed store, hash-verified

116let isMouseDown = false;
117
118export function updateTimeline(e: any, player: any, segments: Segment[]) {
119 let preview_position = 0;
120
121 if (e.type === 'timeupdate') {
122 if (!isMouseDown) {
123 progessTimeline(segments, player);
124 }
125
126 if (!isMouseOver) {
127 preview_position = previewViaBuffer(player);
128 }
129 }
130 if (e.type === 'click') {
131 changeCurrentTimeOnClick(e, player);
132 isMouseDown = false;
133 }
134
135 if (e.type === 'mouseover') {
136 isMouseOver = true;
137
138 preview_position = previewViaMouseOverOrMove(e) as number;
139 }
140 if (e.type === 'mousemove') {
141 isMouseOver = true;
142
143 preview_position = previewViaMouseOverOrMove(e) as number;
144
145 setCurrentLabel(e, preview_position, segments, player);
146
147 if (isMouseDown) {
148 changeCurrentTimeOnClick(e, player);
149 progessTimeline(segments, player);
150 }
151 }
152 if (e.type === 'mousedown') {
153 isMouseDown = true;
154 }
155 if (e.type === 'mouseup') {
156 isMouseDown = false;
157 preview_position = previewViaBuffer(player);
158 }
159
160 if (e.type === 'mouseout') {
161 isMouseOver = false;
162 preview_position = previewViaBuffer(player);
163 }
164 const previewEles = document.querySelectorAll(
165 '.timeline-segments-preview',
166 ) as NodeListOf<HTMLDivElement>;
167
168 if (preview_position !== 0) {
169 segments?.forEach((each, index) => {
170 if (each?.end > preview_position * player?.duration()) {
171 if (previewEles[index]) {
172 previewEles[index].style.right =
173 `${((each?.end - preview_position * player?.duration()) / (each?.end - each?.start)) * 100}%`;
174 }
175 } else if (previewEles[index]) {

Callers

nothing calls this directly

Calls 5

progessTimelineFunction · 0.85
previewViaBufferFunction · 0.85
changeCurrentTimeOnClickFunction · 0.85
setCurrentLabelFunction · 0.85

Tested by

no test coverage detected