88 lines
2.3 KiB
JavaScript
88 lines
2.3 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 21/04/2018
|
|
* Time: 19:58
|
|
*/
|
|
|
|
|
|
$( function () {
|
|
dbo.employeeTargetModel = {
|
|
|
|
employeeTargets: ko.observableArray( [] ),
|
|
employeeID : null,
|
|
|
|
init: function ( employeeID ) {
|
|
var vm = dbo.employeeTargetModel;
|
|
|
|
vm.employeeID = employeeID;
|
|
|
|
vm.showModal();
|
|
|
|
vm.refreshEmployeeTargets();
|
|
},
|
|
|
|
showModal: function () {
|
|
$( "#employee-target-modal" ).modal( 'show' );
|
|
},
|
|
|
|
addEmployeeTarget: function () {
|
|
var vm = dbo.employeeTargetModel;
|
|
|
|
var targetLength = vm.employeeTargets().length;
|
|
|
|
var lastDate = null
|
|
if ( targetLength > 0 )
|
|
var lastDate = vm.employeeTargets[targetLength - 1].enddate();
|
|
|
|
var data = {
|
|
startdate: lastDate,
|
|
enddate : null,
|
|
target : 0
|
|
}
|
|
|
|
vm.employeeTargets.push( new vm.Employeetarget( data ) );
|
|
},
|
|
|
|
saveEmployeeTarget: function () {
|
|
// if
|
|
},
|
|
|
|
refreshEmployeeTargets: function () {
|
|
var vm = dbo.employeeTargetModel;
|
|
|
|
dbo.employeeTargetDataService.getEmployeeTargets( vm.employeeID, function ( data ) {
|
|
vm.employeeTargets.removeAll();
|
|
|
|
_.each( data, function ( p ) {
|
|
console.log( 'jhaVCGHJkq' );
|
|
vm.employeeTargets.push( new Employeetarget( p ) );
|
|
} );
|
|
} );
|
|
},
|
|
|
|
Employeetarget: function ( data ) {
|
|
var self = this;
|
|
self.id = data.id;
|
|
self.startdate = ko.observable( data.startdate );
|
|
self.enddate = ko.observable( data.enddate );
|
|
self.target = ko.observable( data.target );
|
|
|
|
self.validTarget = ko.pureComputed( function () {
|
|
if ( !self.startdate() ) return false;
|
|
console.log( 1 );
|
|
if ( self.target() == 0 ) return;
|
|
console.log( 2 );
|
|
if ( ! Number.isInteger( self.target() ) ) return false;
|
|
console.log( 3 );
|
|
|
|
return true;
|
|
} );
|
|
}
|
|
};
|
|
|
|
ko.applyBindings( dbo.employeeTargetModel, document.getElementById( 'employee-target-modal' ) );
|
|
|
|
} );
|
|
|