This commit is contained in:
2017-12-25 20:23:32 +01:00
parent 1175a4f8ff
commit 0cc882060c
36 changed files with 781 additions and 86 deletions
+4
View File
@@ -1,5 +1,9 @@
body{
padding-top:0;
/*font-size:12px;*/
}
.page{
background-color: #fff;
}
.site-menubar{
top:0;
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

+9
View File
@@ -0,0 +1,9 @@
.redish{
color:#F2353C;
}
.blueish{
color:#247CF0;
}
.greenish{
color:#5A9101;
}
-6
View File
@@ -1,6 +0,0 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 22/12/2017
* Time: 13:32
*/
@@ -0,0 +1,18 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 22/12/2017
* Time: 13:32
*/
dbo.pageDataservice = {
getAppPages : function(callback){
$.getJSON('index.php/menu/getAppPages')
.done(function(data){
callback(data);
});
}
};
@@ -0,0 +1,23 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 17:11
*/
dbo.rolesDataservice = {
roles: false,
getAllRoles: function ( archive, callback ) {
var ds = dbo.rolesDataservice
if ( ds.roles ) callback( ds.roles );
$.getJSON( 'index.php/beheer/rolesController/getAllRoles/' + archive )
.done( function ( data ) {
ds.roles = data;
callback( data );
} );
}
}
@@ -0,0 +1,33 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 09:50
*/
dbo.userDataService = {
getAllUsers: function ( archive = 'F', callback ) {
$.getJSON( 'index.php/beheer/usersController/getAllUsers/' + archive )
.done( function ( data ) {
callback( data );
} );
},
getUser: function ( userID, callback ) {
$.getJSON( 'index.php/beheer/usersController/getUser/' + userID )
.done( function ( data ) {
callback( data );
} );
},
checkUsername: function ( username, callback ) {
$.post( 'index.php/beheer/userController/checkUsername', 'json' )
.done( function ( data ) {
console.log( data );
callback( data );
} )
}
}
+13
View File
@@ -0,0 +1,13 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 19:01
*/
dbo.helpers = {
validateEmail: function ( email ) {
var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
return re.test( email.toLowerCase() );
}
}
+7 -9
View File
@@ -20,16 +20,14 @@ $(function(){
ko.bindingHandlers.fadeVisible = {
init : function ( element, valueAccessor ) {
// Initially set the element to be instantly visible/hidden depending on the value
var value = valueAccessor();
$( element ).toggle( ko.unwrap( value ) ); // Use "unwrapObservable" so we can handle values that may or may not be observable
init: function(element, valueAccessor) {
var shouldDisplay = valueAccessor();
$(element).toggle(shouldDisplay);
},
update: function ( element, valueAccessor ) {
// Whenever the value subsequently changes, slowly fade the element in or out
var value = valueAccessor();
ko.unwrap( value ) ? $( element ).fadeIn( 500 ) : $( element ).fadeOut( 500 );
update: function(element, valueAccessor) {
// On update, fade in/out
var shouldDisplay = valueAccessor();
shouldDisplay ? $(element).fadeIn(750) : $(element).fadeOut(750);
}
};
@@ -0,0 +1,46 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 25/12/2017
* Time: 09:49
*/
dbo.usersInit = function () {
if ( dbo.usersModel !== undefined ) {
} else {
dbo.usersModel = {
users: ko.observableArray( [] ),
user : ko.observable(),
roles: ko.observableArray( [] ),
init: function () {
var vm = dbo.usersModel;
dbo.userDataService.getAllUsers( 'F', function ( data ) {
vm.users( data );
} );
dbo.rolesDataservice.getAllRoles( 'F', function ( data ) {
vm.roles( data );
} );
},
newUser: function () {
$( "#user-modal" ).modal( 'show' );
dbo.editUserModal.newUser();
}
};
dbo.usersModel.init();
ko.applyBindings( dbo.usersModel, document.getElementById( 'USERS' ) );
}
}
+1 -1
View File
@@ -17,7 +17,7 @@ $( function () {
dbo.loginService.login();
}
}
console.log( 'text' );
ko.applyBindings( dbo.loginModel, document.getElementById( "login-form" ) );
} );
+32 -6
View File
@@ -10,15 +10,41 @@ $( function () {
dbo.menuModel = {
init : function(){
pages : ko.observable(),
initialized: ko.observable( false ),
init: function () {
var vm = dbo.menuModel;
dbo.pageDataservice.getAppPages( function ( data ) {
vm.pages = data;
//create for each page an observable
$.each( data, function ( i, p ) {
vm[p.pageurl] = ko.observable( false );
} );
// first page will be visible
vm[data[0].pageurl]( true );
ko.applyBindings( dbo.menuModel, document.getElementById( "dbois-app" ) );
vm.initialized( true );
} );
},
setPage: function ( page ) {
var vm = dbo.menuModel;
$.each( vm.pages, function ( i, p ) {
vm[p.pageurl]( false );
} );
vm[page]( true );
var func = page.toLowerCase() + 'Init';
window.dbo[func]();
}
}
dbo.menuModel.init();
ko.applyBindings(dbo.menuModel, document.getElementById("dbois-app"));
} );
+118
View File
@@ -0,0 +1,118 @@
/**
* 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' ) );
} );
-13
View File
@@ -1,13 +0,0 @@
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 22/12/2017
* Time: 13:32
*/
dbo.pageDataservice = {
$.getJSON('index.php/')
};