Files
dbois/public/js/lib/modules/modals/userModal.js
T
2017-12-25 20:23:32 +01:00

118 lines
3.1 KiB
JavaScript

/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 17:32
*/
$( function () {
dbo.editUserModal = {
id : null,
roles : ko.observableArray( [] ),
firstname : ko.observable(),
lastname : ko.observable(),
middlename: ko.observable(),
username : ko.observable(),
email : ko.observable(),
role : ko.observable(),
init: function () {
var vm = dbo.editUserModal;
dbo.rolesDataservice.getAllRoles( 'F', function ( data ) {
vm.roles( data );
} );
},
newUser: function () {
var vm = dbo.editUserModal;
vm.setUser();
},
setRole: function () {
var vm = dbo.editUserModal;
vm.role( this.rolelevel );
},
saveUser: function () {
var vm = dbo.editUserModal;
if ( vm.formValid == false ) return;
dbo.userDataService.checkUsername()
var submitDATA = {
firstname : vm.firstname(),
middlename: vm.middlename(),
lastname : vm.lastname(),
username : vm.username(),
email : vm.email(),
role : vm.role()
}
},
setUser: function ( user = false ) {
var vm = dbo.editUserModal;
vm.id = user.id || 0;
vm.vm.firstname( user.firstname || '' );
vm.lastname( user.firstname || '' );
vm.middlename( user.firstname || '' );
vm.username( user.username || '' );
vm.email( user.email || '' );
vm.role( user.role || null );
}
};
dbo.editUserModal.init();
dbo.editUserModal.lastnameInvalid = ko.pureComputed( function () {
if ( !this.lastname() ) return true;
console.log( this.lastname() );
if ( this.lastname().length < 2 ) return true;
return false;
}, dbo.editUserModal );
dbo.editUserModal.firstnameInvalid = ko.pureComputed( function () {
if ( !this.firstname() ) return true;
if ( this.firstname().length < 2 ) return true;
return false;
}, dbo.editUserModal );
dbo.editUserModal.usernameInvalid = ko.pureComputed( function () {
if ( !this.username() ) return true;
if ( this.username().length < 4 ) return true;
return false;
}, dbo.editUserModal );
dbo.editUserModal.emailInvalid = ko.pureComputed( function () {
if ( !this.email() ) return true;
return !dbo.helpers.validateEmail( this.email() );
}, dbo.editUserModal );
dbo.editUserModal.formValid = ko.pureComputed( function () {
if ( this.firstnameInvalid() ) return false;
if ( this.lastnameInvalid() ) return false;
if ( this.usernameInvalid() ) return false;
if ( this.emailInvalid() ) return false;
return true;
}, dbo.editUserModal )
ko.applyBindings( dbo.editUserModal, document.getElementById( 'user-modal' ) );
} );