/*! @file pushToTalkPI.js @brief Contains PI for Push to Talk action @author Valentin Reinbold @copyright (c) 2021, Corsair Memory, Inc. All Rights Reserved. */ function ServerStatsPI(inContext, inLanguage) { // Inherit from PI PI.call(this, inContext, inLanguage); // Save a copy of a method var piSaveSettings = this.saveSettings; // Add fields var fields =`
`; document.getElementById('placeholder').innerHTML = fields; // Temporarily(?) disable press/long press customization document.getElementById('on-press').style.display = "none"; document.getElementById('on-longpress').style.display = "none"; document.getElementById('warn-link').onclick = ()=>{ openURL("https://discord.com/blog/add-the-discord-widget-to-your-site"); } this.initField('server'); const serverEl = document.getElementById("server"); serverEl.addEventListener("change", () => { settings['serverName'] = serverEl.options[serverEl.selectedIndex].innerText; piSaveSettings(); }); this.initField('select-messages'); this.initField('select-users'); this.initField('select-press'); this.initField('select-longpress'); document.getElementById('widget-not-enabled').style.display = "none"; // Before overwriting parrent method, save a copy of it var piLoad = this.load; // Public function called to load the fields this.load = function (data) { // Call PI load method piLoad.call(this, data); // If action enabled if (!data.disabled && !data.unauthorized) { // Load all servers let defaultsServer = {key: settings["server"], value: settings["serverName"]}; this.loadField('server', data.servers, defaultsServer); document.getElementById('widget-not-enabled').style.display = "none"; if(data.warning){ document.getElementById(data.warning).style.removeProperty("display"); } } // Enable / Disable the fields document.getElementById('server').disabled = data.disabled || data.unauthorized; document.getElementById('select-messages').disabled = data.disabled || data.unauthorized; document.getElementById('select-users').disabled = data.disabled || data.unauthorized; document.getElementById('select-press').disabled = data.disabled || data.unauthorized; document.getElementById('select-longpress').disabled = data.disabled || data.unauthorized; // Show PI document.getElementById('pi').style.display = "block"; } }