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

Enhance trickplay

This commit is contained in:
Shadowghost 2024-05-30 20:40:12 +02:00
parent 8720589ac8
commit 83f9307a2c
4 changed files with 23 additions and 2 deletions

View file

@ -530,6 +530,7 @@ export function getLibraryOptions(parent) {
EnableRealtimeMonitor: parent.querySelector('.chkEnableRealtimeMonitor').checked,
EnableLUFSScan: parent.querySelector('.chkEnableLUFSScan').checked,
ExtractTrickplayImagesDuringLibraryScan: parent.querySelector('.chkExtractTrickplayDuringLibraryScan').checked,
SaveTrickplayWithMedia: parent.querySelector('.chkSaveTrickplayLocally').checked,
EnableTrickplayImageExtraction: parent.querySelector('.chkExtractTrickplayImages').checked,
ExtractChapterImagesDuringLibraryScan: parent.querySelector('.chkExtractChaptersDuringLibraryScan').checked,
EnableChapterImageExtraction: parent.querySelector('.chkExtractChapterImages').checked,
@ -597,6 +598,7 @@ export function setLibraryOptions(parent, options) {
parent.querySelector('.chkEnableLUFSScan').checked = options.EnableLUFSScan;
parent.querySelector('.chkExtractTrickplayDuringLibraryScan').checked = options.ExtractTrickplayImagesDuringLibraryScan;
parent.querySelector('.chkExtractTrickplayImages').checked = options.EnableTrickplayImageExtraction;
parent.querySelector('.chkSaveTrickplayLocally').checked = options.SaveTrickplayWithMedia;
parent.querySelector('.chkExtractChaptersDuringLibraryScan').checked = options.ExtractChapterImagesDuringLibraryScan;
parent.querySelector('.chkExtractChapterImages').checked = options.EnableChapterImageExtraction;
parent.querySelector('#chkSaveLocal').checked = options.SaveLocalMetadata;

View file

@ -129,6 +129,14 @@
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelExtractTrickplayDuringLibraryScanHelp}</div>
</div>
<div class="checkboxContainer checkboxContainer-withDescription fldSaveTrickplayLocally advanced">
<label>
<input type="checkbox" is="emby-checkbox" class="chkSaveTrickplayLocally" />
<span>${LabelSaveTrickplayLocally}</span>
</label>
<div class="fieldDescription checkboxFieldDescription">${LabelSaveTrickplayLocallyHelp}</div>
</div>
</div>
<div class="chapterSettingsSection hide">

View file

@ -33,6 +33,11 @@ function getEditorHtml() {
html += '<span>' + globalize.translate('ReplaceExistingImages') + '</span>';
html += '</label>';
html += '<label class="checkboxContainer hide fldReplaceTrickplayImages">';
html += '<input type="checkbox" is="emby-checkbox" class="chkReplaceTrickplayImages" />';
html += '<span>' + globalize.translate('ReplaceTrickplayImages') + '</span>';
html += '</label>';
html += '<div class="fieldDescription">';
html += globalize.translate('RefreshDialogHelp');
html += '</div>';
@ -71,14 +76,15 @@ function onSubmit(e) {
const mode = dlg.querySelector('#selectMetadataRefreshMode').value === 'scan' ? 'Default' : 'FullRefresh';
const replaceAllImages = mode === 'FullRefresh' && dlg.querySelector('.chkReplaceImages').checked;
const replaceTrickplayImages = mode === 'FullRefresh' && dlg.querySelector('.chkReplaceTrickplayImages').checked;
options.itemIds.forEach(function (itemId) {
apiClient.refreshItem(itemId, {
Recursive: true,
ImageRefreshMode: mode,
MetadataRefreshMode: mode,
ReplaceAllImages: replaceAllImages,
replaceTrickplayImages: replaceTrickplayImages,
ReplaceAllMetadata: replaceAllMetadata
});
});
@ -134,8 +140,10 @@ class RefreshDialog {
dlg.querySelector('#selectMetadataRefreshMode').addEventListener('change', function () {
if (this.value === 'scan') {
dlg.querySelector('.fldReplaceExistingImages').classList.add('hide');
dlg.querySelector('.fldReplaceTrickplayImages').classList.add('hide');
} else {
dlg.querySelector('.fldReplaceExistingImages').classList.remove('hide');
dlg.querySelector('.fldReplaceTrickplayImages').classList.remove('hide');
}
});