PageSourceSearch

https://wonion.nl/app/hp/js/controllers/dashboard.js?v=33317538

js wonion.nl collected 2026-10-05 02:41:16 UTC 11,481 bytes, 223 lines download raw bytes

1app
2	.controller('DashboardController', ['$scope', 'relatiesService', 'provisionAcceptanceService', 'moduleService', 'overeenkomstService', '$timeout', 'betalingService',
3		function ($scope, relatiesService, provisionAcceptanceService, moduleService, overeenkomstService, $timeout, betalingService) {
4
5			const params = new Proxy(new URLSearchParams(window.location.search), {
6				get: (searchParams, prop) => searchParams.get(prop),
7			});
8			let id = params.hostedCheckoutId;
9
10			if (id) {
11				betalingService.getBetalingStatus(id).then(function (result) {
12					$scope.betalingstatus = result;
13				});
14			}
15
16			var selected = JSON.parse(sessionStorage.getItem('selectedOvereenkomst'));
17			$scope.tileFilter = {
18				name: ''
19			};
20
21			// Filter for standard dashboard tiles
22			if (document.getElementById('dashboardTiles')) {
23				$scope.dashboardTiles = JSON.parse(document.getElementById('dashboardTiles').value);
24			}
25			
26			// Filter for dynamically added dashboard tiles
27			if (document.querySelectorAll('.webTegel') && document.querySelectorAll('.dashboard-filter input')) {
28				var tiles = document.querySelectorAll('.webTegel'),
29					parent = document.querySelector('.dynamic-dashboard'),
30					allChildren = document.querySelectorAll('.umb-grid .column > div > div:not(.dashboard-filter-wrapper)');
31
32				$scope.webTiles = [];
33				for (i = 0; i < tiles.length; i++) {
34					$scope.webTiles.push({
35						name: tiles[i].firstElementChild.innerText,
36						url: tiles[i].firstElementChild.getAttribute('href'),
37						icon: tiles[i].querySelector('.tile-icon').getAttribute('class').split('tile-icon ').pop()
38					})
39				}
40
41				function addFilterBackdrop(event) {
42					if ($scope.tileFilter.name && event.key !== 'Escape') {
43						parent.classList.add('filter-backdrop');
44						document.addEventListener('click', function () {
45							$timeout(closeFilter);
46						});
47						for (i = 0; i < allChildren.length; i++) {
48							allChildren[i].classList.add('no-interaction');
49						}
50						document.querySelector('.dashboard-container .column:first-child').classList.add('border-0');
51					} else {
52						$timeout(closeFilter);
53					}
54				}
55
56				function closeFilter(event) {
57					parent.classList.remove('filter-backdrop');
58					for (i = 0; i < allChildren.length; i++) {
59						allChildren[i].classList.remove('no-interaction')
60					}
61					document.querySelector('.dashboard-container .column:first-child').classList.remove('border-0');
62					$scope.tileFilter.name = '';
63					document.removeEventListener('click', closeFilter);
64				}
65
66				//attach event for two different dashboards
67				document.getElementById('dashboard-filter') ? document.getElementById('dashboard-filter').addEventListener('keyup', addFilterBackdrop) : false;
68			}
69
70			$scope.hasModule = function (name) {
71                return moduleService.hasModule(name);
72            };
73
74            $scope.hasModuleTenancyAgreementHuurdersPortaal = $scope.hasModule('TenancyAgreementHuurdersPortaal');
75            $scope.hasModuleIngenico = $scope.hasModule('Ingenico');
76
77            relatiesService.getRelatie().then(function (result) {
78                $scope.relatie = result;
79
80                if ($scope.hasModuleTenancyAgreementHuurdersPortaal) {
81                    relatiesService.getProvisionAcceptancesByTenantId($scope.relatie.id)
82                        .then(function (listOfProvisionAcceptance) {
83                            $scope.provisionalAcceptances = provisionAcceptanceService.filterValidProvisionAcceptance(listOfProvisionAcceptance);
84                            $scope.provisionExists = $scope.provisionalAcceptances.length;
85                            if ($scope.provisionExists) {
86                                if ($scope.provisionExists === 1) {
87                                    $scope.unitId = provisionAcceptanceService.extractProvisionAcceptanceUnitNummerFromList($scope.provisionalAcceptances);
88                                } else {
89                                    $scope.listOfProvisionAcceptance = createListOfAdresesFromProvisionAcceptanceList($scope.provisionalAcceptances);
90                                    $scope.selectedProvisionAcceptance = {};
91                                }
92                            }
93						}).catch(function (error) {
94							$scope.loading = false;
95							$scope.errorMessage = "Er is iets misgegaan bij het ophalen van uw gegevens";
96							console.error(error)
97						});
98                }
99
100                if ($scope.hasModuleIngenico) {
101                    relatiesService.getOvereenkomsten()
102                        .then(function (data) {
103                            $scope.overeenkomsten = data;
104
105							if ($scope.overeenkomsten?.length) {
106								if ($scope.overeenkomsten.length === 1) {
107									$scope.hide = true;
108									$scope.selectedOvereenkomst = $scope.overeenkomsten[0];
109								} else if (!selected) {
110									$scope.selectedOvereenkomst = $scope.overeenkomsten[0];
111								} else if (selected && $scope.overeenkomsten.length > 1) {
112									$scope.selectedOvereenkomst = selected;
113								}
114								$scope.getBoekingen($scope.selectedOvereenkomst.id);
115							} else {
116								$scope.loading = false;
117								$scope.errorMessage = "Er zijn geen contracten gevonden.";
118							}
119						}, err => {
120							$scope.loading = false;
121							$scope.errorMessage = "Er is iets misgegaan bij het ophalen van uw gegevens.";
122							console.error(error)
123						}).catch(function (error) {
124							$scope.loading = false;
125							$scope.errorMessage = "Er is iets misgegaan bij het ophalen van uw gegevens.";
126							console.error(error)
127						});
128
129                    $scope.getBoekingen = function (id) {
130                        overeenkomstService.getOverige(id)
131                            .then(function (result) {
132                                $scope.overigeVorderingen = [];
133
134                                // filter result array elements from araay that we do not want to show
135                                if (result.length) {
136                                    for (var i = 0; i < result.length; i++) {
137                                        var boeking = result[i];
138                                        $scope.overigeVorderingen.push(boeking);
139                                    }
140                                }
141
142                                $scope.totaalOverigeVorderingen = 0;
143                                $scope.overigeBoekingenTeBetalenCount = 0;
144                                $scope.overigeBoekingenBetaaldCount = 0;
145                                if ($scope.overigeVorderingen.length) {
146                                    for (var i = 0; i < $scope.overigeVorderingen.length; i++) {
147                                        var boekingOverigeVorderingen = $scope.overigeVorderingen[i];
148
149                                        if (boekingOverigeVorderingen.status === "InBehandeling") {
150                                            $scope.totaalInBehandeling = $scope.totaalInBehandeling + (boekingOverigeVorderingen.saldo || 0);
151                                        } else {
152                                            $scope.totaal = ($scope.totaal * 100 + (boekingOverigeVorderingen.saldo || 0) * 100) / 100;
153                                            $scope.totaalOverigeVorderingen = ($scope.totaalOverigeVorderingen * 100 + (boekingOverigeVorderingen.saldo || 0) * 100) / 100;
154                                        }
155                                        
156                                        $scope.overigeVorderingen[i].openstaand = (boekingOverigeVorderingen.saldo || 0) > 0;
157                                        if ($scope.overigeVorderingen[i].openstaand) {
158                                            ++$scope.overigeBoekingenTeBetalenCount;
159                                        }
160                                        else {
161                                            ++$scope.overigeBoekingenBetaaldCount;
162                                        }
163                                    }
164                                }
165
166                                overeenkomstService.getBoekingen(id).then(function (result) {
167                                    $scope.boekingen = [];
168                                    $scope.showButton = true;
169
170                                    // filter result array elements from araay that we do not want to show
171                                    if (result.length) {
172                                        for (var i = 0; i < result.length; i++) {
173                                            var boeking = result[i];
174                                            $scope.boekingen.push(boeking);
175                                        }
176                                    }
177
178                                    if (!$scope.boekingen.length && !$scope.overigeVorderingen.length) {
179                                        $scope.showButton = false;
180                                        $scope.betalingsregeling = false;
181                                        $scope.errorMessage = "Er zijn geen facturen en betalingen gevonden bij het gekozen contract";
182                                    }
183
184                                    $scope.totaal = 0;
185                                    $scope.totaalInBehandeling = 0;
186                                    $scope.boekingenTeBetalenCount = 0;
187                                    $scope.boekingenBetaaldCount = 0;
188                                    if ($scope.boekingen.length) {
189                                        for (var i = 0; i < $scope.boekingen.length; i++) {
190                                            var boeking = $scope.boekingen[i];
191
192                                            if (boeking.status === "InBehandeling") {
193                                                $scope.totaalInBehandeling = $scope.totaalInBehandeling + (boeking.saldo || 0);
194                                            } else {
195                                                $scope.totaal = ($scope.totaal * 100 + (boeking.saldo || 0) * 100) / 100;
196                                            }
197
198                                            $scope.boekingen[i].openstaand = boeking.saldo > 0;
199                                            if ($scope.boekingen[i].openstaand) {
200                                                ++$scope.boekingenTeBetalenCount;
201                                            }
202                                            else {
203                                                ++$scope.boekingenBetaaldCount;
204                                            }
205                                        }
206                                    }
207								}).catch(function (error) {
208									$scope.loading = false;
209									$scope.errorMessage = "Er is iets misgegaan bij het ophalen van uw gegevens";
210									console.error(error)
211								});
212                            });
213                    };
214                }
215                return relatiesService.hasCurrentTenancyAgreement();
216            }).then(function (result) {
217                $scope.showCreateContract = result;
218			}).catch(function (error) {
219				$scope.loading = false;
220				$scope.errorMessage = "Er is iets misgegaan bij het ophalen van uw gegevens";
221				console.error(error)
222			});
223        }]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.