Files
dbois/public/js/lib/modals/projectModal.js
T
2018-01-18 08:45:09 +01:00

102 lines
2.8 KiB
JavaScript

/**
* Created by Pensare Software.
* Offer: Theo Weijmer
* Date: 25/12/2017
* Time: 17:32
*/
$( function () {
dbo.editProjectModal = {
offers : ko.observableArray( [] ),
projectEmployees: ko.observableArray( [] ),
customers : ko.observableArray( [] ),
showProject : ko.observable( false ),
projectID : null,
callback : null,
customerID : ko.observable( null ),
archive : ko.observable( false ),
startdate : ko.observable( null ),
enddate : ko.observable( null ),
init: function () {
var vm = dbo.editProjectModal;
vm.refreshProject();
dbo.customerDataService.getAllCustomers( 'F', function ( data ) {
vm.customers( data );
} );
},
addProject: function ( callback ) {
var vm = dbo.editProjectModal;
vm.callback = callback;
dbo.projectDataService.addProject( function ( data ) {
vm.projectID = data;
vm.showProject( true );
vm.init();
} );
},
addProjectEmployee: function () {
var vm = dbo.editProjectModal;
dbo.projectDataService.addProjectemployee( function ( projectID ) {
vm.projectID = projectID;
vm.refreshProject();
} );
},
saveCustomerID: function () {
},
closeProject: function () {
var vm = dbo.editProjectModal;
vm.showProject( false );
},
refreshProject: function () {
var vm = dbo.editProjectModal;
dbo.projectDataService.getProject( vm.projectID, function ( data ) {
vm.Project( data );
} );
},
Project: function ( data ) {
var vm = dbo.editProjectModal;
var self = this;
vm.id = data.id;
vm.customerID( data.customer_id );
vm.startdate( data.startdate );
vm.enddate( data.enddate );
self.projectEmployees = ko.observableArray( [] );
$.each( data.employees, function ( i, p ) {
self.projectEmployees.push( new vm.Projectemployee( p ) );
} );
},
Projectemployee: function ( data ) {
var self = this;
self.id = data.id;
self.employee_id = data.employee_id;
self.fullname = data.user ? data.user.fullname : '#NB';
self.tarif = data.tarif;
self.budget = data.budget;
self.startdate = dbo.helpers.mysql2date( data.startdate );
self.enddate = dbo.helpers.mysql2date( data.enddate );
}
};
ko.applyBindings( dbo.editProjectModal, document.getElementById( 'project-modal' ) );
} );