96 lines
2.6 KiB
JavaScript
96 lines
2.6 KiB
JavaScript
/**
|
|
* Created by Pensare Software.
|
|
* User: Theo Weijmer
|
|
* Date: 05/05/2018
|
|
* Time: 20:15
|
|
*/
|
|
|
|
|
|
dbo.vatInit = function () {
|
|
var timeout;
|
|
|
|
if ( dbo.vatModel !== undefined ) {
|
|
|
|
dbo.vatModel.refreshVat();
|
|
|
|
} else {
|
|
|
|
dbo.vatModel = {
|
|
|
|
vats: ko.observableArray( [] ),
|
|
|
|
init: function () {
|
|
var vm = dbo.vatModel;
|
|
|
|
vm.refreshVat();
|
|
},
|
|
|
|
addVat: function () {
|
|
var vm = dbo.vatModel;
|
|
dbo.vatDataService.addVat( function () {
|
|
vm.refreshVat();
|
|
} );
|
|
},
|
|
|
|
refreshVat: function () {
|
|
var vm = dbo.vatModel;
|
|
dbo.vatDataService.getVats( 'F', function ( data ) {
|
|
vm.vats.removeAll();
|
|
|
|
_.each( data, function ( p ) {
|
|
vm.vats.push( new vm.Vat( p ) );
|
|
} );
|
|
} );
|
|
},
|
|
|
|
toggleEdit: function () {
|
|
this.inEdit( !this.inEdit() );
|
|
},
|
|
|
|
validateNumber: function ( field ) {
|
|
var self = this;
|
|
|
|
self[field]( dbo.helpers.validateNumber( self[field](), true ) );
|
|
if ( timeout ) {
|
|
clearTimeout( timeout );
|
|
timeout = null;
|
|
}
|
|
timeout = setTimeout( function () {
|
|
dbo.vatDataService.saveVat( self.id, self.vatrate() );
|
|
}, 700 );
|
|
},
|
|
|
|
Vat: function ( data, inEdit = false ) {
|
|
this.id = data.id;
|
|
this.vatrate = ko.observable( data.vatrate || 0 );
|
|
this.inEdit = ko.observable( inEdit );
|
|
},
|
|
|
|
removeVat: function () {
|
|
dbo.vatDataService.removeVat( this.id, function(data){
|
|
if( data.result ){
|
|
dbo.vatModel.refreshVat();
|
|
|
|
var message = 'BTW succesvol verwijderd';
|
|
var modalClass = 'modal-success';
|
|
}else{
|
|
var message ='BTW is in gebruik en kan niet worden verwijderd';
|
|
var modalClass= 'modal-danger';
|
|
}
|
|
tellMe( {
|
|
title : 'verwijderen BTW',
|
|
message : message,
|
|
notify : false,
|
|
modalClass: modalClass
|
|
});
|
|
} );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
dbo.vatModel.init();
|
|
|
|
ko.applyBindings( dbo.vatModel, document.getElementById( 'VAT' ) );
|
|
}
|
|
}; |