/** * Created by Pensare Software. * User: Theo Weijmer * Date: 29/12/2017 * Time: 14:19 */ dbo.externalsInit = function () { if ( dbo.externalsModel !== undefined ) { } else { dbo.externalsModel = { externals: ko.observableArray( [] ), external : ko.observable(), archive : ko.observable( false ), init: function () { var vm = dbo.externalsModel; vm.refreshExternals(); }, newExternal: function () { var vm = dbo.externalsModel; dbo.editExternalModal.newEditExternal( false, function () { vm.refreshExternals(); } ); }, toggleArchive: function () { var vm = dbo.externalsModel; vm.archive( !vm.archive() ); vm.refreshExternals(); }, editExternal: function () { var external = this; var vm = dbo.externalsModel; dbo.editExternalModal.newEditExternal( external, function () { vm.refreshExternals(); } ); }, archiveExternal: function () { var vm = dbo.externalsModel; var self = this; var status = self.archive == 'F' ? 'T' : 'F'; dbo.externalDataService.archiveExternal( self.id, status, function () { vm.refreshExternals(); } ); }, removeExternal: function () { var vm = dbo.externalsModel; var self = this; tellMe( { title : 'verwijderen onderaannemer', message : 'weet u zeker dat u de onderaannemer wilt verwijderen, dit kan niet ongedaan worden gemaakt', notify : true, noText : 'nee verwijder de onderaannemer niet', yesText : 'ja verwijder de onderaannemer', modalClass: 'modal-warning' }, function ( response ) { if ( response ) { dbo.externalDataService.removeExternal( self.id, function ( data ) { if ( data.result ) { tellMe( { title : 'onderaannemer verwijderd', message : 'de onderaannemer is succesvol verwijderd', modalClass: 'modal-success' }, function () { vm.refreshExternals(); } ); } else { tellMe( { title : 'fout bij verwijderen onderaannemer', message : 'de onderaannemer kan niet worden verwijderd', modalClass: 'modal-danger' } ); } } ); } } ); }, refreshExternals: function () { var vm = dbo.externalsModel; dbo.externalDataService.getAllExternals( vm.archive() ? 'T' : 'F', function ( data ) { vm.externals( data ); } ); } }; dbo.externalsModel.init(); ko.applyBindings( dbo.externalsModel, document.getElementById( 'EXTERNALS' ) ); } }