129 lines
4.3 KiB
JavaScript
129 lines
4.3 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 05/01/2018
|
|
* Time: 15:54
|
|
*/
|
|
|
|
|
|
dbo.projectsInit = function () {
|
|
|
|
if ( dbo.projectsModel !== undefined ) {
|
|
|
|
} else {
|
|
dbo.projectsModel = {
|
|
|
|
projects : ko.observableArray( [] ),
|
|
project : ko.observable(),
|
|
archive : ko.observable( false ),
|
|
selectedRowID: ko.observable(),
|
|
|
|
init: function () {
|
|
var vm = dbo.projectsModel;
|
|
|
|
vm.refreshProjects();
|
|
},
|
|
|
|
newProject: function () {
|
|
var vm = dbo.projectsModel;
|
|
dbo.editProjectModal.newEditProject( false, function () {
|
|
vm.refreshProjects();
|
|
} );
|
|
},
|
|
|
|
toggleArchive: function () {
|
|
var vm = dbo.projectsModel;
|
|
|
|
vm.archive( !vm.archive() );
|
|
|
|
vm.refreshProjects();
|
|
},
|
|
|
|
editProject: function () {
|
|
var project = this;
|
|
var vm = dbo.projectsModel;
|
|
|
|
dbo.editProjectModal.newEditProject( project, function () {
|
|
vm.refreshProjects();
|
|
} );
|
|
},
|
|
|
|
selectProject: function () {
|
|
var vm = dbo.projectsModel;
|
|
|
|
vm.selectedRowID( this.id );
|
|
},
|
|
|
|
archiveProject: function () {
|
|
var vm = dbo.projectsModel;
|
|
var self = this;
|
|
|
|
var status = self.archive == 'F' ? 'T' : 'F';
|
|
|
|
dbo.projectDataService.archiveProject( self.id, status, function () {
|
|
vm.refreshProjects();
|
|
} );
|
|
},
|
|
|
|
removeProject: function () {
|
|
var vm = dbo.projectsModel;
|
|
var self = this;
|
|
|
|
tellMe( {
|
|
title : 'verwijderen projecte',
|
|
message : 'weet u zeker dat u de project wilt verwijderen, dit kan niet ongedaan worden gemaakt',
|
|
notify : true,
|
|
noText : 'nee verwijder de project niet',
|
|
yesText : 'ja verwijder de project',
|
|
modalClass: 'modal-warning'
|
|
}, function ( response ) {
|
|
console.log( response );
|
|
if ( response ) {
|
|
dbo.projectDataService.removeProject( self.id, function ( data ) {
|
|
if ( data.result ) {
|
|
tellMe( {
|
|
title : 'project verwijderd',
|
|
message : 'de project is succesvol verwijderd',
|
|
modalClass: 'modal-success'
|
|
}, function () {
|
|
vm.refreshProjects();
|
|
} );
|
|
} else {
|
|
tellMe( {
|
|
title : 'fout bij verwijderen project',
|
|
message : 'de project kan niet worden verwijderd',
|
|
modalClass: 'modal-danger'
|
|
} );
|
|
}
|
|
} );
|
|
}
|
|
} );
|
|
},
|
|
|
|
refreshProjects: function () {
|
|
var vm = dbo.projectsModel;
|
|
|
|
dbo.projectDataService.getAllProjects( vm.archive() ? 'T' : 'F', function ( data ) {
|
|
vm.projects.removeAll();
|
|
$.each( data, function ( i, p ) {
|
|
vm.projects.push( new vm.Project( p ) );
|
|
} )
|
|
} );
|
|
},
|
|
|
|
Project: function ( data ) {
|
|
this.id = data.id;
|
|
this.projectnumber = data.projectnumber;
|
|
this.projectleader = data.projectleader.fullname;
|
|
this.customer = data.customer.name;
|
|
this.startdate = data.startdate;
|
|
this.enddate = data.enddate;
|
|
this.archive = data.archive;
|
|
},
|
|
};
|
|
|
|
dbo.projectsModel.init();
|
|
|
|
ko.applyBindings( dbo.projectsModel, document.getElementById( 'PROJECTS' ) );
|
|
}
|
|
} |