Files
2018-08-05 10:48:53 +02:00

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