205 lines
6.4 KiB
JavaScript
205 lines
6.4 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){
|
|
// add empty option
|
|
let option = document.createElement("option");
|
|
option.value = "";
|
|
option.innerText = "";
|
|
preset.appendChild(option);
|
|
|
|
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');
|
|
}
|
|
}
|
|
|
|
function save_audio(){
|
|
let preset1 = $('#preset1').val();
|
|
let preset2 = $('#preset2').val();
|
|
let preset3 = $('#preset3').val();
|
|
let preset4 = $('#preset4').val();
|
|
let preset5 = $('#preset5').val();
|
|
|
|
if (confirm("Are you sure want to change Audio Preset ?")){
|
|
fetch("/setting/audiofile", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
},
|
|
body: new URLSearchParams({preset1: preset1, preset2: preset2, preset3: preset3, preset4: preset4, preset5: preset5})
|
|
}).then(resp => {
|
|
if (resp.status === 200) {
|
|
alert("Success");
|
|
} else {
|
|
resp.text().then(text=>alert("Failed to change Audio Preset : "+text));
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
function save_camera(){
|
|
let ip = $('#setting_ip').val();
|
|
let port = $('#setting_port').val();
|
|
let username = $('#setting_username').val();
|
|
let password = $('#setting_password').val();
|
|
|
|
if (confirm("Are you sure want to change Camera Information ?")){
|
|
fetch("/setting/camera", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
},
|
|
body: new URLSearchParams({ip: ip, port: port, username: username, password: password})
|
|
}).then(resp => {
|
|
if (resp.status === 200) {
|
|
alert("Success");
|
|
} else {
|
|
resp.text().then(text => {
|
|
alert("Failed to change Camera Information : "+text);
|
|
});
|
|
|
|
}
|
|
|
|
});
|
|
}
|
|
}
|
|
|
|
function save_login(){
|
|
let username = $('#login_username').val();
|
|
let password = $('#edit_password').val();
|
|
let confirmpassword = $('#confirm_password').val();
|
|
if (username.length === 0){
|
|
alert("Username cannot be empty");
|
|
return;
|
|
}
|
|
if (password.length === 0){
|
|
alert("Password cannot be empty");
|
|
return;
|
|
}
|
|
if (password !== confirmpassword){
|
|
alert("Password not match");
|
|
return;
|
|
}
|
|
|
|
if (confirm("Are you sure want to change Web Login Information ?")){
|
|
fetch("/setting/weblogin", {
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": "application/x-www-form-urlencoded"
|
|
},
|
|
body: new URLSearchParams({username: username, password: password})
|
|
}).then(resp => {
|
|
if (resp.status === 200) {
|
|
alert("Success");
|
|
} else {
|
|
resp.text().then(text => {
|
|
alert("Failed to change Web Login Information : "+text);
|
|
});
|
|
}
|
|
})
|
|
}
|
|
} |