Files
dbois/public/js/lib/modals/employeeTargetModal.js
T
2018-04-21 21:12:09 +02:00

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' ) );
} );