111 lines
3.5 KiB
JavaScript
111 lines
3.5 KiB
JavaScript
// script for setting.html start here
|
|
async function onload(){
|
|
const resp = await fetch("/setting");
|
|
if (resp.status === 200) {
|
|
/**
|
|
* @type {Object}
|
|
* @property {String[]} AudioFiles
|
|
* @property {String} AudioFile1
|
|
* @property {String} AudioFile2
|
|
* @property {String} AudioFile3
|
|
* @property {String} AudioFile4
|
|
* @property {String} AudioFile5
|
|
* @property {String} CameraIP
|
|
* @property {String} CameraPort
|
|
* @property {String} CameraUsername
|
|
* @property {String} CameraPassword
|
|
* @property {String} LoginUsername
|
|
* @property {String} LoginPassword
|
|
*/
|
|
const data = await resp.json();
|
|
fill_select(1, data["AudioFiles"]);
|
|
fill_select(2, data["AudioFiles"]);
|
|
fill_select(3, data["AudioFiles"]);
|
|
fill_select(4, data["AudioFiles"]);
|
|
fill_select(5, data["AudioFiles"]);
|
|
|
|
$("#preset1").val(data["AudioFile1"]);
|
|
$("#preset2").val(data["AudioFile2"]);
|
|
$("#preset3").val(data["AudioFile3"]);
|
|
$("#preset4").val(data["AudioFile4"]);
|
|
$("#preset5").val(data["AudioFile5"]);
|
|
|
|
$("#setting_ip").val(data["CameraIP"]);
|
|
$("#setting_port").val(data["CameraPort"]);
|
|
$("#setting_username").val(data["CameraUsername"]);
|
|
$("#setting_password").val(data["CameraPassword"]);
|
|
|
|
$("#login_username").val(data["LoginUsername"]);
|
|
$("#edit_password").val(data["LoginPassword"]);
|
|
$("#confirm_password").val(data["LoginPassword"]);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* Fill select with values
|
|
* @param {number} index start from 1
|
|
* @param {String[]} values array of values
|
|
*/
|
|
function fill_select(index, values){
|
|
|
|
/**
|
|
*
|
|
* @type {HTMLSelectElement}
|
|
*/
|
|
let preset = document.getElementById("preset"+index);
|
|
preset.innerHTML = "";
|
|
if (values!=null && values.length>0){
|
|
for (let i = 0; i < values.length; i++) {
|
|
const element = values[i];
|
|
let option = document.createElement("option");
|
|
option.value = element;
|
|
option.innerText = element;
|
|
preset.appendChild(option);
|
|
}
|
|
}
|
|
}
|
|
|
|
function cameraPassword() {
|
|
const passwordField = document.getElementById('setting_password');
|
|
const icon = document.getElementById('icon_camera');
|
|
|
|
if (passwordField.type === 'password') {
|
|
passwordField.type = 'text';
|
|
icon.classList.remove('fa-eye');
|
|
icon.classList.add('fa-eye-slash');
|
|
} else {
|
|
passwordField.type = 'password';
|
|
icon.classList.remove('fa-eye-slash');
|
|
icon.classList.add('fa-eye');
|
|
}
|
|
}
|
|
|
|
function showPassword() {
|
|
const passwordField = document.getElementById('edit_password');
|
|
const icon = document.getElementById('icon_password');
|
|
|
|
if (passwordField.type === 'password') {
|
|
passwordField.type = 'text';
|
|
icon.classList.remove('fa-eye');
|
|
icon.classList.add('fa-eye-slash');
|
|
} else {
|
|
passwordField.type = 'password';
|
|
icon.classList.remove('fa-eye-slash');
|
|
icon.classList.add('fa-eye');
|
|
}
|
|
}
|
|
|
|
function showConfirm() {
|
|
const passwordField = document.getElementById('confirm_password');
|
|
const icon = document.getElementById('icon_confirm');
|
|
|
|
if (passwordField.type === 'password') {
|
|
passwordField.type = 'text';
|
|
icon.classList.remove('fa-eye');
|
|
icon.classList.add('fa-eye-slash');
|
|
} else {
|
|
passwordField.type = 'password';
|
|
icon.classList.remove('fa-eye-slash');
|
|
icon.classList.add('fa-eye');
|
|
}
|
|
} |