/** * Created by Pensare Software. * User: Theo Weijmer * Date: 29/12/2017 * Time: 14:19 */ dbo.customersInit = function () { if ( dbo.customersModel !== undefined ) { } else { dbo.customersModel = { customers: ko.observableArray( [] ), customer : ko.observable(), archive : ko.observable( false ), init: function () { var vm = dbo.customersModel; vm.refreshCustomers(); }, newCustomer: function () { var vm = dbo.customersModel; dbo.editCustomerModal.newEditCustomer( false, function () { vm.refreshCustomers(); } ); }, toggleArchive: function () { var vm = dbo.customersModel; vm.archive( !vm.archive() ); vm.refreshCustomers(); }, editCustomer: function () { var customer = this; var vm = dbo.customersModel; dbo.editCustomerModal.newEditCustomer( customer, function () { vm.refreshCustomers(); } ); }, archiveCustomer: function () { var vm = dbo.customersModel; var self = this; var status = self.archive == 'F' ? 'T' : 'F'; dbo.customerDataService.archiveCustomer( self.id, status, function () { vm.refreshCustomers(); } ); }, removeCustomer: function () { var vm = dbo.customersModel; var self = this; tellMe( { title : 'verwijderen opdrachtgever', message : 'weet u zeker dat u de opdrachtgever wilt verwijderen, dit kan niet ongedaan worden gemaakt', notify : true, noText : 'nee verwijder de opdrachtgever niet', yesText : 'ja verwijder de opdrachtgever', modalClass: 'modal-warning' }, function ( response ) { console.log( response ); if ( response ) { dbo.customerDataService.removeCustomer( self.id, function ( data ) { if ( data.result ) { tellMe( { title : 'opdrachtgever verwijderd', message : 'de opdrachtgever is succesvol verwijderd', modalClass: 'modal-success' }, function () { vm.refreshCustomers(); } ); } else { tellMe( { title : 'fout bij verwijderen opdrachtgever', message : 'de opdrachtgever kan niet worden verwijderd', modalClass: 'modal-danger' } ); } } ); } } ); }, refreshCustomers: function () { var vm = dbo.customersModel; dbo.customerDataService.getAllCustomers( vm.archive() ? 'T' : 'F', function ( data ) { vm.customers( data ); } ); } }; dbo.customersModel.init(); ko.applyBindings( dbo.customersModel, document.getElementById( 'CUSTOMERS' ) ); } }