{"version":3,"file":"./js/index.d3a3e6.bundle.js","mappings":"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","sources":["webpack://squeezelite-esp32/webpack/runtime/chunk loaded","webpack://squeezelite-esp32/./src/js/custom.js","webpack://squeezelite-esp32/./src/index.ts","webpack://squeezelite-esp32/webpack/bootstrap","webpack://squeezelite-esp32/webpack/runtime/compat get default export","webpack://squeezelite-esp32/webpack/runtime/define property getters","webpack://squeezelite-esp32/webpack/runtime/global","webpack://squeezelite-esp32/webpack/runtime/hasOwnProperty shorthand","webpack://squeezelite-esp32/webpack/runtime/make namespace object","webpack://squeezelite-esp32/webpack/runtime/node module decorator","webpack://squeezelite-esp32/webpack/runtime/jsonp chunk loading","webpack://squeezelite-esp32/webpack/startup"],"sourcesContent":["var deferred = [];\n__webpack_require__.O = (result, chunkIds, fn, priority) => {\n\tif(chunkIds) {\n\t\tpriority = priority || 0;\n\t\tfor(var i = deferred.length; i > 0 && deferred[i - 1][2] > priority; i--) deferred[i] = deferred[i - 1];\n\t\tdeferred[i] = [chunkIds, fn, priority];\n\t\treturn;\n\t}\n\tvar notFulfilled = Infinity;\n\tfor (var i = 0; i < deferred.length; i++) {\n\t\tvar [chunkIds, fn, priority] = deferred[i];\n\t\tvar fulfilled = true;\n\t\tfor (var j = 0; j < chunkIds.length; j++) {\n\t\t\tif ((priority & 1 === 0 || notFulfilled >= priority) && Object.keys(__webpack_require__.O).every((key) => (__webpack_require__.O[key](chunkIds[j])))) {\n\t\t\t\tchunkIds.splice(j--, 1);\n\t\t\t} else {\n\t\t\t\tfulfilled = false;\n\t\t\t\tif(priority < notFulfilled) notFulfilled = priority;\n\t\t\t}\n\t\t}\n\t\tif(fulfilled) {\n\t\t\tdeferred.splice(i--, 1)\n\t\t\tvar r = fn();\n\t\t\tif (r !== undefined) result = r;\n\t\t}\n\t}\n\treturn result;\n};","var he = require('he');\nvar Promise = require('es6-promise').Promise;\nwindow.bootstrap = require('bootstrap');\nimport Cookies from 'js-cookie';\n\n\n\nif (!String.prototype.format) {\n Object.assign(String.prototype, {\n format() {\n const args = arguments;\n return this.replace(/{(\\d+)}/g, function (match, number) {\n return typeof args[number] !== 'undefined' ? args[number] : match;\n });\n },\n });\n}\nif (!String.prototype.encodeHTML) {\n Object.assign(String.prototype, {\n encodeHTML() {\n return he.encode(this).replace(/\\n/g, '
');\n },\n });\n}\nObject.assign(Date.prototype, {\n toLocalShort() {\n const opt = { dateStyle: 'short', timeStyle: 'short' };\n return this.toLocaleString(undefined, opt);\n },\n});\nfunction handleNVSVisible(){\n let nvs_previous_checked = isEnabled(Cookies.get(\"show-nvs\"));\n $('input#show-nvs')[0].checked = nvs_previous_checked ;\n if ($('input#show-nvs')[0].checked || recovery) {\n $('*[href*=\"-nvs\"]').show();\n } else {\n $('*[href*=\"-nvs\"]').hide();\n }\n}\n\n\nfunction isEnabled(val) {\n return val!=undefined && typeof val === 'string' && val.match(\"[Yy1]\");\n}\n\nconst nvsTypes = {\n NVS_TYPE_U8: 0x01,\n\n /*! < Type uint8_t */\n NVS_TYPE_I8: 0x11,\n\n /*! < Type int8_t */\n NVS_TYPE_U16: 0x02,\n\n /*! < Type uint16_t */\n NVS_TYPE_I16: 0x12,\n\n /*! < Type int16_t */\n NVS_TYPE_U32: 0x04,\n\n /*! < Type uint32_t */\n NVS_TYPE_I32: 0x14,\n\n /*! < Type int32_t */\n NVS_TYPE_U64: 0x08,\n\n /*! < Type uint64_t */\n NVS_TYPE_I64: 0x18,\n\n /*! < Type int64_t */\n NVS_TYPE_STR: 0x21,\n\n /*! < Type string */\n NVS_TYPE_BLOB: 0x42,\n\n /*! < Type blob */\n NVS_TYPE_ANY: 0xff /*! < Must be last */,\n};\nconst btIcons = {\n bt_playing: {'label':'','icon': 'media_bluetooth_on'},\n bt_disconnected: {'label':'','icon': 'media_bluetooth_off'},\n bt_neutral: {'label':'','icon': 'bluetooth'},\n bt_connecting: {'label':'','icon': 'bluetooth_searching'},\n bt_connected: {'label':'','icon': 'bluetooth_connected'},\n bt_disabled: {'label':'','icon': 'bluetooth_disabled'},\n play_arrow: {'label':'','icon': 'play_circle_filled'},\n pause: {'label':'','icon': 'pause_circle'},\n stop: {'label':'','icon': 'stop_circle'},\n '': {'label':'','icon':''}\n};\nconst batIcons = [\n { icon: \"battery_0_bar\", label:'▪', ranges: [{ f: 5.8, t: 6.8 }, { f: 8.8, t: 10.2 }] },\n { icon: \"battery_2_bar\", label:'▪▪', ranges: [{ f: 6.8, t: 7.4 }, { f: 10.2, t: 11.1 }] },\n { icon: \"battery_3_bar\", label:'▪▪▪', ranges: [{ f: 7.4, t: 7.5 }, { f: 11.1, t: 11.25 }] },\n { icon: \"battery_4_bar\", label:'▪▪▪▪', ranges: [{ f: 7.5, t: 7.8 }, { f: 11.25, t: 11.7 }] }\n];\nconst btStateIcons = [\n { desc: 'Idle', sub: ['bt_neutral'] },\n { desc: 'Discovering', sub: ['bt_connecting'] },\n { desc: 'Discovered', sub: ['bt_connecting'] },\n { desc: 'Unconnected', sub: ['bt_disconnected'] },\n { desc: 'Connecting', sub: ['bt_connecting'] },\n {\n desc: 'Connected',\n sub: ['bt_connected', 'play_arrow', 'bt_playing', 'pause', 'stop'],\n },\n { desc: 'Disconnecting', sub: ['bt_disconnected'] },\n];\n\nconst pillcolors = {\n MESSAGING_INFO: 'badge-success',\n MESSAGING_WARNING: 'badge-warning',\n MESSAGING_ERROR: 'badge-danger',\n};\nconst connectReturnCode = {\n OK: 0,\n FAIL: 1,\n DISC: 2,\n LOST: 3,\n RESTORE: 4,\n ETH: 5\n}\nconst taskStates = {\n 0: 'eRunning',\n /*! < A task is querying the state of itself, so must be running. */\n 1: 'eReady',\n /*! < The task being queried is in a read or pending ready list. */\n 2: 'eBlocked',\n /*! < The task being queried is in the Blocked state. */\n 3: 'eSuspended',\n /*! < The task being queried is in the Suspended state, or is in the Blocked state with an infinite time out. */\n 4: 'eDeleted',\n};\nlet flashState = {\n NONE: 0,\n REBOOT_TO_RECOVERY: 2,\n SET_FWURL: 5,\n FLASHING: 6,\n DONE: 7,\n UPLOADING: 8,\n ERROR: 9,\n UPLOADCOMPLETE: 10,\n _state: -1,\n olderRecovery: false,\n statusText: '',\n flashURL: '',\n flashFileName: '',\n statusPercent: 0,\n Completed: false,\n recovery: false,\n prevRecovery: false,\n updateModal: new bootstrap.Modal(document.getElementById('otadiv'), {}),\n reset: function () {\n\n this.olderRecovery = false;\n this.statusText = '';\n this.statusPercent = -1;\n this.flashURL = '';\n this.flashFileName = undefined;\n this.UpdateProgress();\n $('#rTable tr.release').removeClass('table-success table-warning');\n $('.flact').prop('disabled', false);\n $('#flashfilename').value = null;\n $('#fw-url-input').value = null;\n if(!this.isStateError()){\n $('span#flash-status').html('');\n $('#fwProgressLabel').parent().removeClass('bg-danger');\n }\n this._state = this.NONE\n return this;\n },\n isStateUploadComplete: function () {\n return this._state == this.UPLOADCOMPLETE;\n },\n isStateError: function () {\n return this._state == this.ERROR;\n },\n isStateNone: function () {\n return this._state == this.NONE;\n },\n isStateRebootRecovery: function () {\n return this._state == this.REBOOT_TO_RECOVERY;\n },\n isStateSetUrl: function () {\n return this._state == this.SET_FWURL;\n },\n isStateFlashing: function () {\n return this._state == this.FLASHING;\n },\n isStateDone: function () {\n return this._state == this.DONE;\n },\n isStateUploading: function () {\n return this._state == this.UPLOADING;\n },\n init: function () {\n this._state = this.NONE;\n return this;\n },\n\n SetStateError: function () {\n this._state = this.ERROR;\n $('#fwProgressLabel').parent().addClass('bg-danger');\n return this;\n },\n SetStateNone: function () {\n this._state = this.NONE;\n return this;\n },\n SetStateRebootRecovery: function () {\n this._state = this.REBOOT_TO_RECOVERY;\n // Reboot system to recovery mode\n this.SetStatusText('Starting recovery mode.')\n $.ajax({\n url: '/recovery.json',\n context: this,\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n error: function (xhr, _ajaxOptions, thrownError) {\n this.setOTAError(`Unexpected error while trying to restart to recovery. (status=${xhr.status ?? ''}, error=${thrownError ?? ''} ) `);\n },\n complete: function (response) {\n this.SetStatusText('Waiting for system to boot.')\n },\n });\n return this;\n },\n SetStateSetUrl: function () {\n this._state = this.SET_FWURL;\n this.statusText = 'Sending firmware download location.';\n let confData = {\n fwurl: {\n value: this.flashURL,\n type: 33,\n }\n };\n post_config(confData);\n return this;\n },\n SetStateFlashing: function () {\n this._state = this.FLASHING;\n return this;\n },\n SetStateDone: function () {\n this._state = this.DONE;\n this.reset();\n return this;\n },\n SetStateUploading: function () {\n this._state = this.UPLOADING;\n return this.SetStatusText('Sending file to device.');\n },\n SetStateUploadComplete: function () {\n this._state = this.UPLOADCOMPLETE;\n return this;\n },\n\n isFlashExecuting: function () {\n return true === (this._state != this.UPLOADING && (this.statusText !== '' || this.statusPercent >= 0));\n },\n\n\n\n toString: function () {\n let keys = Object.keys(this);\n return keys.find(x => this[x] === this._state);\n },\n\n setOTATargets: function () {\n this.flashURL = '';\n this.flashFileName = '';\n this.flashURL = $('#fw-url-input').val();\n let fileInput = $('#flashfilename')[0].files;\n if (fileInput.length > 0) {\n this.flashFileName = fileInput[0];\n }\n if (this.flashFileName.length == 0 && this.flashURL.length == 0) {\n this.setOTAError('Invalid url or file. Cannot start OTA');\n }\n return this;\n },\n\n setOTAError: function (message) {\n this.SetStateError().SetStatusPercent(0).SetStatusText(message).reset();\n return this;\n },\n\n ShowDialog: function () {\n if (!this.isStateNone()) {\n this.updateModal.show();\n $('.flact').prop('disabled', true);\n }\n return this;\n },\n\n SetStatusPercent: function (pct) {\n var pctChanged = (this.statusPercent != pct);\n this.statusPercent = pct;\n if (pctChanged) {\n if (!this.isStateUploading() && !this.isStateFlashing()) {\n this.SetStateFlashing();\n }\n if (pct == 100) {\n if (this.isStateFlashing()) {\n this.SetStateDone();\n }\n else if (this.isStateUploading()) {\n this.statusPercent = 0;\n this.SetStateFlashing();\n }\n }\n this.UpdateProgress().ShowDialog();\n }\n return this;\n },\n SetStatusText: function (txt) {\n var changed = (this.statusText != txt);\n this.statusText = txt;\n if (changed) {\n $('span#flash-status').html(this.statusText);\n this.ShowDialog();\n }\n\n return this;\n },\n UpdateProgress: function () {\n $('.progress-bar')\n .css('width', this.statusPercent + '%')\n .attr('aria-valuenow', this.statusPercent)\n .text(this.statusPercent + '%')\n $('.progress-bar').html((this.isStateDone() ? 100 : this.statusPercent) + '%');\n return this;\n },\n StartOTA: function () {\n this.logEvent(this.StartOTA.name);\n $('#fwProgressLabel').parent().removeClass('bg-danger');\n this.setOTATargets();\n if (this.isStateError()) {\n return this;\n }\n if (!recovery) {\n this.SetStateRebootRecovery();\n }\n else {\n this.SetStateFlashing().TargetReadyStartOTA();\n }\n\n return this;\n },\n UploadLocalFile: function () {\n this.SetStateUploading();\n const xhttp = new XMLHttpRequest();\n xhttp.context = this;\n var boundHandleUploadProgressEvent = this.HandleUploadProgressEvent.bind(this);\n var boundsetOTAError=this.setOTAError.bind(this);\n xhttp.upload.addEventListener(\"progress\",boundHandleUploadProgressEvent, false);\n xhttp.onreadystatechange = function () {\n if (xhttp.readyState === 4) {\n if (xhttp.status === 0 || xhttp.status === 404) {\n boundsetOTAError(`Upload Failed. Recovery version might not support uploading. Please use web update instead.`);\n }\n }\n };\n xhttp.open('POST', '/flash.json', true);\n xhttp.send(this.flashFileName);\n },\n TargetReadyStartOTA: function () {\n if (recovery && this.prevRecovery && !this.isStateRebootRecovery() && !this.isStateFlashing()) {\n // this should only execute once, while being in a valid state\n return this;\n }\n\n this.logEvent(this.TargetReadyStartOTA.name);\n if (!recovery) {\n console.error('Event TargetReadyStartOTA fired in the wrong mode ');\n return this;\n }\n this.prevRecovery = true;\n\n if (this.flashFileName !== '') {\n this.UploadLocalFile();\n }\n else if (this.flashURL != '') {\n this.SetStateSetUrl();\n }\n else {\n this.setOTAError('Invalid URL or file name while trying to start the OTa process')\n }\n },\n HandleUploadProgressEvent: function (data) {\n this.logEvent(this.HandleUploadProgressEvent.name);\n this.SetStateUploading().SetStatusPercent(Math.round(data.loaded / data.total * 100)).SetStatusText('Uploading file to device');\n },\n EventTargetStatus: function (data) {\n if (!this.isStateNone()) {\n this.logEvent(this.EventTargetStatus.name);\n }\n if (data.ota_pct ?? -1 >= 0) {\n this.olderRecovery = true;\n this.SetStatusPercent(data.ota_pct);\n }\n if ((data.ota_dsc ?? '') != '') {\n this.olderRecovery = true;\n this.SetStatusText(data.ota_dsc);\n }\n\n if (data.recovery != undefined) {\n this.recovery = data.recovery === 1 ? true : false;\n }\n if (this.isStateRebootRecovery() && this.recovery) {\n this.TargetReadyStartOTA();\n }\n },\n EventOTAMessageClass: function (data) {\n this.logEvent(this.EventOTAMessageClass.name);\n var otaData = JSON.parse(data);\n this.SetStatusPercent(otaData.ota_pct).SetStatusText(otaData.ota_dsc);\n },\n logEvent: function (fun) {\n console.log(`${fun}, flash state ${this.toString()}, recovery: ${this.recovery}, ota pct: ${this.statusPercent}, ota desc: ${this.statusText}`);\n }\n\n};\nwindow.hideSurrounding = function (obj) {\n $(obj).parent().parent().hide();\n}\n\nlet presetsloaded = false;\nlet is_i2c_locked = false;\nlet statusInterval = 2000;\nlet messageInterval = 2500;\nfunction post_config(data) {\n let confPayload = {\n timestamp: Date.now(),\n config: data\n };\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(confPayload),\n error: handleExceptionResponse,\n });\n}\n\n\nwindow.hFlash = function () {\n // reset file upload selection if any;\n $('#flashfilename').value = null\n flashState.StartOTA();\n}\nwindow.handleReboot = function (link) {\n if (link == 'reboot_ota') {\n $('#reboot_ota_nav').removeClass('active').prop(\"disabled\", true); delayReboot(500, '', 'reboot_ota');\n }\n else {\n $('#reboot_nav').removeClass('active'); delayReboot(500, '', link);\n }\n}\nfunction isConnected(){\n return ConnectedTo.ip && ConnectedTo.ip!='0.0.0.0';\n}\nfunction getIcon(icons){\n return isConnected()?icons.icon:icons.label;\n}\nfunction handlebtstate(data) {\n let icon = '';\n let tt = '';\n if (data.bt_status !== undefined && data.bt_sub_status !== undefined) {\n const iconindex = btStateIcons[data.bt_status].sub[data.bt_sub_status];\n if (iconindex) {\n icon = btIcons[iconindex];\n tt = btStateIcons[data.bt_status].desc;\n } else {\n icon = btIcons.bt_connected;\n tt = 'Output status';\n }\n }\n\n $('#o_type').attr('title', tt);\n $('#o_bt').html(isConnected()?icon.label:icon.text);\n}\nfunction handleTemplateTypeRadio(outtype) {\n $('#o_type').children('span').css({ display: 'none' });\n if (outtype === 'bt') {\n output = 'bt';\n } else if (outtype === 'spdif') {\n output = 'spdif';\n } else {\n output = 'i2s';\n }\n $('#' + output).prop('checked', true);\n $('#o_' + output).css({ display: 'inline' });\n}\n\nfunction handleExceptionResponse(xhr, _ajaxOptions, thrownError) {\n console.log(xhr.status);\n console.log(thrownError);\n if (thrownError !== '') {\n showLocalMessage(thrownError, 'MESSAGING_ERROR');\n }\n}\nfunction HideCmdMessage(cmdname) {\n $('#toast_' + cmdname)\n .removeClass('table-success')\n .removeClass('table-warning')\n .removeClass('table-danger')\n .addClass('table-success')\n .removeClass('show');\n $('#msg_' + cmdname).html('');\n}\nfunction showCmdMessage(cmdname, msgtype, msgtext, append = false) {\n let color = 'table-success';\n if (msgtype === 'MESSAGING_WARNING') {\n color = 'table-warning';\n } else if (msgtype === 'MESSAGING_ERROR') {\n color = 'table-danger';\n }\n $('#toast_' + cmdname)\n .removeClass('table-success')\n .removeClass('table-warning')\n .removeClass('table-danger')\n .addClass(color)\n .addClass('show');\n let escapedtext = msgtext\n .substring(0, msgtext.length - 1)\n .encodeHTML()\n .replace(/\\n/g, '
');\n escapedtext =\n ($('#msg_' + cmdname).html().length > 0 && append\n ? $('#msg_' + cmdname).html() + '
'\n : '') + escapedtext;\n $('#msg_' + cmdname).html(escapedtext);\n}\n\nlet releaseURL =\n 'https://api.github.com/repos/sle118/squeezelite-esp32/releases';\n\nlet recovery = false;\nlet messagesHeld = false;\nconst commandHeader = 'squeezelite -b 500:2000 -d all=info -C 30 -W';\n//let blockFlashButton = false;\nlet apList = null;\n//let selectedSSID = '';\n//let checkStatusInterval = null;\nlet messagecount = 0;\nlet messageseverity = 'MESSAGING_INFO';\nlet SystemConfig = {};\nlet LastCommandsState = null;\nvar output = '';\nlet hostName = '';\nlet versionName = 'Squeezelite-ESP32';\nlet prevmessage = '';\nlet project_name = versionName;\nlet board_model = '';\nlet platform_name = versionName;\nlet preset_name = '';\nlet btSinkNamesOptSel = '#cfg-audio-bt_source-sink_name';\nlet ConnectedTo = {};\nlet ConnectingToSSID = {};\nlet lmsBaseUrl;\nlet prevLMSIP = '';\nconst ConnectingToActions = {\n 'CONN': 0, 'MAN': 1, 'STS': 2,\n}\n\nPromise.prototype.delay = function (duration) {\n return this.then(\n function (value) {\n return new Promise(function (resolve) {\n setTimeout(function () {\n resolve(value);\n }, duration);\n });\n },\n function (reason) {\n return new Promise(function (_resolve, reject) {\n setTimeout(function () {\n reject(reason);\n }, duration);\n });\n }\n );\n};\n\nfunction getConfigJson(slimMode) {\n const config = {};\n $('input.nvs').each(function (_index, entry) {\n if (!slimMode) {\n const nvsType = parseInt(entry.attributes.nvs_type.value, 10);\n if (entry.id !== '') {\n config[entry.id] = {};\n if (\n nvsType === nvsTypes.NVS_TYPE_U8 ||\n nvsType === nvsTypes.NVS_TYPE_I8 ||\n nvsType === nvsTypes.NVS_TYPE_U16 ||\n nvsType === nvsTypes.NVS_TYPE_I16 ||\n nvsType === nvsTypes.NVS_TYPE_U32 ||\n nvsType === nvsTypes.NVS_TYPE_I32 ||\n nvsType === nvsTypes.NVS_TYPE_U64 ||\n nvsType === nvsTypes.NVS_TYPE_I64\n ) {\n config[entry.id].value = parseInt(entry.value);\n } else {\n config[entry.id].value = entry.value;\n }\n config[entry.id].type = nvsType;\n }\n } else {\n config[entry.id] = entry.value;\n }\n });\n const key = $('#nvs-new-key').val();\n const val = $('#nvs-new-value').val();\n if (key !== '') {\n if (!slimMode) {\n config[key] = {};\n config[key].value = val;\n config[key].type = 33;\n } else {\n config[key] = val;\n }\n }\n return config;\n}\n\nfunction handleHWPreset(allfields, reboot) {\n\n const selJson = JSON.parse(allfields[0].value);\n var cmd = allfields[0].attributes.cmdname.value;\n\n console.log(`selected model: ${selJson.name}`);\n let confPayload = {\n timestamp: Date.now(),\n config: { model_config: { value: selJson.name, type: 33 } }\n };\n for (const [name, value] of Object.entries(selJson.config)) {\n const storedval = (typeof value === 'string' || value instanceof String) ? value : JSON.stringify(value);\n confPayload.config[name] = {\n value: storedval,\n type: 33,\n }\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Setting ${name}=${storedval} `,\n true\n );\n }\n\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Committing `,\n true\n );\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(confPayload),\n error: function (xhr, _ajaxOptions, thrownError) {\n handleExceptionResponse(xhr, _ajaxOptions, thrownError);\n showCmdMessage(\n cmd,\n 'MESSAGING_ERROR',\n `Unexpected error ${(thrownError !== '') ? thrownError : 'with return status = ' + xhr.status} `,\n true\n );\n },\n success: function (response) {\n showCmdMessage(\n cmd,\n 'MESSAGING_INFO',\n `Saving complete `,\n true\n );\n console.log(response);\n if (reboot) {\n delayReboot(2500, cmd);\n }\n },\n });\n\n\n\n\n\n}\n\n\n// pull json file from https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/b462691f69e2ad31ac95c547af6ec97afb0f53db/squeezelite-esp32-presets.json and\nfunction loadPresets() {\n if ($(\"#cfg-hw-preset-model_config\").length == 0) return;\n if (presetsloaded) return;\n presetsloaded = true;\n $('#cfg-hw-preset-model_config').html('');\n $.getJSON(\n 'https://gist.githubusercontent.com/sle118/dae585e157b733a639c12dc70f0910c5/raw/',\n { _: new Date().getTime() },\n function (data) {\n $.each(data, function (key, val) {\n $('#cfg-hw-preset-model_config').append(``);\n if (preset_name !== '' && preset_name == val.name) {\n $('#cfg-hw-preset-model_config').val(preset_name);\n }\n });\n if (preset_name !== '') {\n ('#prev_preset').show().val(preset_name);\n }\n }\n\n ).fail(function (jqxhr, textStatus, error) {\n const err = textStatus + ', ' + error;\n console.log('Request Failed: ' + err);\n }\n );\n}\n\nfunction delayReboot(duration, cmdname, ota = 'reboot') {\n const url = '/' + ota + '.json';\n $('tbody#tasks').empty();\n $('#tasks_sect').css('visibility', 'collapse');\n Promise.resolve({ cmdname: cmdname, url: url })\n .delay(duration)\n .then(function (data) {\n if (data.cmdname.length > 0) {\n showCmdMessage(\n data.cmdname,\n 'MESSAGING_WARNING',\n 'System is rebooting.\\n',\n true\n );\n } else {\n showLocalMessage('System is rebooting.\\n', 'MESSAGING_WARNING');\n }\n console.log('now triggering reboot');\n $(\"button[onclick*='handleReboot']\").addClass('rebooting');\n $.ajax({\n url: data.url,\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n error: handleExceptionResponse,\n complete: function () {\n console.log('reboot call completed');\n Promise.resolve(data)\n .delay(6000)\n .then(function (rdata) {\n if (rdata.cmdname.length > 0) {\n HideCmdMessage(rdata.cmdname);\n }\n getCommands();\n getConfig();\n });\n },\n });\n });\n}\n// eslint-disable-next-line no-unused-vars\nwindow.saveAutoexec1 = function (apply) {\n showCmdMessage('cfg-audio-tmpl', 'MESSAGING_INFO', 'Saving.\\n', false);\n let commandLine = commandHeader + ' -n \"' + $('#player').val() + '\"';\n if (output === 'bt') {\n commandLine += ' -o \"BT\" -R -Z 192000';\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_INFO',\n 'Remember to configure the Bluetooth audio device name.\\n',\n true\n );\n } else if (output === 'spdif') {\n commandLine += ' -o SPDIF -Z 192000';\n } else {\n commandLine += ' -o I2S';\n }\n if ($('#optional').val() !== '') {\n commandLine += ' ' + $('#optional').val();\n }\n const data = {\n timestamp: Date.now(),\n };\n data.config = {\n autoexec1: { value: commandLine, type: 33 },\n autoexec: {\n value: $('#disable-squeezelite').prop('checked') ? '0' : '1',\n type: 33,\n },\n };\n\n $.ajax({\n url: '/config.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify(data),\n error: handleExceptionResponse,\n complete: function (response) {\n if (\n response.responseText &&\n JSON.parse(response.responseText).result === 'OK'\n ) {\n showCmdMessage('cfg-audio-tmpl', 'MESSAGING_INFO', 'Done.\\n', true);\n if (apply) {\n delayReboot(1500, 'cfg-audio-tmpl');\n }\n } else if (JSON.parse(response.responseText).result) {\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_WARNING',\n JSON.parse(response.responseText).Result + '\\n',\n true\n );\n } else {\n showCmdMessage(\n 'cfg-audio-tmpl',\n 'MESSAGING_ERROR',\n response.statusText + '\\n'\n );\n }\n console.log(response.responseText);\n },\n });\n console.log('sent data:', JSON.stringify(data));\n}\nwindow.handleDisconnect = function () {\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'DELETE',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n });\n}\nfunction setPlatformFilter(val) {\n if ($('.upf').filter(function () { return $(this).text().toUpperCase() === val.toUpperCase() }).length > 0) {\n $('#splf').val(val).trigger('input');\n return true;\n }\n return false;\n}\nwindow.handleConnect = function () {\n ConnectingToSSID.ssid = $('#manual_ssid').val();\n ConnectingToSSID.pwd = $('#manual_pwd').val();\n ConnectingToSSID.dhcpname = $('#dhcp-name2').val();\n $(\"*[class*='connecting']\").hide();\n $('#ssid-wait').text(ConnectingToSSID.ssid);\n $('.connecting').show();\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'POST',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n ssid: ConnectingToSSID.ssid,\n pwd: ConnectingToSSID.pwd\n }),\n error: handleExceptionResponse,\n });\n\n // now we can re-set the intervals regardless of result\n\n}\n$(document).ready(function () {\n $('.material-icons').each(function (_index, entry) {\n entry.attributes['icon']=entry.textContent;\n });\n setIcons(true);\n handleNVSVisible();\n flashState.init();\n $('#fw-url-input').on('input', function () {\n if ($(this).val().length > 8 && ($(this).val().startsWith('http://') || $(this).val().startsWith('https://'))) {\n $('#start-flash').show();\n }\n else {\n $('#start-flash').hide();\n }\n });\n $('.upSrch').on('input', function () {\n const val = this.value;\n $(\"#rTable tr\").removeClass(this.id + '_hide');\n if (val.length > 0) {\n $(`#rTable td:nth-child(${$(this).parent().index() + 1})`).filter(function () {\n return !$(this).text().toUpperCase().includes(val.toUpperCase());\n }).parent().addClass(this.id + '_hide');\n }\n $('[class*=\"_hide\"]').hide();\n $('#rTable tr').not('[class*=\"_hide\"]').show()\n\n });\n setTimeout(refreshAP, 1500);\n\n $('#WifiConnectDialog')[0].addEventListener('shown.bs.modal', function (event) {\n $(\"*[class*='connecting']\").hide();\n\n if (event?.relatedTarget) {\n ConnectingToSSID.Action = ConnectingToActions.CONN;\n if ($(event.relatedTarget).children('td:eq(1)').text() == ConnectedTo.ssid) {\n ConnectingToSSID.Action = ConnectingToActions.STS;\n }\n else {\n if (!$(event.relatedTarget).is(':last-child')) {\n ConnectingToSSID.ssid = $(event.relatedTarget).children('td:eq(1)').text();\n $('#manual_ssid').val(ConnectingToSSID.ssid);\n }\n else {\n ConnectingToSSID.Action = ConnectingToActions.MAN;\n ConnectingToSSID.ssid = '';\n $('#manual_ssid').val(ConnectingToSSID.ssid);\n }\n }\n }\n\n\n if (ConnectingToSSID.Action !== ConnectingToActions.STS) {\n $('.connecting-init').show();\n $('#manual_ssid').trigger('focus');\n }\n else {\n handleWifiDialog();\n }\n });\n\n $('#WifiConnectDialog')[0].addEventListener('hidden.bs.modal', function () {\n $('#WifiConnectDialog input').val('');\n });\n\n $('#uCnfrm')[0].addEventListener('shown.bs.modal', function () {\n $('#selectedFWURL').text($('#fw-url-input').val());\n });\n\n $('input#show-commands')[0].checked = LastCommandsState === 1;\n $('a[href^=\"#tab-commands\"]').hide();\n $('#load-nvs').on('click', function () {\n $('#nvsfilename').trigger('click');\n });\n $('#nvsfilename').on('change', function () {\n if (typeof window.FileReader !== 'function') {\n throw \"The file API isn't supported on this browser.\";\n }\n if (!this.files) {\n throw 'This browser does not support the `files` property of the file input.';\n }\n if (!this.files[0]) {\n return undefined;\n }\n\n const file = this.files[0];\n let fr = new FileReader();\n fr.onload = function (e) {\n let data = {};\n try {\n data = JSON.parse(e.target.result);\n } catch (ex) {\n alert('Parsing failed!\\r\\n ' + ex);\n }\n $('input.nvs').each(function (_index, entry) {\n $(this).parent().removeClass('bg-warning').removeClass('bg-success');\n if (data[entry.id]) {\n if (data[entry.id] !== entry.value) {\n console.log(\n 'Changed ' + entry.id + ' ' + entry.value + '==>' + data[entry.id]\n );\n $(this).parent().addClass('bg-warning');\n $(this).val(data[entry.id]);\n }\n else {\n $(this).parent().addClass('bg-success');\n }\n }\n });\n var changed = $(\"input.nvs\").children('.bg-warning');\n if (changed) {\n alert('Highlighted values were changed. Press Commit to change on the device');\n }\n }\n fr.readAsText(file);\n this.value = null;\n\n }\n );\n $('#clear-syslog').on('click', function () {\n messagecount = 0;\n messageseverity = 'MESSAGING_INFO';\n $('#msgcnt').text('');\n $('#syslogTable').html('');\n });\n\n $('#ok-credits').on('click', function () {\n $('#credits').slideUp('fast', function () { });\n $('#app').slideDown('fast', function () { });\n });\n\n $('#acredits').on('click', function (event) {\n event.preventDefault();\n $('#app').slideUp('fast', function () { });\n $('#credits').slideDown('fast', function () { });\n });\n\n $('input#show-commands').on('click', function () {\n this.checked = this.checked ? 1 : 0;\n if (this.checked) {\n $('a[href^=\"#tab-commands\"]').show();\n LastCommandsState = 1;\n } else {\n LastCommandsState = 0;\n $('a[href^=\"#tab-commands\"]').hide();\n }\n });\n\n $('input#show-nvs').on('click', function () {\n this.checked = this.checked ? 1 : 0;\n Cookies.set(\"show-nvs\", this.checked?'Y':'N');\n handleNVSVisible();\n });\n $('#btn_reboot_recovery').on('click', function () {\n handleReboot('recovery');\n });\n $('#btn_reboot').on('click', function () {\n handleReboot('reboot');\n });\n $('#btn_flash').on('click', function () {\n hFlash();\n });\n $('#save-autoexec1').on('click', function () {\n saveAutoexec1(false);\n });\n $('#commit-autoexec1').on('click', function () {\n saveAutoexec1(true);\n });\n $('#btn_disconnect').on('click', function () {\n ConnectedTo={};\n refreshAPHTML2();\n $.ajax({\n url: '/connect.json',\n dataType: 'text',\n method: 'DELETE',\n cache: false,\n contentType: 'application/json; charset=utf-8',\n data: JSON.stringify({\n timestamp: Date.now(),\n }),\n });\n });\n $('#btnJoin').on('click', function () {\n handleConnect();\n });\n $('#reboot_nav').on('click', function () {\n handleReboot('reboot');\n });\n $('#reboot_ota_nav').on('click', function () {\n handleReboot('reboot_ota');\n });\n\n $('#save-as-nvs').on('click', function () {\n const config = getConfigJson(true);\n const a = document.createElement('a');\n a.href = URL.createObjectURL(\n new Blob([JSON.stringify(config, null, 2)], {\n type: 'text/plain',\n })\n );\n a.setAttribute(\n 'download',\n 'nvs_config_' + hostName + '_' + Date.now() + 'json'\n );\n document.body.appendChild(a);\n a.click();\n document.body.removeChild(a);\n });\n\n $('#save-nvs').on('click', function () {\n post_config(getConfigJson(false));\n });\n\n $('#fwUpload').on('click', function () {\n const fileInput = document.getElementById('flashfilename').files;\n if (fileInput.length === 0) {\n alert('No file selected!');\n } else {\n $('#fw-url-input').value = null;\n flashState.StartOTA();\n }\n\n });\n $('[name=output-tmpl]').on('click', function () {\n handleTemplateTypeRadio(this.id);\n });\n\n $('#chkUpdates').on('click', function () {\n $('#rTable').html('');\n $.getJSON(releaseURL, function (data) {\n let i = 0;\n const branches = [];\n data.forEach(function (release) {\n const namecomponents = release.name.split('#');\n const branch = namecomponents[3];\n if (!branches.includes(branch)) {\n branches.push(branch);\n }\n });\n let fwb = '';\n branches.forEach(function (branch) {\n fwb += '';\n });\n $('#fwbranch').append(fwb);\n\n data.forEach(function (release) {\n let url = '';\n release.assets.forEach(function (asset) {\n if (asset.name.match(/\\.bin$/)) {\n url = asset.browser_download_url;\n }\n });\n const namecomponents = release.name.split('#');\n const ver = namecomponents[0];\n const cfg = namecomponents[2];\n const branch = namecomponents[3];\n var bits = ver.substr(ver.lastIndexOf('-') + 1);\n bits = (bits == '32' || bits == '16') ? bits : '';\n\n let body = release.body;\n body = body.replace(/'/gi, '\"');\n body = body.replace(\n /[\\s\\S]+(### Revision Log[\\s\\S]+)### ESP-IDF Version Used[\\s\\S]+/,\n '$1'\n );\n body = body.replace(/- \\(.+?\\) /g, '- ').encodeHTML();\n $('#rTable').append(`