diff --git a/src/components/metadataEditor/metadataEditor.js b/src/components/metadataEditor/metadataEditor.js index 1415bdd993..b40a858b6b 100644 --- a/src/components/metadataEditor/metadataEditor.js +++ b/src/components/metadataEditor/metadataEditor.js @@ -298,6 +298,44 @@ function bindAll(elems, eventName, fn) { } } +function onResetClick() { + const resetElementId = ['#txtName', '#txtOriginalName', '#txtSortName', '#txtCommunityRating', '#txtCriticRating', '#txtIndexNumber', + '#txtAirsBeforeSeason', '#txtAirsAfterSeason', '#txtAirsBeforeEpisode', '#txtParentIndexNumber', '#txtAlbum', + '#txtAlbumArtist', '#txtArtist', '#txtOverview', '#selectStatus', '#txtAirTime', '#txtPremiereDate', '#txtDateAdded', '#txtEndDate', + '#txtProductionYear', '#selectHeight', '#txtOriginalAspectRatio', '#select3dFormat', '#selectOfficialRating', '#selectCustomRating', + '#txtSeriesRuntime', '#txtTagline']; + const form = currentContext?.querySelector('form'); + resetElementId.forEach(function (id) { + form.querySelector(id).value = null; + }); + form.querySelector('#selectDisplayOrder').value = ''; + form.querySelector('#selectLanguage').value = ''; + form.querySelector('#selectCountry').value = ''; + form.querySelector('#listGenres').innerHTML = ''; + form.querySelector('#listTags').innerHTML = ''; + form.querySelector('#listStudios').innerHTML = ''; + form.querySelector('#peopleList').innerHTML = ''; + currentItem.People = []; + + const checkedItems = form.querySelectorAll('.chkAirDay:checked') || []; + checkedItems.forEach(function (checkbox) { + checkbox.checked = false; + }); + + const idElements = form.querySelectorAll('.txtExternalId'); + idElements.forEach(function (idElem) { + idElem.value = null; + }); + + form.querySelector('#chkLockData').checked = false; + showElement('.providerSettingsContainer'); + + const lockedFields = form.querySelectorAll('.selectLockedField'); + lockedFields.forEach(function (checkbox) { + checkbox.checked = true; + }); +} + function init(context) { if (!layoutManager.desktop) { context.querySelector('.btnBack').classList.remove('hide'); @@ -334,6 +372,8 @@ function init(context) { form.removeEventListener('submit', onSubmit); form.addEventListener('submit', onSubmit); + context.querySelector('.btnReset').addEventListener('click', onResetClick); + context.querySelector('#btnAddPerson').addEventListener('click', function () { editPerson(context, {}, -1); }); diff --git a/src/components/metadataEditor/metadataEditor.template.html b/src/components/metadataEditor/metadataEditor.template.html index 6c01c2fc07..6d35fee02b 100644 --- a/src/components/metadataEditor/metadataEditor.template.html +++ b/src/components/metadataEditor/metadataEditor.template.html @@ -264,6 +264,9 @@ + diff --git a/src/strings/en-us.json b/src/strings/en-us.json index da956eb93a..c6d9c285b2 100644 --- a/src/strings/en-us.json +++ b/src/strings/en-us.json @@ -1379,6 +1379,7 @@ "RepeatOne": "Repeat one", "ReplaceAllMetadata": "Replace all metadata", "ReplaceExistingImages": "Replace existing images", + "Reset": "Reset", "ResetPassword": "Reset Password", "ResolutionMatchSource": "Match Source", "Restart": "Restart",