75 lines
2.6 KiB
JavaScript
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);
|
|
}
|
|
});
|
|
}
|
|
|
|
}
|