Files
cabinet/assets/controllers/setting_controller.js
T
2026-05-28 12:09:28 +03:00

75 lines
2.6 KiB
JavaScript

import { Controller } from 'stimulus';
const loader = require("./../components/loader.js");
const helper = require("./../components/helper.js");
/*
* This is an example Stimulus controller!
*
* Any element with a data-controller="setting" attribute will cause
* this controller to be executed. The name "setting" comes from the filename:
* setting_controller.js -> "setting"
*
* Delete this file or adapt it for your use!
*/
export default class extends Controller {
connect() {
loader.loadSDK('setting');
}
submit() {
var plainPassword = document.getElementById('setting_plainPassword');
var settingToken = document.getElementById('setting__token');
window.webSDK.clientModify({
'password': plainPassword.value
}).then(function(resolve) {
if (resolve.success) {
$.ajax({
method: "POST",
crossDomain: false,
url: "/setting",
contentType: "application/x-www-form-urlencoded",
dataType: "json",
data: {
'setting': {
'_token': settingToken.value,
'plainPassword': plainPassword.value
}
},
success(response) {
if (response.data.success == true) {
var parser = document.createElement('a');
parser.href = response.data.redirect;
window.location.replace(document.location.origin + parser.pathname + parser.search);
}
}
});
}
}).catch(function (error) {
helper.sendRequest({
data: {'error': error, method: 'clientModify'}
}, helper.getHostname() + '/api/log', "POST", "json", true, "application/json");
console.log(error)
var msg = document.getElementById('msg');
var div = document.createElement('div');
div.classList = 'alert alert-danger';
msg.innerHTML = '';
msg.append(div);
if (error.data.password) {
var p = document.createElement('p');
p.innerHTML = error.data.password[0];
div.append(p);
} else if (error.data['password.password'][0]) {
var p = document.createElement('p');
p.innerHTML = error.data['password.password'][0];
div.append(p);
}
});
}
}