diff --git a/src/components/pages/NewUserPage.tsx b/src/components/pages/NewUserPage.tsx index bb53266fe0..6a8848f012 100644 --- a/src/components/pages/NewUserPage.tsx +++ b/src/components/pages/NewUserPage.tsx @@ -47,10 +47,10 @@ const NewUserPage: FunctionComponent = () => { setMediaFoldersItems(mediaFolders); - const folderAccess = page.querySelector('.folderAccess'); + const folderAccess = page.querySelector('.folderAccess') as HTMLDivElement; folderAccess.dispatchEvent(new CustomEvent('create')); - page.querySelector('.chkEnableAllFolders').checked = false; + (page.querySelector('.chkEnableAllFolders') as HTMLInputElement).checked = false; }, []); const loadChannels = useCallback((result) => { @@ -65,13 +65,13 @@ const NewUserPage: FunctionComponent = () => { setChannelsItems(channels); - const channelAccess = page.querySelector('.channelAccess'); + const channelAccess = page.querySelector('.channelAccess') as HTMLDivElement; channelAccess.dispatchEvent(new CustomEvent('create')); - const channelAccessContainer = page.querySelector('.channelAccessContainer'); + const channelAccessContainer = page.querySelector('.channelAccessContainer') as HTMLDivElement; channels.length ? channelAccessContainer.classList.remove('hide') : channelAccessContainer.classList.add('hide'); - page.querySelector('.chkEnableAllChannels').checked = false; + (page.querySelector('.chkEnableAllChannels') as HTMLInputElement).checked = false; }, []); const loadUser = useCallback(() => { @@ -82,8 +82,8 @@ const NewUserPage: FunctionComponent = () => { return; } - page.querySelector('#txtUsername').value = ''; - page.querySelector('#txtPassword').value = ''; + (page.querySelector('#txtUsername') as HTMLInputElement).value = ''; + (page.querySelector('#txtPassword') as HTMLInputElement).value = ''; loading.show(); const promiseFolders = window.ApiClient.getJSON(window.ApiClient.getUrl('Library/MediaFolders', { IsHidden: false @@ -108,10 +108,10 @@ const NewUserPage: FunctionComponent = () => { const saveUser = () => { const userInput: userInput = {}; - userInput.Name = page.querySelector('#txtUsername').value; - userInput.Password = page.querySelector('#txtPassword').value; + userInput.Name = (page.querySelector('#txtUsername') as HTMLInputElement).value; + userInput.Password = (page.querySelector('#txtPassword') as HTMLInputElement).value; window.ApiClient.createUser(userInput).then(function (user) { - user.Policy.EnableAllFolders = page.querySelector('.chkEnableAllFolders').checked; + user.Policy.EnableAllFolders = (page.querySelector('.chkEnableAllFolders') as HTMLInputElement).checked; user.Policy.EnabledFolders = []; if (!user.Policy.EnableAllFolders) { @@ -122,7 +122,7 @@ const NewUserPage: FunctionComponent = () => { }); } - user.Policy.EnableAllChannels = page.querySelector('.chkEnableAllChannels').checked; + user.Policy.EnableAllChannels = (page.querySelector('.chkEnableAllChannels') as HTMLInputElement).checked; user.Policy.EnabledChannels = []; if (!user.Policy.EnableAllChannels) { @@ -150,19 +150,19 @@ const NewUserPage: FunctionComponent = () => { return false; }; - page.querySelector('.chkEnableAllChannels').addEventListener('change', function (this: HTMLInputElement) { - const channelAccessListContainer = page.querySelector('.channelAccessListContainer'); + (page.querySelector('.chkEnableAllChannels') as HTMLInputElement).addEventListener('change', function (this: HTMLInputElement) { + const channelAccessListContainer = page.querySelector('.channelAccessListContainer') as HTMLDivElement; this.checked ? channelAccessListContainer.classList.add('hide') : channelAccessListContainer.classList.remove('hide'); }); - page.querySelector('.chkEnableAllFolders').addEventListener('change', function (this: HTMLInputElement) { - const folderAccessListContainer = page.querySelector('.folderAccessListContainer'); + (page.querySelector('.chkEnableAllFolders') as HTMLInputElement).addEventListener('change', function (this: HTMLInputElement) { + const folderAccessListContainer = page.querySelector('.folderAccessListContainer') as HTMLDivElement; this.checked ? folderAccessListContainer.classList.add('hide') : folderAccessListContainer.classList.remove('hide'); }); - page.querySelector('.newUserProfileForm').addEventListener('submit', onSubmit); + (page.querySelector('.newUserProfileForm') as HTMLFormElement).addEventListener('submit', onSubmit); - page.querySelector('.button-cancel').addEventListener('click', function() { + (page.querySelector('.button-cancel') as HTMLButtonElement).addEventListener('click', function() { window.history.back(); }); }, [loadUser]); diff --git a/src/components/pages/UserEditPage.tsx b/src/components/pages/UserEditPage.tsx index d9bf935a7f..7b1e6246ad 100644 --- a/src/components/pages/UserEditPage.tsx +++ b/src/components/pages/UserEditPage.tsx @@ -52,7 +52,7 @@ const UserEditPage: FunctionComponent = () => { return; } - const fldSelectLoginProvider = page.querySelector('.fldSelectLoginProvider'); + const fldSelectLoginProvider = page.querySelector('.fldSelectLoginProvider') as HTMLDivElement; providers.length > 1 ? fldSelectLoginProvider.classList.remove('hide') : fldSelectLoginProvider.classList.add('hide'); setAuthProviders(providers); @@ -69,7 +69,7 @@ const UserEditPage: FunctionComponent = () => { return; } - const fldSelectPasswordResetProvider = page.querySelector('.fldSelectPasswordResetProvider'); + const fldSelectPasswordResetProvider = page.querySelector('.fldSelectPasswordResetProvider') as HTMLDivElement; providers.length > 1 ? fldSelectPasswordResetProvider.classList.remove('hide') : fldSelectPasswordResetProvider.classList.add('hide'); setPasswordResetProviders(providers); @@ -115,7 +115,7 @@ const UserEditPage: FunctionComponent = () => { setDeleteFoldersAccess(itemsArr); - const chkEnableDeleteAllFolders = page.querySelector('.chkEnableDeleteAllFolders'); + const chkEnableDeleteAllFolders = page.querySelector('.chkEnableDeleteAllFolders') as HTMLInputElement; chkEnableDeleteAllFolders.checked = user.Policy.EnableContentDeletion; triggerChange(chkEnableDeleteAllFolders); }); @@ -141,37 +141,37 @@ const UserEditPage: FunctionComponent = () => { loadDeleteFolders(user, folders.Items); }); - const disabledUserBanner = page.querySelector('.disabledUserBanner'); + const disabledUserBanner = page.querySelector('.disabledUserBanner') as HTMLDivElement; user.Policy.IsDisabled ? disabledUserBanner.classList.remove('hide') : disabledUserBanner.classList.add('hide'); - const txtUserName = page.querySelector('#txtUserName'); + const txtUserName = page.querySelector('#txtUserName') as HTMLInputElement; txtUserName.disabled = ''; txtUserName.removeAttribute('disabled'); - const lnkEditUserPreferences = page.querySelector('.lnkEditUserPreferences'); + const lnkEditUserPreferences = page.querySelector('.lnkEditUserPreferences') as HTMLDivElement; lnkEditUserPreferences.setAttribute('href', 'mypreferencesmenu.html?userId=' + user.Id); LibraryMenu.setTitle(user.Name); setUserName(user.Name); - page.querySelector('#txtUserName').value = user.Name; - page.querySelector('.chkIsAdmin').checked = user.Policy.IsAdministrator; - page.querySelector('.chkDisabled').checked = user.Policy.IsDisabled; - page.querySelector('.chkIsHidden').checked = user.Policy.IsHidden; - page.querySelector('.chkRemoteControlSharedDevices').checked = user.Policy.EnableSharedDeviceControl; - page.querySelector('.chkEnableRemoteControlOtherUsers').checked = user.Policy.EnableRemoteControlOfOtherUsers; - page.querySelector('.chkEnableDownloading').checked = user.Policy.EnableContentDownloading; - page.querySelector('.chkManageLiveTv').checked = user.Policy.EnableLiveTvManagement; - page.querySelector('.chkEnableLiveTvAccess').checked = user.Policy.EnableLiveTvAccess; - page.querySelector('.chkEnableMediaPlayback').checked = user.Policy.EnableMediaPlayback; - page.querySelector('.chkEnableAudioPlaybackTranscoding').checked = user.Policy.EnableAudioPlaybackTranscoding; - page.querySelector('.chkEnableVideoPlaybackTranscoding').checked = user.Policy.EnableVideoPlaybackTranscoding; - page.querySelector('.chkEnableVideoPlaybackRemuxing').checked = user.Policy.EnablePlaybackRemuxing; - page.querySelector('.chkForceRemoteSourceTranscoding').checked = user.Policy.ForceRemoteSourceTranscoding; - page.querySelector('.chkRemoteAccess').checked = user.Policy.EnableRemoteAccess == null || user.Policy.EnableRemoteAccess; - page.querySelector('#txtRemoteClientBitrateLimit').value = user.Policy.RemoteClientBitrateLimit / 1e6 || ''; - page.querySelector('#txtLoginAttemptsBeforeLockout').value = user.Policy.LoginAttemptsBeforeLockout || '0'; - page.querySelector('#txtMaxActiveSessions').value = user.Policy.MaxActiveSessions || '0'; + (page.querySelector('#txtUserName') as HTMLInputElement).value = user.Name; + (page.querySelector('.chkIsAdmin') as HTMLInputElement).checked = user.Policy.IsAdministrator; + (page.querySelector('.chkDisabled') as HTMLInputElement).checked = user.Policy.IsDisabled; + (page.querySelector('.chkIsHidden') as HTMLInputElement).checked = user.Policy.IsHidden; + (page.querySelector('.chkRemoteControlSharedDevices') as HTMLInputElement).checked = user.Policy.EnableSharedDeviceControl; + (page.querySelector('.chkEnableRemoteControlOtherUsers') as HTMLInputElement).checked = user.Policy.EnableRemoteControlOfOtherUsers; + (page.querySelector('.chkEnableDownloading') as HTMLInputElement).checked = user.Policy.EnableContentDownloading; + (page.querySelector('.chkManageLiveTv') as HTMLInputElement).checked = user.Policy.EnableLiveTvManagement; + (page.querySelector('.chkEnableLiveTvAccess') as HTMLInputElement).checked = user.Policy.EnableLiveTvAccess; + (page.querySelector('.chkEnableMediaPlayback') as HTMLInputElement).checked = user.Policy.EnableMediaPlayback; + (page.querySelector('.chkEnableAudioPlaybackTranscoding') as HTMLInputElement).checked = user.Policy.EnableAudioPlaybackTranscoding; + (page.querySelector('.chkEnableVideoPlaybackTranscoding') as HTMLInputElement).checked = user.Policy.EnableVideoPlaybackTranscoding; + (page.querySelector('.chkEnableVideoPlaybackRemuxing') as HTMLInputElement).checked = user.Policy.EnablePlaybackRemuxing; + (page.querySelector('.chkForceRemoteSourceTranscoding') as HTMLInputElement).checked = user.Policy.ForceRemoteSourceTranscoding; + (page.querySelector('.chkRemoteAccess') as HTMLInputElement).checked = user.Policy.EnableRemoteAccess == null || user.Policy.EnableRemoteAccess; + (page.querySelector('#txtRemoteClientBitrateLimit') as HTMLInputElement).value = user.Policy.RemoteClientBitrateLimit / 1e6 || ''; + (page.querySelector('#txtLoginAttemptsBeforeLockout') as HTMLInputElement).value = user.Policy.LoginAttemptsBeforeLockout || '0'; + (page.querySelector('#txtMaxActiveSessions') as HTMLInputElement).value = user.Policy.MaxActiveSessions || '0'; if (window.ApiClient.isMinServerVersion('10.6.0')) { - page.querySelector('#selectSyncPlayAccess').value = user.Policy.SyncPlayAccess; + (page.querySelector('#selectSyncPlayAccess') as HTMLInputElement).value = user.Policy.SyncPlayAccess; } loading.hide(); }, [loadAuthProviders, loadPasswordResetProviders, loadDeleteFolders ]); @@ -208,34 +208,34 @@ const UserEditPage: FunctionComponent = () => { throw new Error('Unexpected null user.Policy'); } - user.Name = page.querySelector('#txtUserName').value; - user.Policy.IsAdministrator = page.querySelector('.chkIsAdmin').checked; - user.Policy.IsHidden = page.querySelector('.chkIsHidden').checked; - user.Policy.IsDisabled = page.querySelector('.chkDisabled').checked; - user.Policy.EnableRemoteControlOfOtherUsers = page.querySelector('.chkEnableRemoteControlOtherUsers').checked; - user.Policy.EnableLiveTvManagement = page.querySelector('.chkManageLiveTv').checked; - user.Policy.EnableLiveTvAccess = page.querySelector('.chkEnableLiveTvAccess').checked; - user.Policy.EnableSharedDeviceControl = page.querySelector('.chkRemoteControlSharedDevices').checked; - user.Policy.EnableMediaPlayback = page.querySelector('.chkEnableMediaPlayback').checked; - user.Policy.EnableAudioPlaybackTranscoding = page.querySelector('.chkEnableAudioPlaybackTranscoding').checked; - user.Policy.EnableVideoPlaybackTranscoding = page.querySelector('.chkEnableVideoPlaybackTranscoding').checked; - user.Policy.EnablePlaybackRemuxing = page.querySelector('.chkEnableVideoPlaybackRemuxing').checked; - user.Policy.ForceRemoteSourceTranscoding = page.querySelector('.chkForceRemoteSourceTranscoding').checked; - user.Policy.EnableContentDownloading = page.querySelector('.chkEnableDownloading').checked; - user.Policy.EnableRemoteAccess = page.querySelector('.chkRemoteAccess').checked; - user.Policy.RemoteClientBitrateLimit = Math.floor(1e6 * parseFloat(page.querySelector('#txtRemoteClientBitrateLimit').value || '0')); - user.Policy.LoginAttemptsBeforeLockout = parseInt(page.querySelector('#txtLoginAttemptsBeforeLockout').value || '0'); - user.Policy.MaxActiveSessions = parseInt(page.querySelector('#txtMaxActiveSessions').value || '0'); - user.Policy.AuthenticationProviderId = page.querySelector('.selectLoginProvider').value; - user.Policy.PasswordResetProviderId = page.querySelector('.selectPasswordResetProvider').value; - user.Policy.EnableContentDeletion = page.querySelector('.chkEnableDeleteAllFolders').checked; + user.Name = (page.querySelector('#txtUserName') as HTMLInputElement).value; + user.Policy.IsAdministrator = (page.querySelector('.chkIsAdmin') as HTMLInputElement).checked; + user.Policy.IsHidden = (page.querySelector('.chkIsHidden') as HTMLInputElement).checked; + user.Policy.IsDisabled = (page.querySelector('.chkDisabled') as HTMLInputElement).checked; + user.Policy.EnableRemoteControlOfOtherUsers = (page.querySelector('.chkEnableRemoteControlOtherUsers') as HTMLInputElement).checked; + user.Policy.EnableLiveTvManagement = (page.querySelector('.chkManageLiveTv') as HTMLInputElement).checked; + user.Policy.EnableLiveTvAccess = (page.querySelector('.chkEnableLiveTvAccess') as HTMLInputElement).checked; + user.Policy.EnableSharedDeviceControl = (page.querySelector('.chkRemoteControlSharedDevices') as HTMLInputElement).checked; + user.Policy.EnableMediaPlayback = (page.querySelector('.chkEnableMediaPlayback') as HTMLInputElement).checked; + user.Policy.EnableAudioPlaybackTranscoding = (page.querySelector('.chkEnableAudioPlaybackTranscoding') as HTMLInputElement).checked; + user.Policy.EnableVideoPlaybackTranscoding = (page.querySelector('.chkEnableVideoPlaybackTranscoding') as HTMLInputElement).checked; + user.Policy.EnablePlaybackRemuxing = (page.querySelector('.chkEnableVideoPlaybackRemuxing') as HTMLInputElement).checked; + user.Policy.ForceRemoteSourceTranscoding = (page.querySelector('.chkForceRemoteSourceTranscoding') as HTMLInputElement).checked; + user.Policy.EnableContentDownloading = (page.querySelector('.chkEnableDownloading') as HTMLInputElement).checked; + user.Policy.EnableRemoteAccess = (page.querySelector('.chkRemoteAccess') as HTMLInputElement).checked; + user.Policy.RemoteClientBitrateLimit = Math.floor(1e6 * parseFloat((page.querySelector('#txtRemoteClientBitrateLimit') as HTMLInputElement).value || '0')); + user.Policy.LoginAttemptsBeforeLockout = parseInt((page.querySelector('#txtLoginAttemptsBeforeLockout') as HTMLInputElement).value || '0'); + user.Policy.MaxActiveSessions = parseInt((page.querySelector('#txtMaxActiveSessions') as HTMLInputElement).value || '0'); + user.Policy.AuthenticationProviderId = (page.querySelector('.selectLoginProvider') as HTMLInputElement).value; + user.Policy.PasswordResetProviderId = (page.querySelector('.selectPasswordResetProvider') as HTMLInputElement).value; + user.Policy.EnableContentDeletion = (page.querySelector('.chkEnableDeleteAllFolders') as HTMLInputElement).checked; user.Policy.EnableContentDeletionFromFolders = user.Policy.EnableContentDeletion ? [] : Array.prototype.filter.call(page.querySelectorAll('.chkFolder'), function (c) { return c.checked; }).map(function (c) { return c.getAttribute('data-id'); }); if (window.ApiClient.isMinServerVersion('10.6.0')) { - user.Policy.SyncPlayAccess = page.querySelector('#selectSyncPlayAccess').value; + user.Policy.SyncPlayAccess = (page.querySelector('#selectSyncPlayAccess') as HTMLInputElement).value; } window.ApiClient.updateUser(user).then(function () { window.ApiClient.updateUserPolicy(user.Id, user.Policy).then(function () { @@ -254,22 +254,22 @@ const UserEditPage: FunctionComponent = () => { return false; }; - page.querySelector('.chkEnableDeleteAllFolders').addEventListener('change', function (this: HTMLInputElement) { + (page.querySelector('.chkEnableDeleteAllFolders') as HTMLInputElement).addEventListener('change', function (this: HTMLInputElement) { if (this.checked) { - page.querySelector('.deleteAccess').classList.add('hide'); + (page.querySelector('.deleteAccess') as HTMLDivElement).classList.add('hide'); } else { - page.querySelector('.deleteAccess').classList.remove('hide'); + (page.querySelector('.deleteAccess') as HTMLDivElement).classList.remove('hide'); } }); window.ApiClient.getServerConfiguration().then(function (config) { - const fldRemoteAccess = page.querySelector('.fldRemoteAccess'); + const fldRemoteAccess = page.querySelector('.fldRemoteAccess') as HTMLDivElement; config.EnableRemoteAccess ? fldRemoteAccess.classList.remove('hide') : fldRemoteAccess.classList.add('hide'); }); - page.querySelector('.editUserProfileForm').addEventListener('submit', onSubmit); + (page.querySelector('.editUserProfileForm') as HTMLFormElement).addEventListener('submit', onSubmit); - page.querySelector('.button-cancel').addEventListener('click', function() { + (page.querySelector('.button-cancel') as HTMLButtonElement).addEventListener('click', function() { window.history.back(); }); }, [loadData]); diff --git a/src/components/pages/UserLibraryAccessPage.tsx b/src/components/pages/UserLibraryAccessPage.tsx index ea601d248a..f8c887c1e0 100644 --- a/src/components/pages/UserLibraryAccessPage.tsx +++ b/src/components/pages/UserLibraryAccessPage.tsx @@ -55,7 +55,7 @@ const UserLibraryAccessPage: FunctionComponent = () => { setMediaFoldersItems(itemsArr); - const chkEnableAllFolders = page.querySelector('.chkEnableAllFolders'); + const chkEnableAllFolders = page.querySelector('.chkEnableAllFolders') as HTMLInputElement; chkEnableAllFolders.checked = user.Policy.EnableAllFolders; triggerChange(chkEnableAllFolders); }, []); @@ -83,12 +83,12 @@ const UserLibraryAccessPage: FunctionComponent = () => { setChannelsItems(itemsArr); if (channels.length) { - page.querySelector('.channelAccessContainer').classList.remove('hide'); + (page.querySelector('.channelAccessContainer') as HTMLDivElement).classList.remove('hide'); } else { - page.querySelector('.channelAccessContainer').classList.add('hide'); + (page.querySelector('.channelAccessContainer') as HTMLDivElement).classList.add('hide'); } - const chkEnableAllChannels = page.querySelector('.chkEnableAllChannels'); + const chkEnableAllChannels = page.querySelector('.chkEnableAllChannels') as HTMLInputElement; chkEnableAllChannels.checked = user.Policy.EnableAllChannels; triggerChange(chkEnableAllChannels); }, []); @@ -116,14 +116,14 @@ const UserLibraryAccessPage: FunctionComponent = () => { setDevicesItems(itemsArr); - const chkEnableAllDevices = page.querySelector('.chkEnableAllDevices'); + const chkEnableAllDevices = page.querySelector('.chkEnableAllDevices') as HTMLInputElement; chkEnableAllDevices.checked = user.Policy.EnableAllDevices; triggerChange(chkEnableAllDevices); if (user.Policy.IsAdministrator) { - page.querySelector('.deviceAccessContainer').classList.add('hide'); + (page.querySelector('.deviceAccessContainer') as HTMLDivElement).classList.add('hide'); } else { - page.querySelector('.deviceAccessContainer').classList.remove('hide'); + (page.querySelector('.deviceAccessContainer') as HTMLDivElement).classList.remove('hide'); } }, []); @@ -180,19 +180,19 @@ const UserLibraryAccessPage: FunctionComponent = () => { throw new Error('Unexpected null user.Policy'); } - user.Policy.EnableAllFolders = page.querySelector('.chkEnableAllFolders').checked; + user.Policy.EnableAllFolders = (page.querySelector('.chkEnableAllFolders') as HTMLInputElement).checked; user.Policy.EnabledFolders = user.Policy.EnableAllFolders ? [] : Array.prototype.filter.call(page.querySelectorAll('.chkFolder'), function (c) { return c.checked; }).map(function (c) { return c.getAttribute('data-id'); }); - user.Policy.EnableAllChannels = page.querySelector('.chkEnableAllChannels').checked; + user.Policy.EnableAllChannels = (page.querySelector('.chkEnableAllChannels') as HTMLInputElement).checked; user.Policy.EnabledChannels = user.Policy.EnableAllChannels ? [] : Array.prototype.filter.call(page.querySelectorAll('.chkChannel'), function (c) { return c.checked; }).map(function (c) { return c.getAttribute('data-id'); }); - user.Policy.EnableAllDevices = page.querySelector('.chkEnableAllDevices').checked; + user.Policy.EnableAllDevices = (page.querySelector('.chkEnableAllDevices') as HTMLInputElement).checked; user.Policy.EnabledDevices = user.Policy.EnableAllDevices ? [] : Array.prototype.filter.call(page.querySelectorAll('.chkDevice'), function (c) { return c.checked; }).map(function (c) { @@ -210,19 +210,19 @@ const UserLibraryAccessPage: FunctionComponent = () => { toast(globalize.translate('SettingsSaved')); }; - page.querySelector('.chkEnableAllDevices').addEventListener('change', function (this: HTMLInputElement) { - page.querySelector('.deviceAccessListContainer').classList.toggle('hide', this.checked); + (page.querySelector('.chkEnableAllDevices') as HTMLInputElement).addEventListener('change', function (this: HTMLInputElement) { + (page.querySelector('.deviceAccessListContainer') as HTMLDivElement).classList.toggle('hide', this.checked); }); - page.querySelector('.chkEnableAllChannels').addEventListener('change', function (this: HTMLInputElement) { - page.querySelector('.channelAccessListContainer').classList.toggle('hide', this.checked); + (page.querySelector('.chkEnableAllChannels') as HTMLInputElement).addEventListener('change', function (this: HTMLInputElement) { + (page.querySelector('.channelAccessListContainer') as HTMLDivElement).classList.toggle('hide', this.checked); }); - page.querySelector('.chkEnableAllFolders').addEventListener('change', function (this: HTMLInputElement) { - page.querySelector('.folderAccessListContainer').classList.toggle('hide', this.checked); + (page.querySelector('.chkEnableAllFolders') as HTMLInputElement).addEventListener('change', function (this: HTMLInputElement) { + (page.querySelector('.folderAccessListContainer') as HTMLDivElement).classList.toggle('hide', this.checked); }); - page.querySelector('.userLibraryAccessForm').addEventListener('submit', onSubmit); + (page.querySelector('.userLibraryAccessForm') as HTMLFormElement).addEventListener('submit', onSubmit); }, [loadData]); return ( diff --git a/src/components/pages/UserParentalControl.tsx b/src/components/pages/UserParentalControl.tsx index 11e9b96e05..21eb3dc99f 100644 --- a/src/components/pages/UserParentalControl.tsx +++ b/src/components/pages/UserParentalControl.tsx @@ -104,7 +104,7 @@ const UserParentalControl: FunctionComponent = () => { setUnratedItems(itemsArr); - const blockUnratedItems = page.querySelector('.blockUnratedItems'); + const blockUnratedItems = page.querySelector('.blockUnratedItems') as HTMLDivElement; blockUnratedItems.dispatchEvent(new CustomEvent('create')); }, []); @@ -118,7 +118,7 @@ const UserParentalControl: FunctionComponent = () => { setBlockedTags(tags); - const blockedTagsElem = page.querySelector('.blockedTags'); + const blockedTagsElem = page.querySelector('.blockedTags') as HTMLDivElement; for (const btnDeleteTag of blockedTagsElem.querySelectorAll('.btnDeleteTag')) { btnDeleteTag.addEventListener('click', function () { @@ -141,7 +141,7 @@ const UserParentalControl: FunctionComponent = () => { setAccessSchedules(schedules); - const accessScheduleList = page.querySelector('.accessScheduleList'); + const accessScheduleList = page.querySelector('.accessScheduleList') as HTMLDivElement; for (const btnDelete of accessScheduleList.querySelectorAll('.btnDelete')) { btnDelete.addEventListener('click', function () { @@ -181,12 +181,12 @@ const UserParentalControl: FunctionComponent = () => { } } - page.querySelector('.selectMaxParentalRating').value = ratingValue; + (page.querySelector('.selectMaxParentalRating') as HTMLInputElement).value = ratingValue; if (user.Policy.IsAdministrator) { - page.querySelector('.accessScheduleSection').classList.add('hide'); + (page.querySelector('.accessScheduleSection') as HTMLDivElement).classList.add('hide'); } else { - page.querySelector('.accessScheduleSection').classList.remove('hide'); + (page.querySelector('.accessScheduleSection') as HTMLDivElement).classList.remove('hide'); } renderAccessSchedule(user.Policy.AccessSchedules || []); loading.hide(); @@ -226,7 +226,7 @@ const UserParentalControl: FunctionComponent = () => { throw new Error('Unexpected null user.Policy'); } - user.Policy.MaxParentalRating = page.querySelector('.selectMaxParentalRating').value || null; + user.Policy.MaxParentalRating = (page.querySelector('.selectMaxParentalRating') as HTMLInputElement).value || null; user.Policy.BlockUnratedItems = Array.prototype.filter.call(page.querySelectorAll('.chkUnratedItem'), function (i) { return i.checked; }).map(function (i) { @@ -299,15 +299,15 @@ const UserParentalControl: FunctionComponent = () => { return false; }; - page.querySelector('.btnAddSchedule').addEventListener('click', function () { + (page.querySelector('.btnAddSchedule') as HTMLButtonElement).addEventListener('click', function () { showSchedulePopup({}, -1); }); - page.querySelector('.btnAddBlockedTag').addEventListener('click', function () { + (page.querySelector('.btnAddBlockedTag') as HTMLButtonElement).addEventListener('click', function () { showBlockedTagPopup(); }); - page.querySelector('.userParentalControlForm').addEventListener('submit', onSubmit); + (page.querySelector('.userParentalControlForm') as HTMLFormElement).addEventListener('submit', onSubmit); }, [loadBlockedTags, loadData, renderAccessSchedule]); return ( diff --git a/src/components/pages/UserProfilesPage.tsx b/src/components/pages/UserProfilesPage.tsx index 82bed095e9..1ec0b37dce 100644 --- a/src/components/pages/UserProfilesPage.tsx +++ b/src/components/pages/UserProfilesPage.tsx @@ -120,7 +120,7 @@ const UserProfilesPage: FunctionComponent = () => { } }); - page.querySelector('.btnAddUser').addEventListener('click', function() { + (page.querySelector('.btnAddUser') as HTMLButtonElement).addEventListener('click', function() { Dashboard.navigate('usernew.html'); }); }, []); diff --git a/src/components/search/SearchFields.tsx b/src/components/search/SearchFields.tsx index c6e6f76795..699cf52edf 100644 --- a/src/components/search/SearchFields.tsx +++ b/src/components/search/SearchFields.tsx @@ -38,7 +38,7 @@ type SearchFieldsProps = { const SearchFields: FunctionComponent = ({ onSearch = () => {} }: SearchFieldsProps) => { const element = useRef(null); - const getSearchInput = () => element?.current?.querySelector('.searchfields-txtSearch'); + const getSearchInput = () => element?.current?.querySelector('.searchfields-txtSearch'); const debouncedOnSearch = useMemo(() => debounce(onSearch, 400), [onSearch]);