/** * Created by Pensare Software. * User: Theo Weijmer * Date: 05/01/2018 * Time: 15:54 */ dbo.offersInit = function () { if ( dbo.offersModel !== undefined ) { } else { dbo.offersModel = { offers : ko.observableArray( [] ), offer : ko.observable(), archive: ko.observable( false ), init: function () { var vm = dbo.offersModel; // vm.refreshOffers(); }, newOffer: function () { var vm = dbo.offersModel; dbo.editOfferModal.newEditOffer( false, function () { vm.refreshOffers(); } ); }, toggleArchive: function () { var vm = dbo.offersModel; vm.archive( !vm.archive() ); vm.refreshOffers(); }, editOffer: function () { var offer = this; var vm = dbo.offersModel; dbo.editOfferModal.newEditOffer( offer, function () { vm.refreshOffers(); } ); }, archiveOffer: function () { var vm = dbo.offersModel; var self = this; var status = self.archive == 'F' ? 'T' : 'F'; dbo.offerDataService.archiveOffer( self.id, status, function () { vm.refreshOffers(); } ); }, removeOffer: function () { var vm = dbo.offersModel; var self = this; tellMe( { title : 'verwijderen offerte', message : 'weet u zeker dat u de offerte wilt verwijderen, dit kan niet ongedaan worden gemaakt', notify : true, noText : 'nee verwijder de offerte niet', yesText : 'ja verwijder de offerte', modalClass: 'modal-warning' }, function ( response ) { console.log( response ); if ( response ) { dbo.offerDataService.removeOffer( self.id, function ( data ) { if ( data.result ) { tellMe( { title : 'offerte verwijderd', message : 'de offerte is succesvol verwijderd', modalClass: 'modal-success' }, function () { vm.refreshOffers(); } ); } else { tellMe( { title : 'fout bij verwijderen offerte', message : 'de offerte kan niet worden verwijderd', modalClass: 'modal-danger' } ); } } ); } } ); }, refreshOffers: function () { var vm = dbo.offersModel; dbo.offerDataService.getAllOffers( vm.archive() ? 'T' : 'F', function ( data ) { vm.offers( data ); } ); } }; dbo.offersModel.init(); ko.applyBindings( dbo.offersModel, document.getElementById( 'OFFERS' ) ); } }