1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

Merge pull request #5601 from thornbill/fix-marker-updating

This commit is contained in:
Bill Thornton 2024-05-25 01:50:07 -04:00 committed by GitHub
commit 167515dbf0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 18 additions and 22 deletions

View file

@ -1835,21 +1835,11 @@ export default function (view) {
};
nowPlayingPositionSlider.getMarkerInfo = function () {
const markers = [];
const item = currentItem;
// use markers based on chapters
if (item?.Chapters?.length) {
item.Chapters.forEach(currentChapter => {
markers.push({
name: currentChapter.Name,
progress: currentChapter.StartPositionTicks / item.RunTimeTicks
});
});
}
return markers;
return currentItem?.Chapters?.map(currentChapter => ({
name: currentChapter.Name,
progress: currentChapter.StartPositionTicks / currentItem.RunTimeTicks
})) || [];
};
view.querySelector('.btnPreviousTrack').addEventListener('click', function () {

View file

@ -1,3 +1,5 @@
import isEqual from 'lodash-es/isEqual';
import browser from '../../scripts/browser';
import dom from '../../scripts/dom';
import layoutManager from '../../components/layoutManager';
@ -203,16 +205,20 @@ function setMarker(range, valueMarker, marker, valueProgress) {
}
function updateMarkers(range, currentValue) {
if (range.getMarkerInfo && !range.markerInfo) {
range.markerInfo = range.getMarkerInfo();
if (range.getMarkerInfo) {
const newMarkerInfo = range.getMarkerInfo();
let markersHtml = '';
range.markerInfo.forEach(() => {
markersHtml += '<span class="sliderMarker" aria-hidden="true"></span>';
});
range.markerContainerElement.innerHTML = markersHtml;
if (!range.markerInfo || !isEqual(range.markerInfo, newMarkerInfo)) {
range.markerInfo = newMarkerInfo;
range.markerElements = range.markerContainerElement.querySelectorAll('.sliderMarker');
let markersHtml = '';
range.markerInfo.forEach(() => {
markersHtml += '<span class="sliderMarker" aria-hidden="true"></span>';
});
range.markerContainerElement.innerHTML = markersHtml;
range.markerElements = range.markerContainerElement.querySelectorAll('.sliderMarker');
}
}
if (range.markerInfo?.length && range.markerElements?.length) {