freedom-js-support
Version:
Freedom Javascript Utilities
51 lines (44 loc) • 1.35 kB
JavaScript
const login = {
createForm(data={},action="login-as",method="POST"){
let form = document.createElement('form');
form.setAttribute('method',method);
form.setAttribute('action',action);
let csrf_field = document.createElement('input');
csrf_field.setAttribute('name','_token');
csrf_field.setAttribute('value',this.getCSRFToken());
form.appendChild(csrf_field);
for(let key in data){
let input = document.createElement('input');
input.setAttribute('name',key);
input.setAttribute('value',data[key]);
form.appendChild(input);
}
return form;
},
formLoginAs(data={},action="login-as",method="POST"){
let form = this.createForm(data,action,method);
document.body.appendChild(form)
return form.submit();
},
getCSRFToken(){
const csrf = document.getElementsByName('csrf-token')[0]
if(csrf){
return csrf.getAttribute('content');
}
return '';
}
}
export const VUE_INSTALLER = ( Vue ) => {
if(Vue._login){
return;
}
Vue._login = login
Object.defineProperties(Vue.prototype,{
$_login:{
get:() => {
return Vue._login;
}
}
})
}
export default login;