Finished JSDoc for all of www/js/channel except for www/js/channel/queuePanel.js

This commit is contained in:
rainbow napkin 2025-09-05 05:53:33 -04:00
parent c0f219276f
commit 0e1b48c02c
97 changed files with 12323 additions and 135 deletions

View file

@ -13,7 +13,17 @@ GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.*/
/**
* Class representing the settings panel
* @extends panelObj
*/
class settingsPanel extends panelObj{
/**
* Instantiates a new Panel Object
* @param {channel} client - Parent client Management Object
* @param {Document} panelDocument - Panel Document
*/
constructor(client, panelDocument){
super(client, "Client Settings", "/panel/settings", panelDocument);
}
@ -28,14 +38,23 @@ class settingsPanel extends panelObj{
this.setupInput();
}
/**
* Defines input-related event handlers
*/
setupInput(){
this.youtubeSource.addEventListener('change', this.updateYoutubeSource.bind(this));
}
/**
* Renders actual user settings state into panel display
*/
renderSettings(){
this.youtubeSource.value = localStorage.getItem("ytPlayerType");
}
/**
* Event handler for Youtube Source selector
*/
updateYoutubeSource(){
localStorage.setItem("ytPlayerType", this.youtubeSource.value);
client.processConfig("ytPlayerType", this.youtubeSource.value);