@loxia/mst-viewer 8.1.3-202511271614 → 8.1.3-202511272206

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (252) hide show
  1. package/esm2022/lib/atomic-components/message/message.component.mjs +6 -6
  2. package/esm2022/lib/atomic-components/messages/messages.component.mjs +4 -4
  3. package/esm2022/lib/atomic-components/overlay/overlay.component.mjs +4 -4
  4. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.component.mjs +4 -4
  5. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.entity.mjs +4 -7
  6. package/esm2022/lib/atomic-components/services/messages.service.mjs +4 -4
  7. package/esm2022/lib/components/carousel-controls/carousel-controls.component.mjs +8 -7
  8. package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +9 -15
  9. package/esm2022/lib/components/ritdelen-lijst/ritdelen-lijst.component.mjs +15 -21
  10. package/esm2022/lib/components/ritdelen-view/ritdelen-view.component.mjs +4 -4
  11. package/esm2022/lib/components/rpe/rpe.component.mjs +5 -9
  12. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +11 -13
  13. package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +16 -19
  14. package/esm2022/lib/model/km-range.mjs +2 -2
  15. package/esm2022/lib/model/nieuwe-route.mjs +2 -2
  16. package/esm2022/lib/model/ritdeel.mjs +10 -10
  17. package/esm2022/lib/mst-viewer.module.mjs +9 -10
  18. package/esm2022/lib/resources/mstlogging.resource.mjs +146 -13
  19. package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +14 -18
  20. package/esm2022/lib/services/base-rest.service.mjs +4 -6
  21. package/esm2022/lib/services/beweging-utils.service.mjs +9 -9
  22. package/esm2022/lib/services/beweging-verrijker.service.mjs +4 -4
  23. package/esm2022/lib/services/connector.service.mjs +4 -4
  24. package/esm2022/lib/services/debug.service.mjs +6 -6
  25. package/esm2022/lib/services/editor.service.mjs +4 -6
  26. package/esm2022/lib/services/print-beweging.service.mjs +23 -26
  27. package/esm2022/lib/services/rit-lezer.service.mjs +7 -7
  28. package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +4 -4
  29. package/esm2022/lib/services/viewer-control.service.mjs +34 -13
  30. package/esm2022/lib/state/actions/actions.mjs +4 -7
  31. package/esm2022/lib/state/actions/ritdelen.actions.mjs +4 -4
  32. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +10 -11
  33. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +5 -5
  34. package/esm2022/lib/state/effect/beweging-invoegen.effect.mjs +4 -4
  35. package/esm2022/lib/state/effect/delete-ongeplande-actie.effect.mjs +4 -4
  36. package/esm2022/lib/state/effect/focus-effect.mjs +5 -5
  37. package/esm2022/lib/state/effect/laad-route-files.effect.mjs +11 -11
  38. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +30 -28
  39. package/esm2022/lib/state/effect/rit-goedkeuren.effect.mjs +4 -4
  40. package/esm2022/lib/state/effect/ritdelen.effect.mjs +28 -29
  41. package/esm2022/lib/state/effect/svg-view.effect.mjs +19 -61
  42. package/esm2022/lib/state/mst-editor-state.mjs +15 -13
  43. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +1 -1
  44. package/esm2022/lib/util/actie-helper.mjs +28 -32
  45. package/esm2022/lib/util/actie-popover-bepaler.mjs +2 -2
  46. package/esm2022/lib/util/date.service.mjs +4 -4
  47. package/esm2022/lib/util/logging-helper.mjs +43 -38
  48. package/esm2022/lib/util/multi-map.mjs +3 -2
  49. package/esm2022/lib/util/utils.mjs +5 -5
  50. package/esm2022/lib/util/zone-util.mjs +4 -5
  51. package/fesm2022/loxia-mst-viewer.mjs +777 -2218
  52. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  53. package/lib/atomic-components/message/message.component.d.ts +2 -2
  54. package/lib/atomic-components/progress-indicator/progress-indicator.entity.d.ts +1 -1
  55. package/lib/components/carousel-controls/carousel-controls.component.d.ts +3 -1
  56. package/lib/components/mstviewer/mstviewer.component.d.ts +2 -2
  57. package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +2 -2
  58. package/lib/components/rpe/rpe.component.d.ts +1 -1
  59. package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +1 -2
  60. package/lib/components/viewer-controls/viewer-controls.component.d.ts +4 -3
  61. package/lib/model/km-range.d.ts +1 -1
  62. package/lib/model/nieuwe-route.d.ts +2 -2
  63. package/lib/model/ritdeel.d.ts +10 -11
  64. package/lib/resources/mstlogging.resource.d.ts +95 -6
  65. package/lib/resources/signaleringsbeeldinfo.resource.d.ts +15 -10
  66. package/lib/services/editor.service.d.ts +2 -2
  67. package/lib/services/print-beweging.service.d.ts +6 -4
  68. package/lib/services/rit-lezer.service.d.ts +1 -1
  69. package/lib/services/signalerings-beeld-manager.service.d.ts +2 -2
  70. package/lib/services/viewer-control.service.d.ts +5 -0
  71. package/lib/state/actions/actions.d.ts +25 -26
  72. package/lib/state/actions/ritdelen.actions.d.ts +7 -3
  73. package/lib/state/effect/bepaal-ongeplande-acties.effect.d.ts +1 -2
  74. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +1 -1
  75. package/lib/state/effect/laad-route-files.effect.d.ts +5 -4
  76. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +13 -13
  77. package/lib/state/effect/ritdelen.effect.d.ts +6 -7
  78. package/lib/state/effect/svg-view.effect.d.ts +6 -12
  79. package/lib/state/mst-editor-state.d.ts +92 -30
  80. package/lib/util/actie-helper.d.ts +4 -4
  81. package/lib/util/logging-helper.d.ts +6 -5
  82. package/lib/util/utils.d.ts +1 -0
  83. package/package.json +1 -7
  84. package/tailwind.scss +1 -1
  85. package/esm2022/generated/openapi/api/api.mjs +0 -26
  86. package/esm2022/generated/openapi/api/appConfigController.service.mjs +0 -140
  87. package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  88. package/esm2022/generated/openapi/api/bewegingController.service.mjs +0 -155
  89. package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  90. package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  91. package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  92. package/esm2022/generated/openapi/api/connectorController.service.mjs +0 -146
  93. package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  94. package/esm2022/generated/openapi/api/logController.service.mjs +0 -150
  95. package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  96. package/esm2022/generated/openapi/api/p21Controller.service.mjs +0 -236
  97. package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  98. package/esm2022/generated/openapi/api/sbController.service.mjs +0 -203
  99. package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  100. package/esm2022/generated/openapi/api/svgController.service.mjs +0 -155
  101. package/esm2022/generated/openapi/api/svgController.serviceInterface.mjs +0 -2
  102. package/esm2022/generated/openapi/api.module.mjs +0 -40
  103. package/esm2022/generated/openapi/configuration.mjs +0 -99
  104. package/esm2022/generated/openapi/encoder.mjs +0 -19
  105. package/esm2022/generated/openapi/index.mjs +0 -7
  106. package/esm2022/generated/openapi/model/actieDto.mjs +0 -13
  107. package/esm2022/generated/openapi/model/algemeneRitDto.mjs +0 -13
  108. package/esm2022/generated/openapi/model/bewegingDto.mjs +0 -2
  109. package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  110. package/esm2022/generated/openapi/model/frontendProperties.mjs +0 -2
  111. package/esm2022/generated/openapi/model/kilometrering.mjs +0 -13
  112. package/esm2022/generated/openapi/model/logDto.mjs +0 -2
  113. package/esm2022/generated/openapi/model/models.mjs +0 -18
  114. package/esm2022/generated/openapi/model/ritRequestDto.mjs +0 -2
  115. package/esm2022/generated/openapi/model/sein.mjs +0 -10
  116. package/esm2022/generated/openapi/model/signaleringsElement.mjs +0 -13
  117. package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  118. package/esm2022/generated/openapi/model/spoornummer.mjs +0 -13
  119. package/esm2022/generated/openapi/model/spoortakFragment.mjs +0 -2
  120. package/esm2022/generated/openapi/model/svgInfoDto.mjs +0 -2
  121. package/esm2022/generated/openapi/model/svgTopology.mjs +0 -2
  122. package/esm2022/generated/openapi/model/topologyElement.mjs +0 -2
  123. package/esm2022/generated/openapi/model/wissel.mjs +0 -2
  124. package/esm2022/generated/openapi/param.mjs +0 -2
  125. package/esm2022/generated/openapi/variables.mjs +0 -9
  126. package/esm2022/src/generated/openapi/api/api.mjs +0 -26
  127. package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +0 -140
  128. package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  129. package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +0 -155
  130. package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  131. package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  132. package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  133. package/esm2022/src/generated/openapi/api/connectorController.service.mjs +0 -146
  134. package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  135. package/esm2022/src/generated/openapi/api/logController.service.mjs +0 -150
  136. package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  137. package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +0 -236
  138. package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  139. package/esm2022/src/generated/openapi/api/sbController.service.mjs +0 -203
  140. package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  141. package/esm2022/src/generated/openapi/api/svgController.service.mjs +0 -155
  142. package/esm2022/src/generated/openapi/api/svgController.serviceInterface.mjs +0 -2
  143. package/esm2022/src/generated/openapi/api.module.mjs +0 -40
  144. package/esm2022/src/generated/openapi/configuration.mjs +0 -99
  145. package/esm2022/src/generated/openapi/encoder.mjs +0 -19
  146. package/esm2022/src/generated/openapi/index.mjs +0 -7
  147. package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +0 -5
  148. package/esm2022/src/generated/openapi/model/actieDto.mjs +0 -13
  149. package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +0 -13
  150. package/esm2022/src/generated/openapi/model/bewegingDto.mjs +0 -2
  151. package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  152. package/esm2022/src/generated/openapi/model/frontendProperties.mjs +0 -2
  153. package/esm2022/src/generated/openapi/model/kilometrering.mjs +0 -13
  154. package/esm2022/src/generated/openapi/model/logDto.mjs +0 -2
  155. package/esm2022/src/generated/openapi/model/models.mjs +0 -18
  156. package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +0 -2
  157. package/esm2022/src/generated/openapi/model/sein.mjs +0 -10
  158. package/esm2022/src/generated/openapi/model/signaleringsElement.mjs +0 -13
  159. package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  160. package/esm2022/src/generated/openapi/model/spoornummer.mjs +0 -13
  161. package/esm2022/src/generated/openapi/model/spoortakFragment.mjs +0 -2
  162. package/esm2022/src/generated/openapi/model/svgInfoDto.mjs +0 -2
  163. package/esm2022/src/generated/openapi/model/svgTopology.mjs +0 -2
  164. package/esm2022/src/generated/openapi/model/topologyElement.mjs +0 -2
  165. package/esm2022/src/generated/openapi/model/wissel.mjs +0 -2
  166. package/esm2022/src/generated/openapi/param.mjs +0 -2
  167. package/esm2022/src/generated/openapi/variables.mjs +0 -9
  168. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +0 -1522
  169. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +0 -1
  170. package/generated/openapi/api/api.d.ts +0 -25
  171. package/generated/openapi/api/appConfigController.service.d.ts +0 -38
  172. package/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  173. package/generated/openapi/api/bewegingController.service.d.ts +0 -40
  174. package/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  175. package/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  176. package/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  177. package/generated/openapi/api/connectorController.service.d.ts +0 -38
  178. package/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  179. package/generated/openapi/api/logController.service.d.ts +0 -38
  180. package/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  181. package/generated/openapi/api/p21Controller.service.d.ts +0 -62
  182. package/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  183. package/generated/openapi/api/sbController.service.d.ts +0 -60
  184. package/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  185. package/generated/openapi/api/svgController.service.d.ts +0 -40
  186. package/generated/openapi/api/svgController.serviceInterface.d.ts +0 -27
  187. package/generated/openapi/api.module.d.ts +0 -11
  188. package/generated/openapi/configuration.d.ts +0 -104
  189. package/generated/openapi/encoder.d.ts +0 -11
  190. package/generated/openapi/index.d.ts +0 -6
  191. package/generated/openapi/model/actieDto.d.ts +0 -35
  192. package/generated/openapi/model/algemeneRitDto.d.ts +0 -20
  193. package/generated/openapi/model/bewegingDto.d.ts +0 -37
  194. package/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  195. package/generated/openapi/model/frontendProperties.d.ts +0 -15
  196. package/generated/openapi/model/kilometrering.d.ts +0 -15
  197. package/generated/openapi/model/logDto.d.ts +0 -22
  198. package/generated/openapi/model/models.d.ts +0 -17
  199. package/generated/openapi/model/ritRequestDto.d.ts +0 -17
  200. package/generated/openapi/model/sein.d.ts +0 -46
  201. package/generated/openapi/model/signaleringsElement.d.ts +0 -16
  202. package/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  203. package/generated/openapi/model/spoornummer.d.ts +0 -17
  204. package/generated/openapi/model/spoortakFragment.d.ts +0 -26
  205. package/generated/openapi/model/svgInfoDto.d.ts +0 -16
  206. package/generated/openapi/model/svgTopology.d.ts +0 -21
  207. package/generated/openapi/model/topologyElement.d.ts +0 -18
  208. package/generated/openapi/model/wissel.d.ts +0 -31
  209. package/generated/openapi/param.d.ts +0 -37
  210. package/generated/openapi/variables.d.ts +0 -8
  211. package/src/generated/openapi/README.md +0 -226
  212. package/src/generated/openapi/api/api.d.ts +0 -25
  213. package/src/generated/openapi/api/appConfigController.service.d.ts +0 -38
  214. package/src/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  215. package/src/generated/openapi/api/bewegingController.service.d.ts +0 -40
  216. package/src/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  217. package/src/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  218. package/src/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  219. package/src/generated/openapi/api/connectorController.service.d.ts +0 -38
  220. package/src/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  221. package/src/generated/openapi/api/logController.service.d.ts +0 -38
  222. package/src/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  223. package/src/generated/openapi/api/p21Controller.service.d.ts +0 -62
  224. package/src/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  225. package/src/generated/openapi/api/sbController.service.d.ts +0 -60
  226. package/src/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  227. package/src/generated/openapi/api/svgController.service.d.ts +0 -40
  228. package/src/generated/openapi/api/svgController.serviceInterface.d.ts +0 -27
  229. package/src/generated/openapi/api.module.d.ts +0 -11
  230. package/src/generated/openapi/configuration.d.ts +0 -104
  231. package/src/generated/openapi/encoder.d.ts +0 -11
  232. package/src/generated/openapi/index.d.ts +0 -6
  233. package/src/generated/openapi/model/actieDto.d.ts +0 -35
  234. package/src/generated/openapi/model/algemeneRitDto.d.ts +0 -20
  235. package/src/generated/openapi/model/bewegingDto.d.ts +0 -37
  236. package/src/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  237. package/src/generated/openapi/model/frontendProperties.d.ts +0 -15
  238. package/src/generated/openapi/model/kilometrering.d.ts +0 -15
  239. package/src/generated/openapi/model/logDto.d.ts +0 -22
  240. package/src/generated/openapi/model/models.d.ts +0 -17
  241. package/src/generated/openapi/model/ritRequestDto.d.ts +0 -17
  242. package/src/generated/openapi/model/sein.d.ts +0 -46
  243. package/src/generated/openapi/model/signaleringsElement.d.ts +0 -16
  244. package/src/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  245. package/src/generated/openapi/model/spoornummer.d.ts +0 -17
  246. package/src/generated/openapi/model/spoortakFragment.d.ts +0 -26
  247. package/src/generated/openapi/model/svgInfoDto.d.ts +0 -16
  248. package/src/generated/openapi/model/svgTopology.d.ts +0 -21
  249. package/src/generated/openapi/model/topologyElement.d.ts +0 -18
  250. package/src/generated/openapi/model/wissel.d.ts +0 -31
  251. package/src/generated/openapi/param.d.ts +0 -37
  252. package/src/generated/openapi/variables.d.ts +0 -8
@@ -1,23 +1,23 @@
1
1
  import * as i2 from '@angular/common';
2
2
  import { CommonModule } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { EventEmitter, Component, Input, Output, Injectable, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, NgModule, SkipSelf, HostListener } from '@angular/core';
4
+ import { EventEmitter, Output, Input, Component, Injectable, ChangeDetectionStrategy, ViewChild, HostListener, NgModule } from '@angular/core';
5
5
  import * as i7 from '@loxia/imx-viewer';
6
- import { PopoverInfo, Point, SvgInfo, ImxViewerComponent, SelectieInfo, ImxViewerModule } from '@loxia/imx-viewer';
7
- import * as i3 from '@loxia/rijwegen';
6
+ import { SelectieInfo, PopoverInfo, Point, SvgInfo, ImxViewerComponent, ImxViewerModule } from '@loxia/imx-viewer';
7
+ import * as i4 from '@loxia/rijwegen';
8
8
  import { JsJavaUtil, RijwegenModule } from '@loxia/rijwegen';
9
9
  import * as i1$2 from '@ngrx/effects';
10
10
  import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
11
11
  import * as i2$1 from '@ngrx/store';
12
12
  import { createAction, union, select, createReducer, on, StoreModule } from '@ngrx/store';
13
13
  import { ResourceModule } from '@ngx-resource/handler-ngx-http';
14
- import { BehaviorSubject, from, Subscription, combineLatest, forkJoin, of, throwError } from 'rxjs';
15
- import { filter, map, take, tap, catchError, withLatestFrom, switchMap } from 'rxjs/operators';
16
- import * as i1 from '@angular/common/http';
17
- import { HttpHeaders, HttpContext, HttpParams } from '@angular/common/http';
14
+ import { BehaviorSubject, Subscription, from, combineLatest, of, throwError } from 'rxjs';
18
15
  import { __decorate } from 'tslib';
19
- import * as i1$1 from '@ngx-resource/core';
20
- import { Resource, ResourceAction, ResourceParams, ResourceModel } from '@ngx-resource/core';
16
+ import * as i1 from '@ngx-resource/core';
17
+ import { Resource, ResourceAction, ResourceRequestMethod, ResourceParams, ResourceModel } from '@ngx-resource/core';
18
+ import { take, filter, map, catchError, withLatestFrom, switchMap, tap } from 'rxjs/operators';
19
+ import * as i1$1 from '@angular/common/http';
20
+ import { HttpHeaders } from '@angular/common/http';
21
21
 
22
22
  class Message {
23
23
  constructor(severity, text, timeout = 0) {
@@ -41,7 +41,7 @@ class MessageComponent {
41
41
  this.onClearMessage = new EventEmitter();
42
42
  }
43
43
  ngOnInit() {
44
- if (this.message && this.message.timeout > 0) {
44
+ if (this.message.timeout > 0) {
45
45
  setTimeout(() => {
46
46
  this.closeMessage({ stopPropagation: () => null });
47
47
  }, this.message.timeout);
@@ -53,12 +53,12 @@ class MessageComponent {
53
53
  this.message = undefined;
54
54
  }
55
55
  get severity() {
56
- return this.message?.severity ?? '?';
56
+ return this.message.severity;
57
57
  }
58
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MessageComponent, selector: "loxia-message", inputs: { message: "message" }, outputs: { onClearMessage: "onClearMessage" }, ngImport: i0, template: "<div id=\"alert-1\" *ngIf=\"message\"\n [ngClass]=\"severity\"\n class=\" loxia-message flex items-center p-4 text-white\" role=\"alert\">\n <svg class=\"flex-shrink-0 size-4 mt-0.5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"></path>\n <path d=\"M12 9v4\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>\n <span class=\"sr-only\">Info</span>\n <div class=\"ms-3 text-sm font-medium\">\n {{message.text}}\n </div>\n <button type=\"button\"\n (click)=\"closeMessage($event)\"\n class=\"ms-auto -mx-1.5 -my-1.5 rounded-lg inline-flex items-center justify-center h-8 w-8\" data-dismiss-target=\"#alert-1\" aria-label=\"Close\">\n <span class=\"sr-only\">Close</span>\n <svg class=\"w-3 h-3\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\">\n <path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"/>\n </svg>\n </button>\n</div>\n", styles: ["svg{background-color:transparent;stroke-width:unset}.loxia-message.information{background-color:#0288d1}.loxia-message.warning{background-color:#ff6a00}.loxia-message.notification{background-color:#f3ed38}.loxia-message.error{background-color:#b5061b}.loxia-message.success{background-color:#297d03}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
58
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MessageComponent, selector: "loxia-message", inputs: { message: "message" }, outputs: { onClearMessage: "onClearMessage" }, ngImport: i0, template: "<div id=\"alert-1\" *ngIf=\"message\"\n [ngClass]=\"severity\"\n class=\" loxia-message flex items-center p-4 text-white\" role=\"alert\">\n <svg class=\"flex-shrink-0 size-4 mt-0.5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"></path>\n <path d=\"M12 9v4\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>\n <span class=\"sr-only\">Info</span>\n <div class=\"ms-3 text-sm font-medium\">\n {{message.text}}\n </div>\n <button type=\"button\"\n (click)=\"closeMessage($event)\"\n class=\"ms-auto -mx-1.5 -my-1.5 rounded-lg inline-flex items-center justify-center h-8 w-8\" data-dismiss-target=\"#alert-1\" aria-label=\"Close\">\n <span class=\"sr-only\">Close</span>\n <svg class=\"w-3 h-3\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\">\n <path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"/>\n </svg>\n </button>\n</div>\n", styles: ["svg{background-color:transparent;stroke-width:unset}.loxia-message.information{background-color:#0288d1}.loxia-message.warning{background-color:#ff6a00}.loxia-message.notification{background-color:#f3ed38}.loxia-message.error{background-color:#b5061b}.loxia-message.success{background-color:#297d03}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
60
60
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessageComponent, decorators: [{
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessageComponent, decorators: [{
62
62
  type: Component,
63
63
  args: [{ selector: 'loxia-message', template: "<div id=\"alert-1\" *ngIf=\"message\"\n [ngClass]=\"severity\"\n class=\" loxia-message flex items-center p-4 text-white\" role=\"alert\">\n <svg class=\"flex-shrink-0 size-4 mt-0.5\" xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\">\n <path d=\"m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3Z\"></path>\n <path d=\"M12 9v4\"></path>\n <path d=\"M12 17h.01\"></path>\n </svg>\n <span class=\"sr-only\">Info</span>\n <div class=\"ms-3 text-sm font-medium\">\n {{message.text}}\n </div>\n <button type=\"button\"\n (click)=\"closeMessage($event)\"\n class=\"ms-auto -mx-1.5 -my-1.5 rounded-lg inline-flex items-center justify-center h-8 w-8\" data-dismiss-target=\"#alert-1\" aria-label=\"Close\">\n <span class=\"sr-only\">Close</span>\n <svg class=\"w-3 h-3\" aria-hidden=\"true\" xmlns=\"http://www.w3.org/2000/svg\" fill=\"none\" viewBox=\"0 0 14 14\">\n <path stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"2\" d=\"m1 1 6 6m0 0 6 6M7 7l6-6M7 7l-6 6\"/>\n </svg>\n </button>\n</div>\n", styles: ["svg{background-color:transparent;stroke-width:unset}.loxia-message.information{background-color:#0288d1}.loxia-message.warning{background-color:#ff6a00}.loxia-message.notification{background-color:#f3ed38}.loxia-message.error{background-color:#b5061b}.loxia-message.success{background-color:#297d03}\n"] }]
64
64
  }], propDecorators: { message: [{
@@ -83,10 +83,10 @@ class MessagesService {
83
83
  get messages$() {
84
84
  return this._messages$;
85
85
  }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesService, providedIn: 'root' }); }
86
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessagesService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessagesService, providedIn: 'root' }); }
88
88
  }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesService, decorators: [{
89
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessagesService, decorators: [{
90
90
  type: Injectable,
91
91
  args: [{ providedIn: 'root' }]
92
92
  }] });
@@ -98,109 +98,32 @@ class MessagesComponent {
98
98
  trackbyIndex(index) {
99
99
  return index;
100
100
  }
101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesComponent, deps: [{ token: MessagesService }], target: i0.ɵɵFactoryTarget.Component }); }
102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MessagesComponent, selector: "loxia-messages", ngImport: i0, template: "<div class=\"messages w-full\">\n <div *ngFor=\"let message of (messagesService.messages$ | async); let i = index; trackBy: trackbyIndex\">\n <loxia-message [message]=\"message\" (onClearMessage)=\"messagesService.clearMessage($event)\"></loxia-message>\n </div>\n</div>\n", styles: [".messages{position:fixed;top:0;left:0;z-index:2000;flex-direction:column;display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MessageComponent, selector: "loxia-message", inputs: ["message"], outputs: ["onClearMessage"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessagesComponent, deps: [{ token: MessagesService }], target: i0.ɵɵFactoryTarget.Component }); }
102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MessagesComponent, selector: "loxia-messages", ngImport: i0, template: "<div class=\"messages w-full\">\n <div *ngFor=\"let message of (messagesService.messages$ | async); let i = index; trackBy: trackbyIndex\">\n <loxia-message [message]=\"message\" (onClearMessage)=\"messagesService.clearMessage($event)\"></loxia-message>\n </div>\n</div>\n", styles: [".messages{position:fixed;top:0;left:0;z-index:2000;flex-direction:column;display:flex}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: MessageComponent, selector: "loxia-message", inputs: ["message"], outputs: ["onClearMessage"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
103
103
  }
104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MessagesComponent, decorators: [{
104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessagesComponent, decorators: [{
105
105
  type: Component,
106
106
  args: [{ selector: 'loxia-messages', template: "<div class=\"messages w-full\">\n <div *ngFor=\"let message of (messagesService.messages$ | async); let i = index; trackBy: trackbyIndex\">\n <loxia-message [message]=\"message\" (onClearMessage)=\"messagesService.clearMessage($event)\"></loxia-message>\n </div>\n</div>\n", styles: [".messages{position:fixed;top:0;left:0;z-index:2000;flex-direction:column;display:flex}\n"] }]
107
107
  }], ctorParameters: () => [{ type: MessagesService }] });
108
108
 
109
109
  class OverlayComponent {
110
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: OverlayComponent, selector: "loxia-overlay", ngImport: i0, template: "<div class=\"overlay\">\n <div class=\"centered-content\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{width:100vw;height:0;opacity:1}.centered-content{position:relative;width:100%;height:100%}.content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:absolute;background-color:#1f2528db;width:100%;height:100%;z-index:1001}\n"] }); }
110
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OverlayComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
111
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: OverlayComponent, selector: "loxia-overlay", ngImport: i0, template: "<div class=\"overlay\">\n <div class=\"centered-content\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{width:100vw;height:0;opacity:1}.centered-content{position:relative;width:100%;height:100%}.content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:absolute;background-color:#1f2528db;width:100%;height:100%;z-index:1001}\n"] }); }
112
112
  }
113
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: OverlayComponent, decorators: [{
113
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: OverlayComponent, decorators: [{
114
114
  type: Component,
115
115
  args: [{ selector: 'loxia-overlay', template: "<div class=\"overlay\">\n <div class=\"centered-content\">\n <div class=\"content\">\n <ng-content></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{width:100vw;height:0;opacity:1}.centered-content{position:relative;width:100%;height:100%}.content{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.overlay{position:absolute;background-color:#1f2528db;width:100%;height:100%;z-index:1001}\n"] }]
116
116
  }] });
117
117
 
118
118
  class ProgressIndicatorComponent {
119
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ProgressIndicatorComponent, selector: "loxia-progress-indicator", ngImport: i0, template: "<div class=\"inline-block h-16 w-16 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-surface motion-reduce:animate-[spin_1.5s_linear_infinite] dark:text-warning\"\n role=\"status\">\n <span class=\"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\">\n Loading...\n </span>\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
119
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ProgressIndicatorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
120
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ProgressIndicatorComponent, selector: "loxia-progress-indicator", ngImport: i0, template: "<div class=\"inline-block h-16 w-16 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-surface motion-reduce:animate-[spin_1.5s_linear_infinite] dark:text-warning\"\n role=\"status\">\n <span class=\"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\">\n Loading...\n </span>\n</div>\n", styles: [""], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
121
121
  }
122
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ProgressIndicatorComponent, decorators: [{
122
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ProgressIndicatorComponent, decorators: [{
123
123
  type: Component,
124
124
  args: [{ selector: 'loxia-progress-indicator', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"inline-block h-16 w-16 animate-spin rounded-full border-4 border-solid border-current border-e-transparent align-[-0.125em] text-surface motion-reduce:animate-[spin_1.5s_linear_infinite] dark:text-warning\"\n role=\"status\">\n <span class=\"!absolute !-m-px !h-px !w-px !overflow-hidden !whitespace-nowrap !border-0 !p-0 ![clip:rect(0,0,0,0)]\">\n Loading...\n </span>\n</div>\n" }]
125
125
  }] });
126
126
 
127
- const SET_RIT_DELEN = '[mst] SetRitDelen';
128
- const SET_RIT_DELEN_AFTER_UPDATE = '[mst] SetRitDelenAfterUpdate';
129
- const UPDATE_RIT_DELEN = '[mst] UpdateRitDelen';
130
- const TOGGLE_RITDEEL_ZICHTBAAR = '[mst] ToggleRitdeelZichtbaar';
131
- const SET_RITDEEL_ZICHTBAAR = '[mst] ZetRitdeelZichtbaar';
132
- const SET_ZICHTBAARHEID_ALLE_RITDELEN = '[mst] SetZichtbaarheidAlleRitdelen';
133
- const TOGGLE_ZICHTBAARHEID_VOOR_BEWEGINGEN = '[mst] ToggleZichtbaarheidVoorBewegingen';
134
- const SET_ALTERNATIEVE_RIT_DELEN = '[mst] SetAlternatieveRitDelen';
135
- const RITDEEL_INVOEGEN = '[mst] RitdeelInvoegen';
136
- const DELETE_RITDEEL = '[mst] DeleteRitdeel';
137
- const DELETE_RITDEEL_ACTIE = '[mst] DeleteRitdeelActie';
138
- const ADD_RITDEEL_ACTIE = '[mst] AddRitdeelActie';
139
- const NAVIGEER = '[mst] Navigeer';
140
- const NAVIGEER_VANAF = '[mst] NavigeerVanaf';
141
- const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize) => ({ ritDelen, paginationSize }));
142
- const setRitdelenAfterUpdate = createAction(SET_RIT_DELEN_AFTER_UPDATE, (ritDelen) => ({ ritDelen }));
143
- const navigeer = createAction(NAVIGEER, (stapSize, paginationSize) => ({ stapSize, paginationSize }));
144
- const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize, ritdeel) => ({ paginationSize, ritdeel }));
145
- const updateRitDelen = createAction(UPDATE_RIT_DELEN, (ritDelen) => ({ ritDelen }));
146
- const toggleRitdeelZichtbaar = createAction(TOGGLE_RITDEEL_ZICHTBAAR, (ritDeel) => ({ ritDeel }));
147
- const setRitdeelZichtbaar = createAction(SET_RITDEEL_ZICHTBAAR, (ritDeel, zichtbaar) => ({ ritDeel, zichtbaar }));
148
- const deleteRitdeel = createAction(DELETE_RITDEEL, (ritDeel) => ({ ritDeel }));
149
- const deleteRitdeelActie = createAction(DELETE_RITDEEL_ACTIE, (ritDeel, actie) => ({ ritDeel, actie }));
150
- const addRitdeelActie = createAction(ADD_RITDEEL_ACTIE, (ritDeel, actie) => ({ ritDeel, actie }));
151
- const setZichtbaarheidAlleRitdelen = createAction(SET_ZICHTBAARHEID_ALLE_RITDELEN, (zichtbaarheid) => ({ zichtbaarheid }));
152
- const toggleZichtbaarheidVoorBewegingen = createAction(TOGGLE_ZICHTBAARHEID_VOOR_BEWEGINGEN, (bewegingIds) => ({ bewegingIds }));
153
- const setAlternatieveRitDelen = createAction(SET_ALTERNATIEVE_RIT_DELEN, (alternatieveRitDeel) => ({ alternatieveRitDeel }));
154
- const ritdeelInvoegen = createAction(RITDEEL_INVOEGEN, (nieuweRoute) => ({ nieuweRoute }));
155
- // do not export return value
156
- const ritdeelActions = union({
157
- setRitDelen,
158
- updateRitDelen,
159
- setRitdelenAfterUpdate,
160
- toggleRitdeelZichtbaar,
161
- setRitdeelZichtbaar,
162
- deleteRitdeel,
163
- deleteRitdeelActie,
164
- addRitdeelActie,
165
- setZichtbaarheidAlleRitdelen,
166
- toggleZichtbaarheidVoorBewegingen,
167
- setAlternatieveRitDelen,
168
- ritdeelInvoegen
169
- });
170
-
171
- class CarouselControlsComponent {
172
- constructor(store) {
173
- this.store = store;
174
- this.paginationSize = 4;
175
- this.sideNavOpen = false;
176
- this.ritdelen$ = this.store.select('ritDelen').pipe(filter(r => r?.length > 0));
177
- this.kanLinks$ = this.ritdelen$.pipe(map(r => this.kanLinksNavigeren(r)));
178
- this.kanRechts$ = this.ritdelen$.pipe(map(r => this.kanRechtsNavigeren(r)));
179
- }
180
- kanLinksNavigeren(ritDelen) {
181
- return ritDelen.length > this.paginationSize && !ritDelen[0].isBinnenWindow();
182
- }
183
- kanRechtsNavigeren(ritDelen) {
184
- return ritDelen.length > this.paginationSize && !ritDelen[ritDelen.length - 1].isBinnenWindow();
185
- }
186
- navigeerNaarLinks(event) {
187
- this.store.dispatch(navigeer(event?.ctrlKey ? -1 : -(this.paginationSize - 1), this.paginationSize));
188
- }
189
- navigeerNaarRechts(event) {
190
- this.store.dispatch(navigeer(event?.ctrlKey ? 1 : this.paginationSize - 1, this.paginationSize));
191
- }
192
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselControlsComponent, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
193
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: CarouselControlsComponent, selector: "carousel-controls", inputs: { paginationSize: "paginationSize", sideNavOpen: "sideNavOpen" }, ngImport: i0, template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
194
- }
195
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: CarouselControlsComponent, decorators: [{
196
- type: Component,
197
- args: [{ selector: 'carousel-controls', template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"] }]
198
- }], ctorParameters: () => [{ type: i2$1.Store }], propDecorators: { paginationSize: [{
199
- type: Input
200
- }], sideNavOpen: [{
201
- type: Input
202
- }] } });
203
-
204
127
  const version = '8.1.3-SNAPSHOT';
205
128
 
206
129
  const SET_EDITABLE = '[mst] SetEditable';
@@ -246,8 +169,7 @@ const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignaleringsb
246
169
  const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
247
170
  const FOCUS_OP_IDS = '[mst] focusOpIds';
248
171
  const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
249
- const TRIGGER_SELECTIE_UPDATE = '[mst] TriggerSelectieUpdate';
250
- const SET_SELECTIE_INFOS = '[mst] SetSelectieInfos';
172
+ const SET_SELECTED_RITDEEL = '[mst] SetSelectedRitdeel';
251
173
  const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
252
174
  const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
253
175
  const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
@@ -291,8 +213,7 @@ const navigeerBuitenRit = createAction(NAVIGEER_BUITEN_RIT, (randPuic) => ({ ran
291
213
  const focusOpRitdeel = createAction(FOCUS_OP_RITDEEL, (ritdeel, paginationSize, iaVersieInfo) => ({ ritdeel, paginationSize, iaVersieInfo }));
292
214
  const focusOpIds = createAction(FOCUS_OP_IDS, (puics) => ({ puics }));
293
215
  const bepaalSbInfos = createAction(BEPAAL_SB_INFOS, (rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize) => ({ rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize }));
294
- const svgUpdateFinished = createAction(TRIGGER_SELECTIE_UPDATE);
295
- const setSelectieInfos = createAction(SET_SELECTIE_INFOS, (selectieInfos) => ({ selectieInfos }));
216
+ const SetSelectedRitdeel = createAction(SET_SELECTED_RITDEEL, (id) => ({ id }));
296
217
  // do not export return value
297
218
  const mstActions = union({
298
219
  setEditable,
@@ -331,10 +252,238 @@ const mstActions = union({
331
252
  BewegingInvoegen,
332
253
  KeurAlleActiesGoed,
333
254
  UpdateRit,
334
- svgUpdateFinished,
335
- setSelectieInfos
255
+ setSelectedRitdeel: SetSelectedRitdeel
256
+ });
257
+
258
+ const SET_RIT_DELEN = '[mst] SetRitDelen';
259
+ const SET_RIT_DELEN_AFTER_UPDATE = '[mst] SetRitDelenAfterUpdate';
260
+ const UPDATE_RIT_DELEN = '[mst] UpdateRitDelen';
261
+ const TOGGLE_RITDEEL_ZICHTBAAR = '[mst] ToggleRitdeelZichtbaar';
262
+ const SET_RITDEEL_ZICHTBAAR = '[mst] ZetRitdeelZichtbaar';
263
+ const SET_ZICHTBAARHEID_ALLE_RITDELEN = '[mst] SetZichtbaarheidAlleRitdelen';
264
+ const TOGGLE_ZICHTBAARHEID_VOOR_BEWEGINGEN = '[mst] ToggleZichtbaarheidVoorBewegingen';
265
+ const SET_ALTERNATIEVE_RIT_DELEN = '[mst] SetAlternatieveRitDelen';
266
+ const RITDEEL_INVOEGEN = '[mst] RitdeelInvoegen';
267
+ const DELETE_RITDEEL = '[mst] DeleteRitdeel';
268
+ const DELETE_RITDEEL_ACTIE = '[mst] DeleteRitdeelActie';
269
+ const ADD_RITDEEL_ACTIE = '[mst] AddRitdeelActie';
270
+ const NAVIGEER = '[mst] Navigeer';
271
+ const NAVIGEER_VANAF = '[mst] NavigeerVanaf';
272
+ const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize, iaversieinfo) => ({ ritDelen, paginationSize, iaversieinfo }));
273
+ const setRitdelenAfterUpdate = createAction(SET_RIT_DELEN_AFTER_UPDATE, (ritDelen) => ({ ritDelen }));
274
+ const navigeer = createAction(NAVIGEER, (stapSize, paginationSize, iaversieinfo) => ({ stapSize, paginationSize, iaversieinfo }));
275
+ const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize, iaversieinfo, ritdeel) => ({ paginationSize, iaversieinfo, ritdeel }));
276
+ const updateRitDelen = createAction(UPDATE_RIT_DELEN, (ritDelen) => ({ ritDelen }));
277
+ const toggleRitdeelZichtbaar = createAction(TOGGLE_RITDEEL_ZICHTBAAR, (ritDeel) => ({ ritDeel }));
278
+ const setRitdeelZichtbaar = createAction(SET_RITDEEL_ZICHTBAAR, (ritDeel, zichtbaar) => ({ ritDeel, zichtbaar }));
279
+ const deleteRitdeel = createAction(DELETE_RITDEEL, (ritDeel) => ({ ritDeel }));
280
+ const deleteRitdeelActie = createAction(DELETE_RITDEEL_ACTIE, (ritDeel, actie) => ({ ritDeel, actie }));
281
+ const addRitdeelActie = createAction(ADD_RITDEEL_ACTIE, (ritDeel, actie) => ({ ritDeel, actie }));
282
+ const setZichtbaarheidAlleRitdelen = createAction(SET_ZICHTBAARHEID_ALLE_RITDELEN, (zichtbaarheid) => ({ zichtbaarheid }));
283
+ const toggleZichtbaarheidVoorBewegingen = createAction(TOGGLE_ZICHTBAARHEID_VOOR_BEWEGINGEN, (bewegingIds) => ({ bewegingIds }));
284
+ const setAlternatieveRitDelen = createAction(SET_ALTERNATIEVE_RIT_DELEN, (alternatieveRitDeel) => ({ alternatieveRitDeel }));
285
+ const ritdeelInvoegen = createAction(RITDEEL_INVOEGEN, (nieuweRoute) => ({ nieuweRoute }));
286
+ // do not export return value
287
+ const ritdeelActions = union({
288
+ setRitDelen,
289
+ updateRitDelen,
290
+ setRitdelenAfterUpdate,
291
+ toggleRitdeelZichtbaar,
292
+ setRitdeelZichtbaar,
293
+ deleteRitdeel,
294
+ deleteRitdeelActie,
295
+ addRitdeelActie,
296
+ setZichtbaarheidAlleRitdelen,
297
+ toggleZichtbaarheidVoorBewegingen,
298
+ setAlternatieveRitDelen,
299
+ ritdeelInvoegen
336
300
  });
337
301
 
302
+ let MstLoggingResource = class MstLoggingResource extends Resource {
303
+ constructor(restHandler, store) {
304
+ super(restHandler);
305
+ this.store = store;
306
+ this.subscriptions = new Subscription();
307
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.$setUrl(baseUrl)));
308
+ }
309
+ ngOnDestroy() {
310
+ this.subscriptions.unsubscribe();
311
+ }
312
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, deps: [{ token: i1.ResourceHandler }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
313
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource }); }
314
+ };
315
+ __decorate([
316
+ ResourceAction({
317
+ path: '/',
318
+ method: ResourceRequestMethod.Post
319
+ })
320
+ ], MstLoggingResource.prototype, "logErrorMessages", void 0);
321
+ MstLoggingResource = __decorate([
322
+ ResourceParams({
323
+ pathPrefix: '/mst/services/rest/logging'
324
+ })
325
+ ], MstLoggingResource);
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, decorators: [{
327
+ type: Injectable
328
+ }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { logErrorMessages: [] } });
329
+ class MstLoggingDto extends ResourceModel {
330
+ constructor(data) {
331
+ super();
332
+ this.$resource = MstLoggingResource;
333
+ this.$setData(data);
334
+ }
335
+ toJSON() {
336
+ return {
337
+ iaVersie: this.iaVersie,
338
+ meldingLevel: this.meldingLevel,
339
+ meldingMessage: this.meldingMessage,
340
+ algemeneRitInfoDto: this.algemeneRitInfoDto,
341
+ actieDto: this.actieDto,
342
+ sbinfoDtos: this.sbinfoDtos
343
+ };
344
+ }
345
+ toString() {
346
+ return `${this.iaVersie},${this.meldingLevel},${this.meldingMessage},${this.algemeneRitInfoDto},
347
+ ${this.actieDto},${this.sbinfoDtos}`;
348
+ }
349
+ $setData(data) {
350
+ if (data) {
351
+ this.iaVersie = data.iaVersie;
352
+ this.meldingLevel = data.meldingLevel;
353
+ this.meldingMessage = data.meldingMessage;
354
+ this.algemeneRitInfoDto = data.algemeneRitInfoDto;
355
+ this.actieDto = data.actieDto;
356
+ this.sbinfoDtos = data.sbinfoDtos;
357
+ }
358
+ return this;
359
+ }
360
+ }
361
+ class ActieDto {
362
+ constructor(data) {
363
+ this.$setData(data);
364
+ }
365
+ toJSON() {
366
+ return {
367
+ pplgNaam: this.pplgNaam,
368
+ ritActieTypeOmschrijving: this.ritActieTypeOmschrijving,
369
+ ritActieStatus: this.ritActieStatus,
370
+ bewegingId: this.bewegingId,
371
+ wisselType: this.wisselType,
372
+ wisselNaam: this.wisselNaam,
373
+ wisselKantCode: this.wisselKantCode,
374
+ vanKilometerlint: this.vanKilometerlint,
375
+ vanKilometrering: this.vanKilometrering,
376
+ totKilometerlint: this.totKilometerlint,
377
+ totKilometrering: this.totKilometrering
378
+ };
379
+ }
380
+ toString() {
381
+ return `${this.pplgNaam},${this.ritActieTypeOmschrijving},${this.ritActieStatus},
382
+ ${this.bewegingId},${this.wisselType},${this.wisselNaam},${this.wisselKantCode},
383
+ ${this.vanKilometerlint},${this.vanKilometrering},${this.totKilometerlint},${this.totKilometrering}`;
384
+ }
385
+ $setData(data) {
386
+ if (data) {
387
+ this.pplgNaam = data.pplgNaam;
388
+ this.ritActieTypeOmschrijving = data.ritActieTypeOmschrijving;
389
+ this.ritActieStatus = data.ritActieStatus;
390
+ this.bewegingId = data.bewegingId;
391
+ this.wisselType = data.wisselType;
392
+ this.wisselNaam = data.wisselNaam;
393
+ this.wisselKantCode = data.wisselKantCode;
394
+ this.vanKilometerlint = data.vanKilometerlint;
395
+ this.vanKilometrering = data.vanKilometrering;
396
+ this.totKilometerlint = data.totKilometerlint;
397
+ this.totKilometrering = data.totKilometrering;
398
+ }
399
+ return this;
400
+ }
401
+ }
402
+ class AlgemeneRitInfoDto {
403
+ constructor(data) {
404
+ this.$setData(data);
405
+ }
406
+ toJSON() {
407
+ return {
408
+ id: this.id,
409
+ jaarplanId: this.jaarplanId,
410
+ volgnummer: this.volgnummer,
411
+ machineTypeId: this.machineTypeId,
412
+ machineTypeOmschrijving: this.machineTypeOmschrijving,
413
+ ritDatum: this.ritDatum,
414
+ startDatum: this.startDatum,
415
+ eindDatum: this.eindDatum,
416
+ ritNaam: this.ritNaam,
417
+ startLocatie: this.startLocatie,
418
+ eindLocatie: this.eindLocatie,
419
+ ritStatus: this.ritStatus,
420
+ modified: this.modified,
421
+ modifiedBy: this.modifiedBy,
422
+ planJobId: this.planJobId
423
+ };
424
+ }
425
+ toString() {
426
+ return `${this.id},${this.jaarplanId},${this.volgnummer},${this.machineTypeId},${this.machineTypeOmschrijving}
427
+ ,${this.ritDatum},${this.startDatum},${this.eindDatum},${this.ritNaam},${this.startLocatie}
428
+ ,${this.eindLocatie},${this.ritStatus},${this.modified},${this.modifiedBy},${this.planJobId}`;
429
+ }
430
+ $setData(data) {
431
+ if (data) {
432
+ this.id = data.id;
433
+ this.jaarplanId = data.jaarplanId;
434
+ this.volgnummer = data.volgnummer;
435
+ this.machineTypeId = data.machineTypeId;
436
+ this.machineTypeOmschrijving = data.machineTypeOmschrijving;
437
+ this.ritDatum = data.ritDatum;
438
+ this.startDatum = data.startDatum;
439
+ this.eindDatum = data.eindDatum;
440
+ this.ritNaam = data.ritNaam;
441
+ this.startLocatie = data.startLocatie;
442
+ this.eindLocatie = data.eindLocatie;
443
+ this.ritStatus = data.ritStatus;
444
+ this.modified = data.modified;
445
+ this.modifiedBy = data.modifiedBy;
446
+ this.planJobId = data.planJobId;
447
+ }
448
+ return this;
449
+ }
450
+ }
451
+
452
+ class Utils {
453
+ static flatMap(xs, f) {
454
+ return xs.reduce((acc, x) => acc.concat(f(x)), []);
455
+ }
456
+ static getValidErorrMessage(err) {
457
+ let errorMsg = '';
458
+ if (err.msg) {
459
+ errorMsg += err.msg;
460
+ }
461
+ if (Array.isArray(err.body)) {
462
+ err.body.forEach(x => errorMsg += x);
463
+ }
464
+ else if (err.body) {
465
+ if (err.body instanceof ProgressEvent) {
466
+ errorMsg = 'Kon geen verbinding maken met de server';
467
+ }
468
+ else if (err.body.text) {
469
+ errorMsg += err.body.text;
470
+ }
471
+ else {
472
+ errorMsg += err.body;
473
+ }
474
+ }
475
+ if (err.message) {
476
+ errorMsg += err.message;
477
+ }
478
+ if (typeof err === 'string' || err instanceof String) {
479
+ errorMsg += err;
480
+ }
481
+ if (errorMsg !== '') {
482
+ return errorMsg;
483
+ }
484
+ }
485
+ }
486
+
338
487
  /**
339
488
  * https://gist.github.com/jordanluyke/609a4fffb69d1ebafdadd313ee2ee804
340
489
  *
@@ -398,7 +547,7 @@ class ArrayMultimap {
398
547
  return Array.from(new Set(this._entries.map(entry => entry.key)));
399
548
  }
400
549
  values() {
401
- return this._entries.reduce((acc, x) => acc.concat(x.value), []);
550
+ return Utils.flatMap(this._entries, x => x.value);
402
551
  }
403
552
  put(key, value) {
404
553
  this._entries.push(new MultimapEntry(key, value));
@@ -492,10 +641,10 @@ class SignaleringsBeeldManagerService {
492
641
  getEersteVerbindingPuicVoorSplitEngelseWissel(engelsWisselNaam, kantcode) {
493
642
  return this.signaleringsBeeldManager.getEersteVerbindingPuicVoorSplitEngelseWissel(engelsWisselNaam, kantcode);
494
643
  }
495
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SignaleringsBeeldManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
496
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SignaleringsBeeldManagerService }); }
644
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsBeeldManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
645
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsBeeldManagerService }); }
497
646
  }
498
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SignaleringsBeeldManagerService, decorators: [{
647
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsBeeldManagerService, decorators: [{
499
648
  type: Injectable
500
649
  }] });
501
650
 
@@ -504,7 +653,6 @@ class EditorService {
504
653
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
505
654
  this.initReadyPromise();
506
655
  }
507
- // Called from GWT only, can be removed when GWT is gone. any is used because it will be removed with GWT
508
656
  setEditor(editor) {
509
657
  this.editor = editor;
510
658
  this.resolveReadyPromise();
@@ -512,7 +660,6 @@ class EditorService {
512
660
  isReady() {
513
661
  return this.promise;
514
662
  }
515
- // Called from GWT only, can be removed when GWT is gone
516
663
  setSignaleringsBeeldManager(signaleringsBeeldManager) {
517
664
  this.signaleringsBeeldManagerService.set(signaleringsBeeldManager);
518
665
  }
@@ -538,10 +685,10 @@ class EditorService {
538
685
  that.resolveReadyPromise = resolve;
539
686
  }) : this.promise;
540
687
  }
541
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorService, deps: [{ token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
542
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorService }); }
688
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditorService, deps: [{ token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
689
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditorService }); }
543
690
  }
544
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: EditorService, decorators: [{
691
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: EditorService, decorators: [{
545
692
  type: Injectable
546
693
  }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }] });
547
694
 
@@ -558,7 +705,7 @@ class BewegingUtils {
558
705
  const retval = [];
559
706
  retval.length = ritDelen.length;
560
707
  const origineleBewegingMap = this.bepaalOrigineleBewegingMap(origineleBewegingen);
561
- let vorigeBeweging = undefined;
708
+ let vorigeBeweging = null;
562
709
  for (let i = 0; i < ritDelen.length; i++) {
563
710
  const ritdeel = ritDelen[i];
564
711
  if (ritdeel.beweging) {
@@ -588,7 +735,7 @@ class BewegingUtils {
588
735
  }
589
736
  static bewegingenZijnGewijzigd(ritDelen, origineleBewegingen) {
590
737
  const ritDelenArray = ritDelen
591
- .filter(r => r.beweging?.id)
738
+ .filter(r => r.beweging)
592
739
  .map(r => r.beweging.id)
593
740
  .sort((a, b) => a - b);
594
741
  const bewegingenIdArray = origineleBewegingen.map(b => b.id).sort((a, b) => a - b);
@@ -604,9 +751,9 @@ class BewegingUtils {
604
751
  return stringToCheck.indexOf(match) !== -1;
605
752
  }
606
753
  static isGewijzigd(ritdeel, nieuwDwangNummer, origineleBewegingenMap) {
607
- const dwangGewijzigd = ritdeel.beweging?.dwangNummer !== nieuwDwangNummer;
754
+ const dwangGewijzigd = ritdeel.beweging.dwangNummer !== nieuwDwangNummer;
608
755
  let gewijzigd = false;
609
- if (ritdeel.beweging?.wijzigStatus === this.NORMAAL) {
756
+ if (ritdeel.beweging.wijzigStatus === this.NORMAAL) {
610
757
  const origineleBewegingActies = origineleBewegingenMap.get(ritdeel.beweging.id);
611
758
  const huidigeActies = this.createSortedActieIdList(ritdeel.acties);
612
759
  gewijzigd = JSON.stringify(huidigeActies) !== JSON.stringify(origineleBewegingActies);
@@ -630,7 +777,7 @@ class BewegingUtils {
630
777
  let naarSeinPplg;
631
778
  let naarSpoor = newRitdeel.getNaarPrlSpoor();
632
779
  if (eindSein.getTypeAlsString() === BewegingUtils.SEIN_TYPE_FICTIEF) {
633
- if (newRitdeel.heeftVrijebaanInfo() && newRitdeel.getVrijebaanRijweg()) {
780
+ if (newRitdeel.heeftVrijebaanInfo()) {
634
781
  const vbEindSein = newRitdeel.getVrijebaanRijweg().getEindSein();
635
782
  naarSeinNaam = vbEindSein.getName();
636
783
  naarSeinPplg = vbEindSein.getPPLG();
@@ -673,10 +820,10 @@ class BewegingUtils {
673
820
  static toRouteFileDwangNummer(dwangNummer) {
674
821
  return (dwangNummer === 0) ? -1 : dwangNummer;
675
822
  }
676
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingUtils, deps: [{ token: EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
677
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingUtils }); }
823
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingUtils, deps: [{ token: EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
824
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingUtils }); }
678
825
  }
679
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingUtils, decorators: [{
826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingUtils, decorators: [{
680
827
  type: Injectable
681
828
  }], ctorParameters: () => [{ type: EditorService }] });
682
829
 
@@ -684,23 +831,43 @@ class ViewerControlService {
684
831
  constructor(store, bewegingUtils) {
685
832
  this.store = store;
686
833
  this.bewegingUtils = bewegingUtils;
834
+ this.subscriptions = new Subscription();
687
835
  this.valideRit$ = new BehaviorSubject(false);
688
836
  this.printing$ = new BehaviorSubject(false);
689
837
  this.sideNavOpen = false;
690
838
  this.sideNavOpen$ = new BehaviorSubject(this.sideNavOpen);
691
- this.origineelTreinPad = {};
839
+ this.subscriptions.add(combineLatest([
840
+ store.select('ritSelectieIds'),
841
+ store.select('actieOpRitSelectieIds'),
842
+ store.select('ongeplandeActieSelectieIds'),
843
+ store.select('gebrokenRitSelectieIds'),
844
+ store.select('alternatievenSelectieIds'),
845
+ store.select('beginSeinSelectieIds'),
846
+ store.select('eindSeinSelectieIds')
847
+ ]).subscribe(([rit, actieOpRitSelectieIds, ongeplandeActieSelectieIds, gebrokenrit, alternatieven, begin, eind]) => {
848
+ const selectie = [];
849
+ selectie.push(new SelectieInfo(rit, 'rit'));
850
+ selectie.push(new SelectieInfo(actieOpRitSelectieIds, 'actieoprit'));
851
+ selectie.push(new SelectieInfo(ongeplandeActieSelectieIds, 'ongeplandeActie'));
852
+ selectie.push(new SelectieInfo(gebrokenrit, 'gebrokenrit'));
853
+ selectie.push(new SelectieInfo(alternatieven, 'alternatieveRoute'));
854
+ selectie.push(new SelectieInfo(begin, 'zigzagVan'));
855
+ selectie.push(new SelectieInfo(eind, 'zigzagNaar'));
856
+ this.selectieInfos = selectie;
857
+ }));
858
+ this.subscriptions.add(store.select('ritDelen').subscribe(ritdelen => this.ritdelen = ritdelen));
692
859
  }
693
860
  toggleSideNavVisible() {
694
861
  this.sideNavOpen = !this.sideNavOpen;
695
862
  this.sideNavOpen$.next(this.sideNavOpen);
696
863
  }
697
864
  keurAlleActiesGoed(ongeplandeActies) {
698
- this.store.select('ritDelen').pipe(take(1), filter(ritdelen => !!ritdelen), tap(ritdelen => {
865
+ if (this.ritdelen) {
699
866
  this.store.dispatch(ShowProgress());
700
- const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritdelen, this.origineelTreinPad.bewegingen);
701
- const alleActies = this.verzamelAlleActies(ritdelen, ongeplandeActies);
867
+ const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(this.ritdelen, this.origineelTreinPad.bewegingen);
868
+ const alleActies = this.verzamelAlleActies(this.ritdelen, ongeplandeActies);
702
869
  this.store.dispatch(KeurAlleActiesGoed(this.getBewegingenZonderActies(bewegingen), alleActies));
703
- })).subscribe();
870
+ }
704
871
  }
705
872
  setValideRit(valideRit) {
706
873
  this.valideRit$.next(valideRit);
@@ -722,7 +889,7 @@ class ViewerControlService {
722
889
  }
723
890
  setOrigineelTreinPad(treinpad) {
724
891
  const rit = JSON.parse(JSON.stringify(treinpad));
725
- this.store.dispatch(SetAlgemeneRitInfo({
892
+ this.store.dispatch(SetAlgemeneRitInfo(new AlgemeneRitInfoDto({
726
893
  id: rit.id,
727
894
  jaarplanId: rit.jaarplanId,
728
895
  volgnummer: rit.volgnummer,
@@ -738,7 +905,7 @@ class ViewerControlService {
738
905
  modified: rit.modified,
739
906
  modifiedBy: rit.modifiedBy,
740
907
  planJobId: rit.planJobId
741
- }));
908
+ })));
742
909
  this.origineelTreinPad = rit;
743
910
  }
744
911
  isValideRit$() {
@@ -747,10 +914,10 @@ class ViewerControlService {
747
914
  isPrinting$() {
748
915
  return this.printing$;
749
916
  }
750
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewerControlService, deps: [{ token: i2$1.Store }, { token: BewegingUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
751
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewerControlService, providedIn: 'root' }); }
917
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlService, deps: [{ token: i2$1.Store }, { token: BewegingUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
918
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlService, providedIn: 'root' }); }
752
919
  }
753
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewerControlService, decorators: [{
920
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlService, decorators: [{
754
921
  type: Injectable,
755
922
  args: [{
756
923
  providedIn: 'root'
@@ -766,10 +933,10 @@ class DebugService {
766
933
  setDebugFlag(debug) {
767
934
  this.store.dispatch(SetDebug(debug));
768
935
  if (debug) {
769
- document.getElementById('svgContainer')?.addEventListener('mouseover', this.listener);
936
+ document.getElementById('svgContainer').addEventListener('mouseover', this.listener);
770
937
  }
771
938
  else {
772
- document.getElementById('svgContainer')?.removeEventListener('mouseover', this.listener);
939
+ document.getElementById('svgContainer').removeEventListener('mouseover', this.listener);
773
940
  }
774
941
  }
775
942
  debugEventListener() {
@@ -800,10 +967,10 @@ class DebugService {
800
967
  console.log(logline);
801
968
  }
802
969
  }
803
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DebugService, deps: [{ token: i2$1.Store }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
804
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DebugService, providedIn: 'root' }); }
970
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DebugService, deps: [{ token: i2$1.Store }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
971
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DebugService, providedIn: 'root' }); }
805
972
  }
806
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DebugService, decorators: [{
973
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DebugService, decorators: [{
807
974
  type: Injectable,
808
975
  args: [{
809
976
  providedIn: 'root'
@@ -815,1797 +982,229 @@ class PrintBewegingService {
815
982
  this.store = store;
816
983
  this.viewerControlService = viewerControlService;
817
984
  this.sbmService = sbmService;
818
- }
819
- printBeweging(bewegingId, paginationSize) {
820
- return new Promise((resolve, reject) => {
821
- this.store.select('ritDelen').pipe(take(1), tap(ritdelen => {
822
- const gevondenRitdeel = ritdelen.filter(r => Number.parseInt(r.getBewegingId(), 10) === bewegingId);
823
- // hide/show de knoppen
824
- const printing = !!bewegingId && gevondenRitdeel.length === 1;
825
- this.viewerControlService.setPrinting(printing);
826
- if (!printing) {
827
- reject(new Error('Geen beweging gevonden voor ' + bewegingId));
828
- return;
829
- }
830
- const ritdeel = gevondenRitdeel[0];
831
- if (ritdeel.isNietBeschikbaar()) {
832
- this.store.dispatch(navigeerVanaf(paginationSize, ritdeel));
833
- this.store.dispatch(ShowProgress());
834
- setTimeout(() => this.focusOpBeweging(ritdeel, resolve), 1000);
835
- }
836
- else {
837
- this.focusOpBeweging(ritdeel, resolve);
838
- }
839
- })).subscribe();
985
+ this.store.select(s => s.ritDelen).subscribe(ritdelen => this.ritdelen = ritdelen);
986
+ }
987
+ printBeweging(bewegingId, paginationSize, iaVersieInfo) {
988
+ const gevondenRitdeel = this.ritdelen.filter(r => parseInt(r.getBewegingId(), 10) === bewegingId);
989
+ // hide/show de knoppen
990
+ const printing = !!bewegingId && gevondenRitdeel.length === 1;
991
+ this.viewerControlService.setPrinting(printing);
992
+ if (!printing) {
993
+ return Promise.reject(new Error('Geen beweging gevonden voor ' + bewegingId));
994
+ }
995
+ return new Promise((resolve) => {
996
+ const ritdeel = gevondenRitdeel[0];
997
+ if (ritdeel.isNietBeschikbaar()) {
998
+ this.store.dispatch(navigeerVanaf(paginationSize, iaVersieInfo, ritdeel));
999
+ this.store.dispatch(ShowProgress());
1000
+ setTimeout(() => this.focusOpBeweging(ritdeel, resolve), 1000);
1001
+ }
1002
+ else {
1003
+ this.focusOpBeweging(ritdeel, resolve);
1004
+ }
840
1005
  });
841
1006
  }
842
1007
  focusOpBeweging(ritdeel, resolve) {
843
1008
  // deselecteer alles
844
1009
  this.store.dispatch(setZichtbaarheidAlleRitdelen(false));
845
1010
  // enable ritacties (checkbox) voor alle ritdelen met beweging die matched met bewegingId(s)
846
- this.store.dispatch(toggleZichtbaarheidVoorBewegingen([parseInt(ritdeel.getBewegingId(), 10)]));
847
- setTimeout(() => {
848
- // dit neemt niet de vrijebaan elementen mee
849
- const topoElementen = this.sbmService.bepaalRouteElementen(ritdeel.getRoute());
850
- const dwangPuics = this.getPuics(topoElementen);
851
- this.store.dispatch(focusOpIds(dwangPuics));
852
- setTimeout(() => {
853
- // resolve de promise, om aan te geven dat focus klaar is
854
- resolve(true);
855
- this.viewerControlService.setPrinting(false);
856
- this.store.dispatch(ClearProgress());
857
- }, 1000);
858
- });
859
- }
860
- getPuics(topoElementen) {
861
- return topoElementen.map(e => e.getPuic());
862
- }
863
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrintBewegingService, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
864
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrintBewegingService, providedIn: 'root' }); }
865
- }
866
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: PrintBewegingService, decorators: [{
867
- type: Injectable,
868
- args: [{
869
- providedIn: 'root'
870
- }]
871
- }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: SignaleringsBeeldManagerService }] });
872
-
873
- class RpeComponent {
874
- constructor() {
875
- this.baseurl = '';
876
- this.path = '';
877
- }
878
- convertToScript() {
879
- const element = this.script?.nativeElement;
880
- const script = document.createElement('script');
881
- script.type = 'text/javascript';
882
- if (this.baseurl && this.path) {
883
- script.src = this.baseurl + this.path;
884
- // eslint-disable-next-line no-console
885
- console.log('Code geladen van: ' + script.src); //useful for debugging in GWT environment
886
- }
887
- const parent = element.parentElement;
888
- parent.parentElement.replaceChild(script, parent);
889
- }
890
- ngAfterViewInit() {
891
- this.convertToScript();
892
- }
893
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RpeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
894
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RpeComponent, selector: "rpe-component", inputs: { baseurl: "baseurl", path: "path" }, viewQueries: [{ propertyName: "script", first: true, predicate: ["rpescript"], descendants: true }], ngImport: i0, template: "<div #rpescript style.display=\"none\">\n <ng-content></ng-content>\n</div>\n" }); }
895
- }
896
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RpeComponent, decorators: [{
897
- type: Component,
898
- args: [{ selector: 'rpe-component', template: "<div #rpescript style.display=\"none\">\n <ng-content></ng-content>\n</div>\n" }]
899
- }], propDecorators: { baseurl: [{
900
- type: Input
901
- }], path: [{
902
- type: Input
903
- }], script: [{
904
- type: ViewChild,
905
- args: ['rpescript']
906
- }] } });
907
-
908
- class OngeplandeActie {
909
- constructor(actie, puics) {
910
- this.actie = actie;
911
- this.puics = puics;
912
- }
913
- }
914
-
915
- class KmRange {
916
- constructor(topologyElement, vanKilometreringen, totKilometreringen) {
917
- this.topologyElement = topologyElement;
918
- this.vanKilometreringen = vanKilometreringen;
919
- this.totKilometreringen = totKilometreringen;
920
- }
921
- static rangeVoorPuntObject(topologyElement) {
922
- return new KmRange(topologyElement, JsJavaUtil.listToArray(topologyElement.getKilometreringen()), JsJavaUtil.listToArray(topologyElement.getKilometreringen()));
923
- }
924
- static rangeVoorStrekObject(topologyElement, vanKilometreringen, totKilometreringen) {
925
- return new KmRange(topologyElement, vanKilometreringen, totKilometreringen);
926
- }
927
- static getKilometrering(lintNaam, kilometreringen) {
928
- const result = kilometreringen.filter(kilometrering => kilometrering.getKmLint() === lintNaam);
929
- if (result.length >= 1) {
930
- return result[0];
931
- }
932
- return undefined;
933
- }
934
- heeftOverlap(kilometrering1, kilometrering2) {
935
- const vanKilometrering = KmRange.getKilometrering(kilometrering1.getKmLint(), this.vanKilometreringen);
936
- const totKilometrering = KmRange.getKilometrering(kilometrering2.getKmLint(), this.totKilometreringen);
937
- if (!vanKilometrering || !totKilometrering) {
938
- return false;
939
- }
940
- let startKmWaarde = vanKilometrering.getKmWaarde();
941
- let endKmWaarde = totKilometrering.getKmWaarde();
942
- if (startKmWaarde > endKmWaarde) {
943
- const temp = { end: endKmWaarde, start: startKmWaarde };
944
- startKmWaarde = temp.end;
945
- endKmWaarde = temp.start;
946
- }
947
- const actieStartKmWaarde = kilometrering1.getKmWaarde();
948
- const actieEndKmWaarde = kilometrering2.getKmWaarde();
949
- return endKmWaarde >= actieStartKmWaarde && actieEndKmWaarde >= startKmWaarde;
950
- }
951
- }
952
-
953
- class WisselKantCode {
954
- constructor(naam, kantCode) {
955
- this.naam = naam;
956
- this.kantCode = kantCode;
957
- }
958
- }
959
-
960
- class MeldingEvent {
961
- constructor(meldingMessage, meldingLevel) {
962
- this.meldingMessage = meldingMessage;
963
- this.meldingLevel = meldingLevel;
964
- }
965
- }
966
-
967
- const MELDING_LEVEL_ERROR = 'error';
968
- const MELDING_LEVEL_WARNING = 'warn';
969
- const MELDING_LEVEL_INFO = 'info';
970
- class MeldingBuilder {
971
- static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
972
- return new MeldingEvent('Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken, MELDING_LEVEL_INFO);
973
- }
974
- static actieHighlightError(actieZonderElementen) {
975
- return new MeldingEvent('Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen, MELDING_LEVEL_ERROR);
976
- }
977
- }
978
-
979
- class Utils {
980
- static getValidErorrMessage(err) {
981
- let errorMsg = '';
982
- if (err.msg) {
983
- errorMsg += err.msg;
984
- }
985
- if (Array.isArray(err.body)) {
986
- err.body.forEach((x) => errorMsg += x);
987
- }
988
- else if (err.body) {
989
- if (err.body instanceof ProgressEvent) {
990
- errorMsg = 'Kon geen verbinding maken met de server';
991
- }
992
- else if (err.body.text) {
993
- errorMsg += err.body.text;
994
- }
995
- else {
996
- errorMsg += err.body;
997
- }
998
- }
999
- if (err.message) {
1000
- errorMsg += err.message;
1001
- }
1002
- if (typeof err === 'string' || err instanceof String) {
1003
- errorMsg += err;
1004
- }
1005
- if (errorMsg !== '') {
1006
- return errorMsg;
1007
- }
1008
- else {
1009
- return 'Er is een onbekende fout opgetreden';
1010
- }
1011
- }
1012
- }
1013
-
1014
- class MessageBuilder {
1015
- static rwpDataNietGevonden(err) {
1016
- return new Message(Severity.ERROR, 'Error bij ophalen van rijwegplan data: ' + err);
1017
- }
1018
- static rijwegNietGevonden(beweging) {
1019
- return new Message(Severity.ERROR, `Rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1020
- }
1021
- static rijwegplanNietGevonden(beweging) {
1022
- return new Message(Severity.ERROR, `Rijwegplan van PPLG ${beweging.vanPplg} niet gevonden`);
1023
- }
1024
- static dwangNietGevonden(beweging) {
1025
- return new Message(Severity.ERROR, `Dwang ${beweging.dwangNummer} voor rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1026
- }
1027
- static nietGevondenSBI(err) {
1028
- return new Message(Severity.ERROR, 'Error bij het ophalen van signaleringsbeeldinfo: ' + Utils.getValidErorrMessage(err));
1029
- }
1030
- static actieHighlightError(actieZonderElementen) {
1031
- return new Message(Severity.ERROR, 'Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen);
1032
- }
1033
- static ritFileAlGewijzigdError(beweging) {
1034
- return new Message(Severity.ERROR, 'Rit bevat een beweging met status \'Gewijzigd\': Beweging met ID:' + beweging.id);
1035
- }
1036
- static meerDan12BladenGevonden(bladAmount) {
1037
- return new Message(Severity.WARNING, 'Warning, Rit bevat ' + bladAmount + ' bladen. Er worden maximaal 12 bladen ondersteund.');
1038
- }
1039
- static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1040
- return new Message(Severity.INFORMATION, 'Info, Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken);
1041
- }
1042
- }
1043
-
1044
- /**
1045
- * Custom HttpParameterCodec
1046
- * Workaround for https://github.com/angular/angular/issues/18261
1047
- */
1048
- class CustomHttpParameterCodec {
1049
- encodeKey(k) {
1050
- return encodeURIComponent(k);
1051
- }
1052
- encodeValue(v) {
1053
- return encodeURIComponent(v);
1054
- }
1055
- decodeKey(k) {
1056
- return decodeURIComponent(k);
1057
- }
1058
- decodeValue(v) {
1059
- return decodeURIComponent(v);
1060
- }
1061
- }
1062
-
1063
- const BASE_PATH = new InjectionToken('basePath');
1064
- const COLLECTION_FORMATS = {
1065
- 'csv': ',',
1066
- 'tsv': ' ',
1067
- 'ssv': ' ',
1068
- 'pipes': '|'
1069
- };
1070
-
1071
- class Configuration {
1072
- constructor(configurationParameters = {}) {
1073
- this.apiKeys = configurationParameters.apiKeys;
1074
- this.username = configurationParameters.username;
1075
- this.password = configurationParameters.password;
1076
- this.accessToken = configurationParameters.accessToken;
1077
- this.basePath = configurationParameters.basePath;
1078
- this.withCredentials = configurationParameters.withCredentials;
1079
- this.encoder = configurationParameters.encoder;
1080
- if (configurationParameters.encodeParam) {
1081
- this.encodeParam = configurationParameters.encodeParam;
1082
- }
1083
- else {
1084
- this.encodeParam = param => this.defaultEncodeParam(param);
1085
- }
1086
- if (configurationParameters.credentials) {
1087
- this.credentials = configurationParameters.credentials;
1088
- }
1089
- else {
1090
- this.credentials = {};
1091
- }
1092
- // init default keycloak_auth credential
1093
- if (!this.credentials['keycloak_auth']) {
1094
- this.credentials['keycloak_auth'] = () => {
1095
- return typeof this.accessToken === 'function'
1096
- ? this.accessToken()
1097
- : this.accessToken;
1098
- };
1099
- }
1100
- }
1101
- /**
1102
- * Select the correct content-type to use for a request.
1103
- * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
1104
- * If no content type is found return the first found type if the contentTypes is not empty
1105
- * @param contentTypes - the array of content types that are available for selection
1106
- * @returns the selected content-type or <code>undefined</code> if no selection could be made.
1107
- */
1108
- selectHeaderContentType(contentTypes) {
1109
- if (contentTypes.length === 0) {
1110
- return undefined;
1111
- }
1112
- const type = contentTypes.find((x) => this.isJsonMime(x));
1113
- if (type === undefined) {
1114
- return contentTypes[0];
1115
- }
1116
- return type;
1117
- }
1118
- /**
1119
- * Select the correct accept content-type to use for a request.
1120
- * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
1121
- * If no content type is found return the first found type if the contentTypes is not empty
1122
- * @param accepts - the array of content types that are available for selection.
1123
- * @returns the selected content-type or <code>undefined</code> if no selection could be made.
1124
- */
1125
- selectHeaderAccept(accepts) {
1126
- if (accepts.length === 0) {
1127
- return undefined;
1128
- }
1129
- const type = accepts.find((x) => this.isJsonMime(x));
1130
- if (type === undefined) {
1131
- return accepts[0];
1132
- }
1133
- return type;
1134
- }
1135
- /**
1136
- * Check if the given MIME is a JSON MIME.
1137
- * JSON MIME examples:
1138
- * application/json
1139
- * application/json; charset=UTF8
1140
- * APPLICATION/JSON
1141
- * application/vnd.company+json
1142
- * @param mime - MIME (Multipurpose Internet Mail Extensions)
1143
- * @return True if the given MIME is JSON, false otherwise.
1144
- */
1145
- isJsonMime(mime) {
1146
- const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
1147
- return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
1148
- }
1149
- lookupCredential(key) {
1150
- const value = this.credentials[key];
1151
- return typeof value === 'function'
1152
- ? value()
1153
- : value;
1154
- }
1155
- defaultEncodeParam(param) {
1156
- // This implementation exists as fallback for missing configuration
1157
- // and for backwards compatibility to older typescript-angular generator versions.
1158
- // It only works for the 'simple' parameter style.
1159
- // Date-handling only works for the 'date-time' format.
1160
- // All other styles and Date-formats are probably handled incorrectly.
1161
- //
1162
- // But: if that's all you need (i.e.: the most common use-case): no need for customization!
1163
- const value = param.dataFormat === 'date-time' && param.value instanceof Date
1164
- ? param.value.toISOString()
1165
- : param.value;
1166
- return encodeURIComponent(String(value));
1167
- }
1168
- }
1169
-
1170
- /**
1171
- * MST
1172
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1173
- *
1174
- * The version of the OpenAPI document: 1
1175
- *
1176
- *
1177
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1178
- * https://openapi-generator.tech
1179
- * Do not edit the class manually.
1180
- */
1181
- /* tslint:disable:no-unused-variable member-ordering */
1182
- class AppConfigControllerService {
1183
- constructor(httpClient, basePath, configuration) {
1184
- this.httpClient = httpClient;
1185
- this.basePath = 'http://localhost:8080/mst';
1186
- this.defaultHeaders = new HttpHeaders();
1187
- this.configuration = new Configuration();
1188
- if (configuration) {
1189
- this.configuration = configuration;
1190
- }
1191
- if (typeof this.configuration.basePath !== 'string') {
1192
- if (Array.isArray(basePath) && basePath.length > 0) {
1193
- basePath = basePath[0];
1194
- }
1195
- if (typeof basePath !== 'string') {
1196
- basePath = this.basePath;
1197
- }
1198
- this.configuration.basePath = basePath;
1199
- }
1200
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1201
- }
1202
- // @ts-ignore
1203
- addToHttpParams(httpParams, value, key) {
1204
- if (typeof value === "object" && value instanceof Date === false) {
1205
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
1206
- }
1207
- else {
1208
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1209
- }
1210
- return httpParams;
1211
- }
1212
- addToHttpParamsRecursive(httpParams, value, key) {
1213
- if (value == null) {
1214
- return httpParams;
1215
- }
1216
- if (typeof value === "object") {
1217
- if (Array.isArray(value)) {
1218
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1219
- }
1220
- else if (value instanceof Date) {
1221
- if (key != null) {
1222
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1223
- }
1224
- else {
1225
- throw Error("key may not be null if value is Date");
1226
- }
1227
- }
1228
- else {
1229
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1230
- }
1231
- }
1232
- else if (key != null) {
1233
- httpParams = httpParams.append(key, value);
1234
- }
1235
- else {
1236
- throw Error("key may not be null if value is not object or array");
1237
- }
1238
- return httpParams;
1239
- }
1240
- getAppConfig(observe = 'body', reportProgress = false, options) {
1241
- let localVarHeaders = this.defaultHeaders;
1242
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1243
- if (localVarHttpHeaderAcceptSelected === undefined) {
1244
- // to determine the Accept header
1245
- const httpHeaderAccepts = [
1246
- '*/*'
1247
- ];
1248
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1249
- }
1250
- if (localVarHttpHeaderAcceptSelected !== undefined) {
1251
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1252
- }
1253
- let localVarHttpContext = options && options.context;
1254
- if (localVarHttpContext === undefined) {
1255
- localVarHttpContext = new HttpContext();
1256
- }
1257
- let localVarTransferCache = options && options.transferCache;
1258
- if (localVarTransferCache === undefined) {
1259
- localVarTransferCache = true;
1260
- }
1261
- let responseType_ = 'json';
1262
- if (localVarHttpHeaderAcceptSelected) {
1263
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1264
- responseType_ = 'text';
1265
- }
1266
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1267
- responseType_ = 'json';
1268
- }
1269
- else {
1270
- responseType_ = 'blob';
1271
- }
1272
- }
1273
- let localVarPath = `/rest/appconfig`;
1274
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
1275
- context: localVarHttpContext,
1276
- responseType: responseType_,
1277
- withCredentials: this.configuration.withCredentials,
1278
- headers: localVarHeaders,
1279
- observe: observe,
1280
- transferCache: localVarTransferCache,
1281
- reportProgress: reportProgress
1282
- });
1283
- }
1284
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppConfigControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1285
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppConfigControllerService, providedIn: 'root' }); }
1286
- }
1287
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: AppConfigControllerService, decorators: [{
1288
- type: Injectable,
1289
- args: [{
1290
- providedIn: 'root'
1291
- }]
1292
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1293
- type: Optional
1294
- }, {
1295
- type: Inject,
1296
- args: [BASE_PATH]
1297
- }] }, { type: Configuration, decorators: [{
1298
- type: Optional
1299
- }] }] });
1300
-
1301
- /**
1302
- * MST
1303
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1304
- *
1305
- * The version of the OpenAPI document: 1
1306
- *
1307
- *
1308
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1309
- * https://openapi-generator.tech
1310
- * Do not edit the class manually.
1311
- */
1312
- /* tslint:disable:no-unused-variable member-ordering */
1313
- class BewegingControllerService {
1314
- constructor(httpClient, basePath, configuration) {
1315
- this.httpClient = httpClient;
1316
- this.basePath = 'http://localhost:8080/mst';
1317
- this.defaultHeaders = new HttpHeaders();
1318
- this.configuration = new Configuration();
1319
- if (configuration) {
1320
- this.configuration = configuration;
1321
- }
1322
- if (typeof this.configuration.basePath !== 'string') {
1323
- if (Array.isArray(basePath) && basePath.length > 0) {
1324
- basePath = basePath[0];
1325
- }
1326
- if (typeof basePath !== 'string') {
1327
- basePath = this.basePath;
1328
- }
1329
- this.configuration.basePath = basePath;
1330
- }
1331
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1332
- }
1333
- // @ts-ignore
1334
- addToHttpParams(httpParams, value, key) {
1335
- if (typeof value === "object" && value instanceof Date === false) {
1336
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
1337
- }
1338
- else {
1339
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1340
- }
1341
- return httpParams;
1342
- }
1343
- addToHttpParamsRecursive(httpParams, value, key) {
1344
- if (value == null) {
1345
- return httpParams;
1346
- }
1347
- if (typeof value === "object") {
1348
- if (Array.isArray(value)) {
1349
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1350
- }
1351
- else if (value instanceof Date) {
1352
- if (key != null) {
1353
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1354
- }
1355
- else {
1356
- throw Error("key may not be null if value is Date");
1357
- }
1358
- }
1359
- else {
1360
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1361
- }
1362
- }
1363
- else if (key != null) {
1364
- httpParams = httpParams.append(key, value);
1365
- }
1366
- else {
1367
- throw Error("key may not be null if value is not object or array");
1368
- }
1369
- return httpParams;
1370
- }
1371
- verrijkBewegingenMetOngeplandeActies(iaVersie, ritRequestDto, observe = 'body', reportProgress = false, options) {
1372
- if (iaVersie === null || iaVersie === undefined) {
1373
- throw new Error('Required parameter iaVersie was null or undefined when calling verrijkBewegingenMetOngeplandeActies.');
1374
- }
1375
- if (ritRequestDto === null || ritRequestDto === undefined) {
1376
- throw new Error('Required parameter ritRequestDto was null or undefined when calling verrijkBewegingenMetOngeplandeActies.');
1377
- }
1378
- let localVarHeaders = this.defaultHeaders;
1379
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1380
- if (localVarHttpHeaderAcceptSelected === undefined) {
1381
- // to determine the Accept header
1382
- const httpHeaderAccepts = [
1383
- '*/*'
1384
- ];
1385
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1386
- }
1387
- if (localVarHttpHeaderAcceptSelected !== undefined) {
1388
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1389
- }
1390
- let localVarHttpContext = options && options.context;
1391
- if (localVarHttpContext === undefined) {
1392
- localVarHttpContext = new HttpContext();
1393
- }
1394
- let localVarTransferCache = options && options.transferCache;
1395
- if (localVarTransferCache === undefined) {
1396
- localVarTransferCache = true;
1397
- }
1398
- // to determine the Content-Type header
1399
- const consumes = [
1400
- 'application/json'
1401
- ];
1402
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
1403
- if (httpContentTypeSelected !== undefined) {
1404
- localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
1405
- }
1406
- let responseType_ = 'json';
1407
- if (localVarHttpHeaderAcceptSelected) {
1408
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1409
- responseType_ = 'text';
1410
- }
1411
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1412
- responseType_ = 'json';
1413
- }
1414
- else {
1415
- responseType_ = 'blob';
1416
- }
1417
- }
1418
- let localVarPath = `/rest/beweging/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}`;
1419
- return this.httpClient.request('put', `${this.configuration.basePath}${localVarPath}`, {
1420
- context: localVarHttpContext,
1421
- body: ritRequestDto,
1422
- responseType: responseType_,
1423
- withCredentials: this.configuration.withCredentials,
1424
- headers: localVarHeaders,
1425
- observe: observe,
1426
- transferCache: localVarTransferCache,
1427
- reportProgress: reportProgress
1428
- });
1429
- }
1430
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1431
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingControllerService, providedIn: 'root' }); }
1432
- }
1433
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingControllerService, decorators: [{
1434
- type: Injectable,
1435
- args: [{
1436
- providedIn: 'root'
1437
- }]
1438
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1439
- type: Optional
1440
- }, {
1441
- type: Inject,
1442
- args: [BASE_PATH]
1443
- }] }, { type: Configuration, decorators: [{
1444
- type: Optional
1445
- }] }] });
1446
-
1447
- /**
1448
- * MST
1449
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1450
- *
1451
- * The version of the OpenAPI document: 1
1452
- *
1453
- *
1454
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1455
- * https://openapi-generator.tech
1456
- * Do not edit the class manually.
1457
- */
1458
- /* tslint:disable:no-unused-variable member-ordering */
1459
- class Class0BuildPropertiesService {
1460
- constructor(httpClient, basePath, configuration) {
1461
- this.httpClient = httpClient;
1462
- this.basePath = 'http://localhost:8080/mst';
1463
- this.defaultHeaders = new HttpHeaders();
1464
- this.configuration = new Configuration();
1465
- if (configuration) {
1466
- this.configuration = configuration;
1467
- }
1468
- if (typeof this.configuration.basePath !== 'string') {
1469
- if (Array.isArray(basePath) && basePath.length > 0) {
1470
- basePath = basePath[0];
1471
- }
1472
- if (typeof basePath !== 'string') {
1473
- basePath = this.basePath;
1474
- }
1475
- this.configuration.basePath = basePath;
1476
- }
1477
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1478
- }
1479
- // @ts-ignore
1480
- addToHttpParams(httpParams, value, key) {
1481
- if (typeof value === "object" && value instanceof Date === false) {
1482
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
1483
- }
1484
- else {
1485
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1486
- }
1487
- return httpParams;
1488
- }
1489
- addToHttpParamsRecursive(httpParams, value, key) {
1490
- if (value == null) {
1491
- return httpParams;
1492
- }
1493
- if (typeof value === "object") {
1494
- if (Array.isArray(value)) {
1495
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1496
- }
1497
- else if (value instanceof Date) {
1498
- if (key != null) {
1499
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1500
- }
1501
- else {
1502
- throw Error("key may not be null if value is Date");
1503
- }
1504
- }
1505
- else {
1506
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1507
- }
1508
- }
1509
- else if (key != null) {
1510
- httpParams = httpParams.append(key, value);
1511
- }
1512
- else {
1513
- throw Error("key may not be null if value is not object or array");
1514
- }
1515
- return httpParams;
1516
- }
1517
- getBuildProperties(observe = 'body', reportProgress = false, options) {
1518
- let localVarHeaders = this.defaultHeaders;
1519
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1520
- if (localVarHttpHeaderAcceptSelected === undefined) {
1521
- // to determine the Accept header
1522
- const httpHeaderAccepts = [
1523
- 'application/json'
1524
- ];
1525
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1526
- }
1527
- if (localVarHttpHeaderAcceptSelected !== undefined) {
1528
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1529
- }
1530
- let localVarHttpContext = options && options.context;
1531
- if (localVarHttpContext === undefined) {
1532
- localVarHttpContext = new HttpContext();
1533
- }
1534
- let localVarTransferCache = options && options.transferCache;
1535
- if (localVarTransferCache === undefined) {
1536
- localVarTransferCache = true;
1537
- }
1538
- let responseType_ = 'json';
1539
- if (localVarHttpHeaderAcceptSelected) {
1540
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1541
- responseType_ = 'text';
1542
- }
1543
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1544
- responseType_ = 'json';
1545
- }
1546
- else {
1547
- responseType_ = 'blob';
1548
- }
1549
- }
1550
- let localVarPath = `/build.properties`;
1551
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
1552
- context: localVarHttpContext,
1553
- responseType: responseType_,
1554
- withCredentials: this.configuration.withCredentials,
1555
- headers: localVarHeaders,
1556
- observe: observe,
1557
- transferCache: localVarTransferCache,
1558
- reportProgress: reportProgress
1559
- });
1560
- }
1561
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Class0BuildPropertiesService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1562
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Class0BuildPropertiesService, providedIn: 'root' }); }
1563
- }
1564
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: Class0BuildPropertiesService, decorators: [{
1565
- type: Injectable,
1566
- args: [{
1567
- providedIn: 'root'
1568
- }]
1569
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1570
- type: Optional
1571
- }, {
1572
- type: Inject,
1573
- args: [BASE_PATH]
1574
- }] }, { type: Configuration, decorators: [{
1575
- type: Optional
1576
- }] }] });
1577
-
1578
- /**
1579
- * MST
1580
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1581
- *
1582
- * The version of the OpenAPI document: 1
1583
- *
1584
- *
1585
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1586
- * https://openapi-generator.tech
1587
- * Do not edit the class manually.
1588
- */
1589
- /* tslint:disable:no-unused-variable member-ordering */
1590
- class ConnectorControllerService {
1591
- constructor(httpClient, basePath, configuration) {
1592
- this.httpClient = httpClient;
1593
- this.basePath = 'http://localhost:8080/mst';
1594
- this.defaultHeaders = new HttpHeaders();
1595
- this.configuration = new Configuration();
1596
- if (configuration) {
1597
- this.configuration = configuration;
1598
- }
1599
- if (typeof this.configuration.basePath !== 'string') {
1600
- if (Array.isArray(basePath) && basePath.length > 0) {
1601
- basePath = basePath[0];
1602
- }
1603
- if (typeof basePath !== 'string') {
1604
- basePath = this.basePath;
1605
- }
1606
- this.configuration.basePath = basePath;
1607
- }
1608
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1609
- }
1610
- // @ts-ignore
1611
- addToHttpParams(httpParams, value, key) {
1612
- if (typeof value === "object" && value instanceof Date === false) {
1613
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
1614
- }
1615
- else {
1616
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1617
- }
1618
- return httpParams;
1619
- }
1620
- addToHttpParamsRecursive(httpParams, value, key) {
1621
- if (value == null) {
1622
- return httpParams;
1623
- }
1624
- if (typeof value === "object") {
1625
- if (Array.isArray(value)) {
1626
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1627
- }
1628
- else if (value instanceof Date) {
1629
- if (key != null) {
1630
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1631
- }
1632
- else {
1633
- throw Error("key may not be null if value is Date");
1634
- }
1635
- }
1636
- else {
1637
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1638
- }
1639
- }
1640
- else if (key != null) {
1641
- httpParams = httpParams.append(key, value);
1642
- }
1643
- else {
1644
- throw Error("key may not be null if value is not object or array");
1645
- }
1646
- return httpParams;
1647
- }
1648
- getOtherConnector(iaVersie, connectorPuic, observe = 'body', reportProgress = false, options) {
1649
- if (iaVersie === null || iaVersie === undefined) {
1650
- throw new Error('Required parameter iaVersie was null or undefined when calling getOtherConnector.');
1651
- }
1652
- if (connectorPuic === null || connectorPuic === undefined) {
1653
- throw new Error('Required parameter connectorPuic was null or undefined when calling getOtherConnector.');
1654
- }
1655
- let localVarHeaders = this.defaultHeaders;
1656
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1657
- if (localVarHttpHeaderAcceptSelected === undefined) {
1658
- // to determine the Accept header
1659
- const httpHeaderAccepts = [
1660
- '*/*'
1661
- ];
1662
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1663
- }
1664
- if (localVarHttpHeaderAcceptSelected !== undefined) {
1665
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1666
- }
1667
- let localVarHttpContext = options && options.context;
1668
- if (localVarHttpContext === undefined) {
1669
- localVarHttpContext = new HttpContext();
1670
- }
1671
- let localVarTransferCache = options && options.transferCache;
1672
- if (localVarTransferCache === undefined) {
1673
- localVarTransferCache = true;
1674
- }
1675
- let responseType_ = 'json';
1676
- if (localVarHttpHeaderAcceptSelected) {
1677
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1678
- responseType_ = 'text';
1679
- }
1680
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1681
- responseType_ = 'json';
1682
- }
1683
- else {
1684
- responseType_ = 'blob';
1685
- }
1686
- }
1687
- let localVarPath = `/rest/connector/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}/${this.configuration.encodeParam({ name: "connectorPuic", value: connectorPuic, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}`;
1688
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
1689
- context: localVarHttpContext,
1690
- responseType: responseType_,
1691
- withCredentials: this.configuration.withCredentials,
1692
- headers: localVarHeaders,
1693
- observe: observe,
1694
- transferCache: localVarTransferCache,
1695
- reportProgress: reportProgress
1696
- });
1697
- }
1698
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConnectorControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1699
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConnectorControllerService, providedIn: 'root' }); }
1700
- }
1701
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConnectorControllerService, decorators: [{
1702
- type: Injectable,
1703
- args: [{
1704
- providedIn: 'root'
1705
- }]
1706
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1707
- type: Optional
1708
- }, {
1709
- type: Inject,
1710
- args: [BASE_PATH]
1711
- }] }, { type: Configuration, decorators: [{
1712
- type: Optional
1713
- }] }] });
1714
-
1715
- /**
1716
- * MST
1717
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1718
- *
1719
- * The version of the OpenAPI document: 1
1720
- *
1721
- *
1722
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1723
- * https://openapi-generator.tech
1724
- * Do not edit the class manually.
1725
- */
1726
- /* tslint:disable:no-unused-variable member-ordering */
1727
- class LogControllerService {
1728
- constructor(httpClient, basePath, configuration) {
1729
- this.httpClient = httpClient;
1730
- this.basePath = 'http://localhost:8080/mst';
1731
- this.defaultHeaders = new HttpHeaders();
1732
- this.configuration = new Configuration();
1733
- if (configuration) {
1734
- this.configuration = configuration;
1735
- }
1736
- if (typeof this.configuration.basePath !== 'string') {
1737
- if (Array.isArray(basePath) && basePath.length > 0) {
1738
- basePath = basePath[0];
1739
- }
1740
- if (typeof basePath !== 'string') {
1741
- basePath = this.basePath;
1742
- }
1743
- this.configuration.basePath = basePath;
1744
- }
1745
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1746
- }
1747
- // @ts-ignore
1748
- addToHttpParams(httpParams, value, key) {
1749
- if (typeof value === "object" && value instanceof Date === false) {
1750
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
1751
- }
1752
- else {
1753
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1754
- }
1755
- return httpParams;
1756
- }
1757
- addToHttpParamsRecursive(httpParams, value, key) {
1758
- if (value == null) {
1759
- return httpParams;
1760
- }
1761
- if (typeof value === "object") {
1762
- if (Array.isArray(value)) {
1763
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1764
- }
1765
- else if (value instanceof Date) {
1766
- if (key != null) {
1767
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1768
- }
1769
- else {
1770
- throw Error("key may not be null if value is Date");
1771
- }
1772
- }
1773
- else {
1774
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1775
- }
1776
- }
1777
- else if (key != null) {
1778
- httpParams = httpParams.append(key, value);
1779
- }
1780
- else {
1781
- throw Error("key may not be null if value is not object or array");
1782
- }
1783
- return httpParams;
1784
- }
1785
- log(logDto, observe = 'body', reportProgress = false, options) {
1786
- if (logDto === null || logDto === undefined) {
1787
- throw new Error('Required parameter logDto was null or undefined when calling log.');
1788
- }
1789
- let localVarHeaders = this.defaultHeaders;
1790
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1791
- if (localVarHttpHeaderAcceptSelected === undefined) {
1792
- // to determine the Accept header
1793
- const httpHeaderAccepts = [];
1794
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1795
- }
1796
- if (localVarHttpHeaderAcceptSelected !== undefined) {
1797
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1798
- }
1799
- let localVarHttpContext = options && options.context;
1800
- if (localVarHttpContext === undefined) {
1801
- localVarHttpContext = new HttpContext();
1802
- }
1803
- let localVarTransferCache = options && options.transferCache;
1804
- if (localVarTransferCache === undefined) {
1805
- localVarTransferCache = true;
1806
- }
1807
- // to determine the Content-Type header
1808
- const consumes = [
1809
- 'application/json'
1810
- ];
1811
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
1812
- if (httpContentTypeSelected !== undefined) {
1813
- localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
1814
- }
1815
- let responseType_ = 'json';
1816
- if (localVarHttpHeaderAcceptSelected) {
1817
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1818
- responseType_ = 'text';
1819
- }
1820
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1821
- responseType_ = 'json';
1822
- }
1823
- else {
1824
- responseType_ = 'blob';
1825
- }
1826
- }
1827
- let localVarPath = `/rest/logging/`;
1828
- return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
1829
- context: localVarHttpContext,
1830
- body: logDto,
1831
- responseType: responseType_,
1832
- withCredentials: this.configuration.withCredentials,
1833
- headers: localVarHeaders,
1834
- observe: observe,
1835
- transferCache: localVarTransferCache,
1836
- reportProgress: reportProgress
1837
- });
1838
- }
1839
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1840
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogControllerService, providedIn: 'root' }); }
1841
- }
1842
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LogControllerService, decorators: [{
1843
- type: Injectable,
1844
- args: [{
1845
- providedIn: 'root'
1846
- }]
1847
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1848
- type: Optional
1849
- }, {
1850
- type: Inject,
1851
- args: [BASE_PATH]
1852
- }] }, { type: Configuration, decorators: [{
1853
- type: Optional
1854
- }] }] });
1855
-
1856
- /**
1857
- * MST
1858
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1859
- *
1860
- * The version of the OpenAPI document: 1
1861
- *
1862
- *
1863
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1864
- * https://openapi-generator.tech
1865
- * Do not edit the class manually.
1866
- */
1867
- /* tslint:disable:no-unused-variable member-ordering */
1868
- class P21ControllerService {
1869
- constructor(httpClient, basePath, configuration) {
1870
- this.httpClient = httpClient;
1871
- this.basePath = 'http://localhost:8080/mst';
1872
- this.defaultHeaders = new HttpHeaders();
1873
- this.configuration = new Configuration();
1874
- if (configuration) {
1875
- this.configuration = configuration;
1876
- }
1877
- if (typeof this.configuration.basePath !== 'string') {
1878
- if (Array.isArray(basePath) && basePath.length > 0) {
1879
- basePath = basePath[0];
1880
- }
1881
- if (typeof basePath !== 'string') {
1882
- basePath = this.basePath;
1883
- }
1884
- this.configuration.basePath = basePath;
1885
- }
1886
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1887
- }
1888
- /**
1889
- * @param consumes string[] mime-types
1890
- * @return true: consumes contains 'multipart/form-data', false: otherwise
1891
- */
1892
- canConsumeForm(consumes) {
1893
- const form = 'multipart/form-data';
1894
- for (const consume of consumes) {
1895
- if (form === consume) {
1896
- return true;
1897
- }
1898
- }
1899
- return false;
1900
- }
1901
- // @ts-ignore
1902
- addToHttpParams(httpParams, value, key) {
1903
- if (typeof value === "object" && value instanceof Date === false) {
1904
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
1905
- }
1906
- else {
1907
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1908
- }
1909
- return httpParams;
1910
- }
1911
- addToHttpParamsRecursive(httpParams, value, key) {
1912
- if (value == null) {
1913
- return httpParams;
1914
- }
1915
- if (typeof value === "object") {
1916
- if (Array.isArray(value)) {
1917
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1918
- }
1919
- else if (value instanceof Date) {
1920
- if (key != null) {
1921
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1922
- }
1923
- else {
1924
- throw Error("key may not be null if value is Date");
1925
- }
1926
- }
1927
- else {
1928
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1929
- }
1930
- }
1931
- else if (key != null) {
1932
- httpParams = httpParams.append(key, value);
1933
- }
1934
- else {
1935
- throw Error("key may not be null if value is not object or array");
1936
- }
1937
- return httpParams;
1938
- }
1939
- createP21Levering(p21Levering, update, observe = 'body', reportProgress = false, options) {
1940
- if (p21Levering === null || p21Levering === undefined) {
1941
- throw new Error('Required parameter p21Levering was null or undefined when calling createP21Levering.');
1942
- }
1943
- let localVarHeaders = this.defaultHeaders;
1944
- let localVarCredential;
1945
- // authentication (keycloak_auth) required
1946
- localVarCredential = this.configuration.lookupCredential('keycloak_auth');
1947
- if (localVarCredential) {
1948
- localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);
1949
- }
1950
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1951
- if (localVarHttpHeaderAcceptSelected === undefined) {
1952
- // to determine the Accept header
1953
- const httpHeaderAccepts = [
1954
- '*/*'
1955
- ];
1956
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1957
- }
1958
- if (localVarHttpHeaderAcceptSelected !== undefined) {
1959
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1960
- }
1961
- let localVarHttpContext = options && options.context;
1962
- if (localVarHttpContext === undefined) {
1963
- localVarHttpContext = new HttpContext();
1964
- }
1965
- let localVarTransferCache = options && options.transferCache;
1966
- if (localVarTransferCache === undefined) {
1967
- localVarTransferCache = true;
1968
- }
1969
- // to determine the Content-Type header
1970
- const consumes = [
1971
- 'multipart/form-data'
1972
- ];
1973
- const canConsumeForm = this.canConsumeForm(consumes);
1974
- let localVarFormParams;
1975
- let localVarUseForm = false;
1976
- let localVarConvertFormParamsToString = false;
1977
- // use FormData to transmit files using content-type "multipart/form-data"
1978
- // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data
1979
- localVarUseForm = canConsumeForm;
1980
- if (localVarUseForm) {
1981
- localVarFormParams = new FormData();
1982
- }
1983
- else {
1984
- localVarFormParams = new HttpParams({ encoder: this.encoder });
1985
- }
1986
- if (update !== undefined) {
1987
- localVarFormParams = localVarFormParams.append('update', update) || localVarFormParams;
1988
- }
1989
- if (p21Levering !== undefined) {
1990
- localVarFormParams = localVarFormParams.append('p21Levering', p21Levering) || localVarFormParams;
1991
- }
1992
- let responseType_ = 'json';
1993
- if (localVarHttpHeaderAcceptSelected) {
1994
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1995
- responseType_ = 'text';
1996
- }
1997
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1998
- responseType_ = 'json';
1999
- }
2000
- else {
2001
- responseType_ = 'blob';
2002
- }
2003
- }
2004
- let localVarPath = `/services/secure/rest/backend/uploadversie`;
2005
- return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
2006
- context: localVarHttpContext,
2007
- body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,
2008
- responseType: responseType_,
2009
- withCredentials: this.configuration.withCredentials,
2010
- headers: localVarHeaders,
2011
- observe: observe,
2012
- transferCache: localVarTransferCache,
2013
- reportProgress: reportProgress
2014
- });
2015
- }
2016
- getVersies(observe = 'body', reportProgress = false, options) {
2017
- let localVarHeaders = this.defaultHeaders;
2018
- let localVarCredential;
2019
- // authentication (keycloak_auth) required
2020
- localVarCredential = this.configuration.lookupCredential('keycloak_auth');
2021
- if (localVarCredential) {
2022
- localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);
2023
- }
2024
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2025
- if (localVarHttpHeaderAcceptSelected === undefined) {
2026
- // to determine the Accept header
2027
- const httpHeaderAccepts = [
2028
- 'application/json'
2029
- ];
2030
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2031
- }
2032
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2033
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2034
- }
2035
- let localVarHttpContext = options && options.context;
2036
- if (localVarHttpContext === undefined) {
2037
- localVarHttpContext = new HttpContext();
2038
- }
2039
- let localVarTransferCache = options && options.transferCache;
2040
- if (localVarTransferCache === undefined) {
2041
- localVarTransferCache = true;
2042
- }
2043
- let responseType_ = 'json';
2044
- if (localVarHttpHeaderAcceptSelected) {
2045
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2046
- responseType_ = 'text';
2047
- }
2048
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2049
- responseType_ = 'json';
2050
- }
2051
- else {
2052
- responseType_ = 'blob';
2053
- }
2054
- }
2055
- let localVarPath = `/services/secure/rest/backend/versies`;
2056
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2057
- context: localVarHttpContext,
2058
- responseType: responseType_,
2059
- withCredentials: this.configuration.withCredentials,
2060
- headers: localVarHeaders,
2061
- observe: observe,
2062
- transferCache: localVarTransferCache,
2063
- reportProgress: reportProgress
2064
- });
2065
- }
2066
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: P21ControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
2067
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: P21ControllerService, providedIn: 'root' }); }
2068
- }
2069
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: P21ControllerService, decorators: [{
2070
- type: Injectable,
2071
- args: [{
2072
- providedIn: 'root'
2073
- }]
2074
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
2075
- type: Optional
2076
- }, {
2077
- type: Inject,
2078
- args: [BASE_PATH]
2079
- }] }, { type: Configuration, decorators: [{
2080
- type: Optional
2081
- }] }] });
2082
-
2083
- /**
2084
- * MST
2085
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2086
- *
2087
- * The version of the OpenAPI document: 1
2088
- *
2089
- *
2090
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2091
- * https://openapi-generator.tech
2092
- * Do not edit the class manually.
2093
- */
2094
- /* tslint:disable:no-unused-variable member-ordering */
2095
- class SbControllerService {
2096
- constructor(httpClient, basePath, configuration) {
2097
- this.httpClient = httpClient;
2098
- this.basePath = 'http://localhost:8080/mst';
2099
- this.defaultHeaders = new HttpHeaders();
2100
- this.configuration = new Configuration();
2101
- if (configuration) {
2102
- this.configuration = configuration;
2103
- }
2104
- if (typeof this.configuration.basePath !== 'string') {
2105
- if (Array.isArray(basePath) && basePath.length > 0) {
2106
- basePath = basePath[0];
2107
- }
2108
- if (typeof basePath !== 'string') {
2109
- basePath = this.basePath;
2110
- }
2111
- this.configuration.basePath = basePath;
2112
- }
2113
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
2114
- }
2115
- // @ts-ignore
2116
- addToHttpParams(httpParams, value, key) {
2117
- if (typeof value === "object" && value instanceof Date === false) {
2118
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
2119
- }
2120
- else {
2121
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
2122
- }
2123
- return httpParams;
2124
- }
2125
- addToHttpParamsRecursive(httpParams, value, key) {
2126
- if (value == null) {
2127
- return httpParams;
2128
- }
2129
- if (typeof value === "object") {
2130
- if (Array.isArray(value)) {
2131
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
2132
- }
2133
- else if (value instanceof Date) {
2134
- if (key != null) {
2135
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
2136
- }
2137
- else {
2138
- throw Error("key may not be null if value is Date");
2139
- }
2140
- }
2141
- else {
2142
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
2143
- }
2144
- }
2145
- else if (key != null) {
2146
- httpParams = httpParams.append(key, value);
2147
- }
2148
- else {
2149
- throw Error("key may not be null if value is not object or array");
2150
- }
2151
- return httpParams;
2152
- }
2153
- getSignaleringsbeelden(iaVersie, pplg, observe = 'body', reportProgress = false, options) {
2154
- if (iaVersie === null || iaVersie === undefined) {
2155
- throw new Error('Required parameter iaVersie was null or undefined when calling getSignaleringsbeelden.');
2156
- }
2157
- if (pplg === null || pplg === undefined) {
2158
- throw new Error('Required parameter pplg was null or undefined when calling getSignaleringsbeelden.');
2159
- }
2160
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
2161
- if (pplg) {
2162
- pplg.forEach((element) => {
2163
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, element, 'pplg');
2164
- });
2165
- }
2166
- let localVarHeaders = this.defaultHeaders;
2167
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2168
- if (localVarHttpHeaderAcceptSelected === undefined) {
2169
- // to determine the Accept header
2170
- const httpHeaderAccepts = [
2171
- 'application/json'
2172
- ];
2173
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2174
- }
2175
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2176
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2177
- }
2178
- let localVarHttpContext = options && options.context;
2179
- if (localVarHttpContext === undefined) {
2180
- localVarHttpContext = new HttpContext();
2181
- }
2182
- let localVarTransferCache = options && options.transferCache;
2183
- if (localVarTransferCache === undefined) {
2184
- localVarTransferCache = true;
2185
- }
2186
- let responseType_ = 'json';
2187
- if (localVarHttpHeaderAcceptSelected) {
2188
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2189
- responseType_ = 'text';
2190
- }
2191
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2192
- responseType_ = 'json';
2193
- }
2194
- else {
2195
- responseType_ = 'blob';
2196
- }
2197
- }
2198
- let localVarPath = `/rest/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}/SignaleringsbeeldAndPplgs`;
2199
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2200
- context: localVarHttpContext,
2201
- params: localVarQueryParameters,
2202
- responseType: responseType_,
2203
- withCredentials: this.configuration.withCredentials,
2204
- headers: localVarHeaders,
2205
- observe: observe,
2206
- transferCache: localVarTransferCache,
2207
- reportProgress: reportProgress
2208
- });
2209
- }
2210
- valideerIaVersie(versie, observe = 'body', reportProgress = false, options) {
2211
- if (versie === null || versie === undefined) {
2212
- throw new Error('Required parameter versie was null or undefined when calling valideerIaVersie.');
2213
- }
2214
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
2215
- if (versie !== undefined && versie !== null) {
2216
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, versie, 'versie');
2217
- }
2218
- let localVarHeaders = this.defaultHeaders;
2219
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2220
- if (localVarHttpHeaderAcceptSelected === undefined) {
2221
- // to determine the Accept header
2222
- const httpHeaderAccepts = [];
2223
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2224
- }
2225
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2226
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2227
- }
2228
- let localVarHttpContext = options && options.context;
2229
- if (localVarHttpContext === undefined) {
2230
- localVarHttpContext = new HttpContext();
2231
- }
2232
- let localVarTransferCache = options && options.transferCache;
2233
- if (localVarTransferCache === undefined) {
2234
- localVarTransferCache = true;
2235
- }
2236
- let responseType_ = 'json';
2237
- if (localVarHttpHeaderAcceptSelected) {
2238
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2239
- responseType_ = 'text';
2240
- }
2241
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2242
- responseType_ = 'json';
2243
- }
2244
- else {
2245
- responseType_ = 'blob';
2246
- }
2247
- }
2248
- let localVarPath = `/rest/signaleringsbeeldeninfo/valideeriaversie`;
2249
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2250
- context: localVarHttpContext,
2251
- params: localVarQueryParameters,
2252
- responseType: responseType_,
2253
- withCredentials: this.configuration.withCredentials,
2254
- headers: localVarHeaders,
2255
- observe: observe,
2256
- transferCache: localVarTransferCache,
2257
- reportProgress: reportProgress
2258
- });
2259
- }
2260
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SbControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
2261
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SbControllerService, providedIn: 'root' }); }
2262
- }
2263
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SbControllerService, decorators: [{
2264
- type: Injectable,
2265
- args: [{
2266
- providedIn: 'root'
2267
- }]
2268
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
2269
- type: Optional
2270
- }, {
2271
- type: Inject,
2272
- args: [BASE_PATH]
2273
- }] }, { type: Configuration, decorators: [{
2274
- type: Optional
2275
- }] }] });
2276
-
2277
- /**
2278
- * MST
2279
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2280
- *
2281
- * The version of the OpenAPI document: 1
2282
- *
2283
- *
2284
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2285
- * https://openapi-generator.tech
2286
- * Do not edit the class manually.
2287
- */
2288
- /* tslint:disable:no-unused-variable member-ordering */
2289
- class SvgControllerService {
2290
- constructor(httpClient, basePath, configuration) {
2291
- this.httpClient = httpClient;
2292
- this.basePath = 'http://localhost:8080/mst';
2293
- this.defaultHeaders = new HttpHeaders();
2294
- this.configuration = new Configuration();
2295
- if (configuration) {
2296
- this.configuration = configuration;
2297
- }
2298
- if (typeof this.configuration.basePath !== 'string') {
2299
- if (Array.isArray(basePath) && basePath.length > 0) {
2300
- basePath = basePath[0];
2301
- }
2302
- if (typeof basePath !== 'string') {
2303
- basePath = this.basePath;
2304
- }
2305
- this.configuration.basePath = basePath;
2306
- }
2307
- this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
2308
- }
2309
- // @ts-ignore
2310
- addToHttpParams(httpParams, value, key) {
2311
- if (typeof value === "object" && value instanceof Date === false) {
2312
- httpParams = this.addToHttpParamsRecursive(httpParams, value);
2313
- }
2314
- else {
2315
- httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
2316
- }
2317
- return httpParams;
2318
- }
2319
- addToHttpParamsRecursive(httpParams, value, key) {
2320
- if (value == null) {
2321
- return httpParams;
2322
- }
2323
- if (typeof value === "object") {
2324
- if (Array.isArray(value)) {
2325
- value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
2326
- }
2327
- else if (value instanceof Date) {
2328
- if (key != null) {
2329
- httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
2330
- }
2331
- else {
2332
- throw Error("key may not be null if value is Date");
2333
- }
2334
- }
2335
- else {
2336
- Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
2337
- }
2338
- }
2339
- else if (key != null) {
2340
- httpParams = httpParams.append(key, value);
2341
- }
2342
- else {
2343
- throw Error("key may not be null if value is not object or array");
2344
- }
2345
- return httpParams;
2346
- }
2347
- getSvgInfo(iaVersie, signaleringsbeeldDto, observe = 'body', reportProgress = false, options) {
2348
- if (iaVersie === null || iaVersie === undefined) {
2349
- throw new Error('Required parameter iaVersie was null or undefined when calling getSvgInfo.');
2350
- }
2351
- if (signaleringsbeeldDto === null || signaleringsbeeldDto === undefined) {
2352
- throw new Error('Required parameter signaleringsbeeldDto was null or undefined when calling getSvgInfo.');
2353
- }
2354
- let localVarHeaders = this.defaultHeaders;
2355
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2356
- if (localVarHttpHeaderAcceptSelected === undefined) {
2357
- // to determine the Accept header
2358
- const httpHeaderAccepts = [
2359
- 'application/json'
2360
- ];
2361
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2362
- }
2363
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2364
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2365
- }
2366
- let localVarHttpContext = options && options.context;
2367
- if (localVarHttpContext === undefined) {
2368
- localVarHttpContext = new HttpContext();
2369
- }
2370
- let localVarTransferCache = options && options.transferCache;
2371
- if (localVarTransferCache === undefined) {
2372
- localVarTransferCache = true;
2373
- }
2374
- // to determine the Content-Type header
2375
- const consumes = [
2376
- 'application/json'
2377
- ];
2378
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
2379
- if (httpContentTypeSelected !== undefined) {
2380
- localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
2381
- }
2382
- let responseType_ = 'json';
2383
- if (localVarHttpHeaderAcceptSelected) {
2384
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2385
- responseType_ = 'text';
2386
- }
2387
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2388
- responseType_ = 'json';
2389
- }
2390
- else {
2391
- responseType_ = 'blob';
2392
- }
2393
- }
2394
- let localVarPath = `/rest/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}/svgs`;
2395
- return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
2396
- context: localVarHttpContext,
2397
- body: signaleringsbeeldDto,
2398
- responseType: responseType_,
2399
- withCredentials: this.configuration.withCredentials,
2400
- headers: localVarHeaders,
2401
- observe: observe,
2402
- transferCache: localVarTransferCache,
2403
- reportProgress: reportProgress
1011
+ this.store.dispatch(toggleZichtbaarheidVoorBewegingen([parseInt(ritdeel.getBewegingId(), 10)]));
1012
+ setTimeout(() => {
1013
+ // dit neemt niet de vrijebaan elementen mee
1014
+ const topoElementen = this.sbmService.bepaalRouteElementen(ritdeel.getRoute());
1015
+ const dwangPuics = this.getPuics(topoElementen);
1016
+ this.store.dispatch(focusOpIds(dwangPuics));
1017
+ setTimeout(() => {
1018
+ // resolve de promise, om aan te geven dat focus klaar is
1019
+ resolve(true);
1020
+ this.viewerControlService.setPrinting(false);
1021
+ this.store.dispatch(ClearProgress());
1022
+ }, 1000);
2404
1023
  });
2405
1024
  }
2406
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
2407
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgControllerService, providedIn: 'root' }); }
1025
+ getPuics(topoElementen) {
1026
+ return topoElementen.map(e => e.getPuic());
1027
+ }
1028
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1029
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, providedIn: 'root' }); }
2408
1030
  }
2409
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgControllerService, decorators: [{
1031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, decorators: [{
2410
1032
  type: Injectable,
2411
1033
  args: [{
2412
1034
  providedIn: 'root'
2413
1035
  }]
2414
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
2415
- type: Optional
2416
- }, {
2417
- type: Inject,
2418
- args: [BASE_PATH]
2419
- }] }, { type: Configuration, decorators: [{
2420
- type: Optional
2421
- }] }] });
2422
-
2423
- const APIS = [AppConfigControllerService, BewegingControllerService, Class0BuildPropertiesService, ConnectorControllerService, LogControllerService, P21ControllerService, SbControllerService, SvgControllerService];
2424
-
2425
- /**
2426
- * MST
2427
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2428
- *
2429
- * The version of the OpenAPI document: 1
2430
- *
2431
- *
2432
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2433
- * https://openapi-generator.tech
2434
- * Do not edit the class manually.
2435
- */
2436
-
2437
- /**
2438
- * MST
2439
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2440
- *
2441
- * The version of the OpenAPI document: 1
2442
- *
2443
- *
2444
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2445
- * https://openapi-generator.tech
2446
- * Do not edit the class manually.
2447
- */
2448
-
2449
- /**
2450
- * MST
2451
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2452
- *
2453
- * The version of the OpenAPI document: 1
2454
- *
2455
- *
2456
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2457
- * https://openapi-generator.tech
2458
- * Do not edit the class manually.
2459
- */
1036
+ }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: SignaleringsBeeldManagerService }] });
2460
1037
 
2461
- /**
2462
- * MST
2463
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2464
- *
2465
- * The version of the OpenAPI document: 1
2466
- *
2467
- *
2468
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2469
- * https://openapi-generator.tech
2470
- * Do not edit the class manually.
2471
- */
1038
+ class RpeComponent {
1039
+ convertToScript() {
1040
+ const element = this.script.nativeElement;
1041
+ const script = document.createElement('script');
1042
+ script.type = 'text/javascript';
1043
+ if (this.baseurl && this.path) {
1044
+ script.src = this.baseurl + this.path;
1045
+ // eslint-disable-next-line no-console
1046
+ console.log('Code geladen van: ' + script.src); //useful for debugging in GWT environment
1047
+ }
1048
+ const parent = element.parentElement;
1049
+ parent.parentElement.replaceChild(script, parent);
1050
+ }
1051
+ ngAfterViewInit() {
1052
+ this.convertToScript();
1053
+ }
1054
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RpeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1055
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: RpeComponent, selector: "rpe-component", inputs: { baseurl: "baseurl", path: "path" }, viewQueries: [{ propertyName: "script", first: true, predicate: ["rpescript"], descendants: true }], ngImport: i0, template: "<div #rpescript style.display=\"none\">\n <ng-content></ng-content>\n</div>\n" }); }
1056
+ }
1057
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RpeComponent, decorators: [{
1058
+ type: Component,
1059
+ args: [{ selector: 'rpe-component', template: "<div #rpescript style.display=\"none\">\n <ng-content></ng-content>\n</div>\n" }]
1060
+ }], propDecorators: { baseurl: [{
1061
+ type: Input
1062
+ }], path: [{
1063
+ type: Input
1064
+ }], script: [{
1065
+ type: ViewChild,
1066
+ args: ['rpescript']
1067
+ }] } });
2472
1068
 
2473
- var Sein;
2474
- (function (Sein) {
2475
- Sein.DirectionEnum = {
2476
- LeftToRight: 'LEFT_TO_RIGHT',
2477
- RightToLeft: 'RIGHT_TO_LEFT',
2478
- TopToBottom: 'TOP_TO_BOTTOM',
2479
- BottomToTop: 'BOTTOM_TO_TOP'
2480
- };
2481
- })(Sein || (Sein = {}));
1069
+ class OngeplandeActie {
1070
+ constructor(actie, puics) {
1071
+ this.actie = actie;
1072
+ this.puics = puics;
1073
+ }
1074
+ }
2482
1075
 
2483
- /**
2484
- * MST
2485
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2486
- *
2487
- * The version of the OpenAPI document: 1
2488
- *
2489
- *
2490
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2491
- * https://openapi-generator.tech
2492
- * Do not edit the class manually.
2493
- */
1076
+ class KmRange {
1077
+ constructor(topologyElement, vanKilometreringen, totKilometreringen) {
1078
+ this.topologyElement = topologyElement;
1079
+ this.vanKilometreringen = vanKilometreringen;
1080
+ this.totKilometreringen = totKilometreringen;
1081
+ }
1082
+ static rangeVoorPuntObject(topologyElement) {
1083
+ return new KmRange(topologyElement, JsJavaUtil.listToArray(topologyElement.getKilometreringen()), JsJavaUtil.listToArray(topologyElement.getKilometreringen()));
1084
+ }
1085
+ static rangeVoorStrekObject(topologyElement, vanKilometreringen, totKilometreringen) {
1086
+ return new KmRange(topologyElement, vanKilometreringen, totKilometreringen);
1087
+ }
1088
+ static getKilometrering(lintNaam, kilometreringen) {
1089
+ const result = kilometreringen.filter(kilometrering => kilometrering.getKmLint() === lintNaam);
1090
+ if (result.length >= 1) {
1091
+ return result[0];
1092
+ }
1093
+ return null;
1094
+ }
1095
+ heeftOverlap(kilometrering1, kilometrering2) {
1096
+ const vanKilometrering = KmRange.getKilometrering(kilometrering1.getKmLint(), this.vanKilometreringen);
1097
+ const totKilometrering = KmRange.getKilometrering(kilometrering2.getKmLint(), this.totKilometreringen);
1098
+ if (!vanKilometrering || !totKilometrering) {
1099
+ return false;
1100
+ }
1101
+ let startKmWaarde = vanKilometrering.getKmWaarde();
1102
+ let endKmWaarde = totKilometrering.getKmWaarde();
1103
+ if (startKmWaarde > endKmWaarde) {
1104
+ const temp = { end: endKmWaarde, start: startKmWaarde };
1105
+ startKmWaarde = temp.end;
1106
+ endKmWaarde = temp.start;
1107
+ }
1108
+ const actieStartKmWaarde = kilometrering1.getKmWaarde();
1109
+ const actieEndKmWaarde = kilometrering2.getKmWaarde();
1110
+ return endKmWaarde >= actieStartKmWaarde && actieEndKmWaarde >= startKmWaarde;
1111
+ }
1112
+ }
2494
1113
 
2495
- /**
2496
- * MST
2497
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2498
- *
2499
- * The version of the OpenAPI document: 1
2500
- *
2501
- *
2502
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2503
- * https://openapi-generator.tech
2504
- * Do not edit the class manually.
2505
- */
1114
+ class WisselKantCode {
1115
+ constructor(naam, kantCode) {
1116
+ this.naam = naam;
1117
+ this.kantCode = kantCode;
1118
+ }
1119
+ }
2506
1120
 
2507
- /**
2508
- * MST
2509
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2510
- *
2511
- * The version of the OpenAPI document: 1
2512
- *
2513
- *
2514
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2515
- * https://openapi-generator.tech
2516
- * Do not edit the class manually.
2517
- */
1121
+ class MeldingEvent {
1122
+ constructor(meldingMessage, meldingLevel) {
1123
+ this.meldingMessage = meldingMessage;
1124
+ this.meldingLevel = meldingLevel;
1125
+ }
1126
+ }
2518
1127
 
2519
- class ApiModule {
2520
- static forRoot(configurationFactory) {
2521
- return {
2522
- ngModule: ApiModule,
2523
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
2524
- };
1128
+ const MELDING_LEVEL_ERROR = 'error';
1129
+ const MELDING_LEVEL_WARNING = 'warn';
1130
+ const MELDING_LEVEL_INFO = 'info';
1131
+ class MeldingBuilder {
1132
+ static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1133
+ return new MeldingEvent('Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken, MELDING_LEVEL_INFO);
2525
1134
  }
2526
- constructor(parentModule, http) {
2527
- if (parentModule) {
2528
- throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
2529
- }
2530
- if (!http) {
2531
- throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
2532
- 'See also https://github.com/angular/angular/issues/20575');
2533
- }
1135
+ static actieHighlightError(actieZonderElementen) {
1136
+ return new MeldingEvent('Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen, MELDING_LEVEL_ERROR);
2534
1137
  }
2535
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
2536
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: ApiModule }); }
2537
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiModule }); }
2538
1138
  }
2539
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ApiModule, decorators: [{
2540
- type: NgModule,
2541
- args: [{
2542
- imports: [],
2543
- declarations: [],
2544
- exports: [],
2545
- providers: []
2546
- }]
2547
- }], ctorParameters: () => [{ type: ApiModule, decorators: [{
2548
- type: Optional
2549
- }, {
2550
- type: SkipSelf
2551
- }] }, { type: i1.HttpClient, decorators: [{
2552
- type: Optional
2553
- }] }] });
2554
1139
 
2555
- class MstLoggingResource {
2556
- constructor(controller, store) {
2557
- this.controller = controller;
2558
- this.store = store;
2559
- this.subscriptions = new Subscription();
2560
- this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => controller.configuration.basePath = baseUrl + '/mst'));
1140
+ class MessageBuilder {
1141
+ static rwpDataNietGevonden(err) {
1142
+ return new Message(Severity.ERROR, 'Error bij ophalen van rijwegplan data: ' + err);
2561
1143
  }
2562
- ngOnDestroy() {
2563
- this.subscriptions.unsubscribe();
1144
+ static rijwegNietGevonden(beweging) {
1145
+ return new Message(Severity.ERROR, `Rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1146
+ }
1147
+ static rijwegplanNietGevonden(beweging) {
1148
+ return new Message(Severity.ERROR, `Rijwegplan van PPLG ${beweging.vanPplg} niet gevonden`);
1149
+ }
1150
+ static dwangNietGevonden(beweging) {
1151
+ return new Message(Severity.ERROR, `Dwang ${beweging.dwangNummer} voor rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1152
+ }
1153
+ static nietGevondenSBI(err) {
1154
+ return new Message(Severity.ERROR, 'Error bij het ophalen van signaleringsbeeldinfo: ' + Utils.getValidErorrMessage(err));
1155
+ }
1156
+ static actieHighlightError(actieZonderElementen) {
1157
+ return new Message(Severity.ERROR, 'Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen);
1158
+ }
1159
+ static ritFileAlGewijzigdError(beweging) {
1160
+ return new Message(Severity.ERROR, 'Rit bevat een beweging met status \'Gewijzigd\': Beweging met ID:' + beweging.id);
1161
+ }
1162
+ static meerDan12BladenGevonden(bladAmount) {
1163
+ return new Message(Severity.WARNING, 'Warning, Rit bevat ' + bladAmount + ' bladen. Er worden maximaal 12 bladen ondersteund.');
2564
1164
  }
2565
- logMessages(logDto) {
2566
- this.controller.log(logDto).subscribe();
1165
+ static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1166
+ return new Message(Severity.INFORMATION, 'Info, Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken);
2567
1167
  }
2568
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstLoggingResource, deps: [{ token: LogControllerService }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
2569
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstLoggingResource }); }
2570
1168
  }
2571
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstLoggingResource, decorators: [{
2572
- type: Injectable
2573
- }], ctorParameters: () => [{ type: LogControllerService }, { type: i2$1.Store }] });
2574
1169
 
2575
1170
  class LoggingHelper {
2576
- constructor(store) {
1171
+ constructor(sbmService, store) {
1172
+ this.sbmService = sbmService;
2577
1173
  this.store = store;
2578
1174
  }
2579
1175
  maakLogDTO(melding, actie) {
2580
- return combineLatest([
2581
- this.store.select('algemeneRitInfoDto'),
2582
- this.store.select('iaVersie')
2583
- ]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie]) => {
2584
- let actieDto = null;
2585
- if (actie) {
2586
- actieDto = {
2587
- pplgNaam: actie.pplgNaam,
2588
- ritActieTypeOmschrijving: actie.ritActieTypeOmschrijving,
2589
- ritActieStatus: actie.ritActieStatus,
2590
- bewegingId: actie.bewegingId,
2591
- wisselType: actie.wisselType,
2592
- wisselNaam: actie.wisselNaam,
2593
- wisselKantCode: actie.wisselKantCode,
2594
- vanKilometerlint: actie.vanKilometerlint,
2595
- vanKilometrering: actie.vanKilometrering,
2596
- totKilometerlint: actie.totKilometerlint,
2597
- totKilometrering: actie.totKilometrering
2598
- };
2599
- }
2600
- return {
2601
- iaVersie: iaVersie.versie,
2602
- meldingLevel: melding.meldingLevel,
2603
- meldingMessage: melding.meldingMessage,
2604
- actieDto,
2605
- algemeneRitInfoDto,
2606
- sbinfoDtos: this.getSbInfoDtos()
2607
- };
2608
- }));
1176
+ let iaVersie = '';
1177
+ let algemeneRitInfoDto = null;
1178
+ let actieDto = null;
1179
+ this.store.select('algemeneRitInfoDto').pipe(take(1)).subscribe(dto => {
1180
+ algemeneRitInfoDto = dto;
1181
+ });
1182
+ this.store.select('iaVersie').pipe(take(1)).subscribe(ia => {
1183
+ iaVersie = ia.versie;
1184
+ });
1185
+ if (actie) {
1186
+ actieDto = new ActieDto({
1187
+ pplgNaam: actie.pplgNaam,
1188
+ ritActieTypeOmschrijving: actie.ritActieTypeOmschrijving,
1189
+ ritActieStatus: actie.ritActieStatus,
1190
+ bewegingId: actie.bewegingId,
1191
+ wisselType: actie.wisselType,
1192
+ wisselNaam: actie.wisselNaam,
1193
+ wisselKantCode: actie.wisselKantCode,
1194
+ vanKilometerlint: actie.vanKilometerlint,
1195
+ vanKilometrering: actie.vanKilometrering,
1196
+ totKilometerlint: actie.totKilometerlint,
1197
+ totKilometrering: actie.totKilometrering
1198
+ });
1199
+ }
1200
+ return new MstLoggingDto({
1201
+ iaVersie,
1202
+ meldingLevel: melding.meldingLevel,
1203
+ meldingMessage: melding.meldingMessage,
1204
+ actieDto,
1205
+ algemeneRitInfoDto,
1206
+ sbinfoDtos: this.getSbInfoDtos()
1207
+ });
2609
1208
  }
2610
1209
  getSbInfoDtos() {
2611
1210
  const sbInfoDtos = [];
@@ -2616,12 +1215,12 @@ class LoggingHelper {
2616
1215
  });
2617
1216
  return sbInfoDtos;
2618
1217
  }
2619
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoggingHelper, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
2620
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoggingHelper }); }
1218
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, deps: [{ token: SignaleringsBeeldManagerService }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
1219
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper }); }
2621
1220
  }
2622
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LoggingHelper, decorators: [{
1221
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, decorators: [{
2623
1222
  type: Injectable
2624
- }], ctorParameters: () => [{ type: i2$1.Store }] });
1223
+ }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }, { type: i2$1.Store }] });
2625
1224
 
2626
1225
  /**
2627
1226
  * export const RIT_ACTIE_1 = 1;
@@ -2717,7 +1316,6 @@ class ActieHelper {
2717
1316
  this.messagesService = messagesService;
2718
1317
  this.store = store;
2719
1318
  this.loggingHelper = loggingHelper;
2720
- this.debug = false;
2721
1319
  this.store.select('debug').subscribe(debug => this.debug = debug);
2722
1320
  }
2723
1321
  static getActieTopoElements(ritDeel, sbmService) {
@@ -2751,10 +1349,10 @@ class ActieHelper {
2751
1349
  }
2752
1350
  }
2753
1351
  static actieComparator(actie1, actie2) {
2754
- if (actie1.vanKilometrering && actie2.vanKilometrering && actie1.vanKilometrering !== actie2.vanKilometrering) {
1352
+ if (actie1.vanKilometrering !== actie2.vanKilometrering) {
2755
1353
  return actie1.vanKilometrering > actie2.vanKilometrering ? 1 : -1;
2756
1354
  }
2757
- if (actie1.ritActieTypeOmschrijving && actie2.ritActieTypeOmschrijving && actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
1355
+ if (actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
2758
1356
  return actie1.ritActieTypeOmschrijving > actie2.ritActieTypeOmschrijving ? 1 : -1;
2759
1357
  }
2760
1358
  if (actie1.wisselNaam !== actie2.wisselNaam) {
@@ -2794,9 +1392,9 @@ class ActieHelper {
2794
1392
  // make sure the elems are sorted in ascending order
2795
1393
  static sorteerTopoElementen(topoElems) {
2796
1394
  const topoElementen = topoElems.slice();
2797
- let lint = undefined;
2798
- let first;
2799
- let second;
1395
+ let lint = null;
1396
+ let first = null;
1397
+ let second = null;
2800
1398
  for (const topoElement of topoElementen) {
2801
1399
  let kilometreringen = null;
2802
1400
  const kms = JsJavaUtil.listToArray(topoElement.getKilometreringen());
@@ -2828,11 +1426,11 @@ class ActieHelper {
2828
1426
  if (!totKilometreringen && vanKilometreringen) {
2829
1427
  totKilometreringen = [new MstKilometrering(vanKilometreringen[0].getKmLint(), 100000)];
2830
1428
  }
2831
- if (vanKilometreringen && totKilometreringen && vanKilometreringen[0] > totKilometreringen[0]) {
1429
+ if (vanKilometreringen[0] > totKilometreringen[0]) {
2832
1430
  kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, -1), this.addKm(totKilometreringen, 1)));
2833
1431
  }
2834
1432
  else {
2835
- kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen ?? [], 1), this.addKm(totKilometreringen ?? [], -1)));
1433
+ kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, 1), this.addKm(totKilometreringen, -1)));
2836
1434
  }
2837
1435
  });
2838
1436
  }
@@ -2923,23 +1521,21 @@ class ActieHelper {
2923
1521
  else {
2924
1522
  const puics = [];
2925
1523
  kmRanges.forEach(kmRange => {
2926
- if (actie.vanKilometrering && actie.vanKilometerlint && actie.totKilometrering && actie.totKilometerlint) {
2927
- let vanKilometrering = new MstKilometrering(actie.vanKilometerlint, actie.vanKilometrering);
2928
- let totKilometrering = new MstKilometrering(actie.totKilometerlint, actie.totKilometrering);
2929
- if (actie.vanKilometrering > actie.totKilometrering) {
2930
- const temp = { van: vanKilometrering, tot: totKilometrering };
2931
- vanKilometrering = temp.tot;
2932
- totKilometrering = temp.van;
2933
- }
2934
- if (kmRange.heeftOverlap(vanKilometrering, totKilometrering)) {
2935
- puics.push(kmRange.topologyElement.getPuic());
2936
- }
1524
+ let vanKilometrering = new MstKilometrering(actie.vanKilometerlint, actie.vanKilometrering);
1525
+ let totKilometrering = new MstKilometrering(actie.totKilometerlint, actie.totKilometrering);
1526
+ if (actie.vanKilometrering > actie.totKilometrering) {
1527
+ const temp = { van: vanKilometrering, tot: totKilometrering };
1528
+ vanKilometrering = temp.tot;
1529
+ totKilometrering = temp.van;
1530
+ }
1531
+ if (kmRange.heeftOverlap(vanKilometrering, totKilometrering)) {
1532
+ puics.push(kmRange.topologyElement.getPuic());
2937
1533
  }
2938
1534
  });
2939
1535
  if (puics.length === 0) {
2940
1536
  actieZonderElementen.push(actie.id);
2941
1537
  const melding = MeldingBuilder.actieHighlightError(actieZonderElementen);
2942
- this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(dto => logMeldingDTOs.push(dto))).subscribe();
1538
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
2943
1539
  }
2944
1540
  retval.putAll(actie, puics);
2945
1541
  }
@@ -2947,15 +1543,15 @@ class ActieHelper {
2947
1543
  this.logLegeMeldingDto(logMeldingDTOs);
2948
1544
  return retval;
2949
1545
  }
2950
- logLegeMeldingDto(logDto) {
2951
- if (logDto.length > 0) {
2952
- return this.mstLogResource.logMessages(logDto);
1546
+ logLegeMeldingDto(logMeldingDTOs) {
1547
+ if (logMeldingDTOs.length > 0) {
1548
+ this.mstLogResource.logErrorMessages(logMeldingDTOs);
2953
1549
  }
2954
1550
  }
2955
1551
  verwerkTopoElementen(topoElementen) {
2956
1552
  const kmRanges = [];
2957
1553
  let topoElementenZonderKms = [];
2958
- let laatstePuntKms = undefined;
1554
+ let laatstePuntKms = null;
2959
1555
  topoElementen.forEach(elem => {
2960
1556
  const kms = JsJavaUtil.listToArray(elem.getKilometreringen());
2961
1557
  if (kms.length > 0) {
@@ -2969,7 +1565,7 @@ class ActieHelper {
2969
1565
  }
2970
1566
  });
2971
1567
  if (topoElementenZonderKms.length > 0 && laatstePuntKms) {
2972
- ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, undefined, kmRanges);
1568
+ ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, null, kmRanges);
2973
1569
  }
2974
1570
  return kmRanges;
2975
1571
  }
@@ -3032,21 +1628,21 @@ class ActieHelper {
3032
1628
  if (ActieHelper.isKantCodeLinks(kantcode)) {
3033
1629
  return wissel.getLeft();
3034
1630
  }
3035
- return undefined;
1631
+ return null;
3036
1632
  }
3037
1633
  bepaalPuicVoorWisselSlijpenActie(actie) {
3038
1634
  const storingsSymboolPuic = this.sbmService.getSBWissel(actie.wisselNaam, actie.pplgNaam)?.getStoringSymboolPuic();
3039
1635
  if (!storingsSymboolPuic && this.debug) {
3040
1636
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
3041
1637
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
3042
- this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(logDto => this.mstLogResource.logMessages([logDto]))).subscribe();
1638
+ this.mstLogResource.logErrorMessages([this.loggingHelper.maakLogDTO(melding, actie)]);
3043
1639
  }
3044
1640
  return storingsSymboolPuic ? [storingsSymboolPuic] : [];
3045
1641
  }
3046
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActieHelper, deps: [{ token: SignaleringsBeeldManagerService }, { token: MstLoggingResource }, { token: MessagesService }, { token: i2$1.Store }, { token: LoggingHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
3047
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActieHelper }); }
1642
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ActieHelper, deps: [{ token: SignaleringsBeeldManagerService }, { token: MstLoggingResource }, { token: MessagesService }, { token: i2$1.Store }, { token: LoggingHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
1643
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ActieHelper }); }
3048
1644
  }
3049
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ActieHelper, decorators: [{
1645
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ActieHelper, decorators: [{
3050
1646
  type: Injectable
3051
1647
  }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }, { type: MstLoggingResource }, { type: MessagesService }, { type: i2$1.Store }, { type: LoggingHelper }] });
3052
1648
 
@@ -3054,16 +1650,10 @@ class RitdelenLijstComponent {
3054
1650
  constructor(store, sbmService) {
3055
1651
  this.store = store;
3056
1652
  this.sbmService = sbmService;
3057
- this.nietGeplandeActies = [];
3058
1653
  this.focusEmitter = new EventEmitter();
3059
1654
  this.keurAlleActiesGoed = new EventEmitter();
3060
- this.ritdeelViewModels = [];
3061
1655
  this.selectedRitdeelActies = [];
3062
1656
  this.selectedRitdeelOngeplandeActies = [];
3063
- this.disableActieKnoppenVanRitdeel = true;
3064
- this.editable = false;
3065
- this.ongeplandeActiesMap = new ArrayMultimap();
3066
- this.geplandeActies = new ArrayMultimap();
3067
1657
  this.NG_ACTIE_PREFIX = '* ';
3068
1658
  this.subscriptions = [];
3069
1659
  this.subscriptions.push(store.select('ritDelen').subscribe((ritdelen) => {
@@ -3074,6 +1664,9 @@ class RitdelenLijstComponent {
3074
1664
  this.subscriptions.push(store.select('ongeplandeActies').subscribe(acties => this.ongeplandeActiesMap = acties));
3075
1665
  this.subscriptions.push(store.select('geplandeActies').subscribe(acties => this.geplandeActies = acties));
3076
1666
  this.subscriptions.push(store.select('editable').subscribe(editable => this.editable = editable));
1667
+ // listen to changes from svg-viewer-component, saving ritdeel in store isn't cool because of all the gwt in it. This is
1668
+ // just to make changes within the angular lifecycle.
1669
+ this.subscriptions.push(store.select('selectedRitdeelId').pipe(filter(id => !id)).subscribe(this.deselectRitdeel));
3077
1670
  this.subscriptions.push(combineLatest([
3078
1671
  this.store.select('ritDelen'),
3079
1672
  this.store.select('ongeplandeActies')
@@ -3110,14 +1703,12 @@ class RitdelenLijstComponent {
3110
1703
  this.store.dispatch(deleteRitdeel(ritdeel));
3111
1704
  }
3112
1705
  deleteActiesUitRit() {
3113
- this.selectedRitdeel?.acties.slice().forEach(actie => {
1706
+ this.selectedRitdeel.acties.slice().forEach(actie => {
3114
1707
  this.deleteActieUitRit(actie);
3115
1708
  });
3116
1709
  }
3117
1710
  deleteActieUitRit(actie) {
3118
- if (!this.selectedRitdeel)
3119
- return;
3120
- const acties = this.selectedRitdeel.acties ?? [];
1711
+ const acties = this.selectedRitdeel.acties;
3121
1712
  const idx = acties.indexOf(actie);
3122
1713
  if (idx >= 0) {
3123
1714
  this.verhuisActieNaarOngepland(actie);
@@ -3143,7 +1734,7 @@ class RitdelenLijstComponent {
3143
1734
  }
3144
1735
  voegActieToeAanRit(ongeplandeActie) {
3145
1736
  const idx = this.selectedRitdeelOngeplandeActies.indexOf(ongeplandeActie);
3146
- if (idx >= 0 && this.selectedRitdeel) {
1737
+ if (idx >= 0) {
3147
1738
  this.store.dispatch(addRitdeelActie(this.selectedRitdeel, this.selectedRitdeelOngeplandeActies[idx].actie));
3148
1739
  this.store.dispatch(AddGeplandeActie(ongeplandeActie.actie, ongeplandeActie.puics));
3149
1740
  this.store.dispatch(DeleteOngeplandeActie(ongeplandeActie));
@@ -3245,13 +1836,13 @@ class RitdelenLijstComponent {
3245
1836
  return `${prefix}${ActieHelper.getVSTActieOmschrijving(actie)}`;
3246
1837
  }
3247
1838
  bepaalPrefixVoorActieOmschrijving(actie) {
3248
- const noPrefix = '';
3249
- if (this.selectedRitdeel?.acties.includes(actie)) {
1839
+ const prefix = '';
1840
+ if (this.selectedRitdeel.acties.includes(actie)) {
3250
1841
  // Afwijkende naam bij niet gevisualiseerde actie in rit
3251
1842
  const puics = this.geplandeActies.get(actie);
3252
- return puics.length > 0 ? noPrefix : this.NG_ACTIE_PREFIX;
1843
+ return puics.length > 0 ? prefix : this.NG_ACTIE_PREFIX;
3253
1844
  }
3254
- return noPrefix;
1845
+ return prefix;
3255
1846
  }
3256
1847
  actieVanKmTekst(actie) {
3257
1848
  if (ActieHelper.isWisselSlijpenActie(actie)) {
@@ -3272,7 +1863,6 @@ class RitdelenLijstComponent {
3272
1863
  return ritdeel.getPplgString();
3273
1864
  }
3274
1865
  getKantCode(stand) {
3275
- // @ts-ignore
3276
1866
  if (stand === window['domein'].Stand.LINKS) {
3277
1867
  return 'L';
3278
1868
  }
@@ -3282,10 +1872,10 @@ class RitdelenLijstComponent {
3282
1872
  this.keurAlleActiesGoed.emit();
3283
1873
  this.deselectRitdeel();
3284
1874
  }
3285
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenLijstComponent, deps: [{ token: i2$1.Store }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Component }); }
3286
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RitdelenLijstComponent, selector: "ritdelen-lijst", inputs: { nietGeplandeActies: "nietGeplandeActies" }, outputs: { focusEmitter: "focusEmitter", keurAlleActiesGoed: "keurAlleActiesGoed" }, ngImport: i0, template: "<div id=\"ritdelen-lijst\">\n <div class=\"sidebar-header\">\n <h3 [attr.data-test-id]=\"'title-rit-details'\">Ritdetails</h3>\n </div>\n <div class=\"panes-container\">\n <div class=\"top-pane tableFixHead\" id=\"top-pane\">\n <table class=\"table\" aria-hidden=\"true\" [attr.data-test-id]=\"'table-rit-details'\">\n <thead>\n <tr>\n <th scope=\"col\">\n <input #input\n type=\"checkbox\"\n checked\n class=\"checkbox col-visibility\"\n (change)=\"toggleZichtbaarheidAlleRitdelen(input.checked)\"\n id=\"ritdetails-selecteerAlles\"\n title=\"Selecteer alles\"\n [attr.data-test-id]=\"'checkbox-alle-bewegingen'\">\n </th>\n <th scope=\"col\"></th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">DW</th>\n <th scope=\"col\">PPLG(s)</th>\n <th scope=\"col\">Treinnr.</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n\n <tr *ngFor=\"let ritdeelViewModel of ritdeelViewModels; let i = index\"\n class=\"{{ selectedRitdeelClass(ritdeelViewModel.ritdeel) }}\" id=\"ritdetails-r{{i}}\">\n <td>\n <input id=\"ritdetails-r{{i}}-zichtbaar\"\n [attr.data-test-id]=\"'checkbox-r'+i\"\n type=\"checkbox\"\n class=\"checkbox col-visibility\"\n [checked]=\"ritdeelViewModel.isZichtbaar\"\n [title]=\"ritdeelViewModel.title\"\n (change)=\"toggleRitdeelZichtbaarheid(ritdeelViewModel.ritdeel)\"\n [hidden]=\"ritdeelViewModel.isNietBeschikbaar\"/>\n </td>\n <td id=\"ritdetails-r{{i}}-gewijzigd\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.isNieuw}}</td>\n <td id=\"ritdetails-r{{i}}-vanSpoor\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.vanPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-naarSpoor\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.naarPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-dwangNummer\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.dwangNummer}}</td>\n <td id=\"ritdetails-r{{i}}-pplgs\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.pplgString}}</td>\n <td id=\"ritdetails-r{{i}}-treinNummer\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.treinNummer}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-r{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteRitdeel(ritdeelViewModel.ritdeel)\">X\n </button>\n </td>\n </tr>\n\n </table>\n </div>\n <div class=\"actie-pane\">\n <div *ngIf=\"selectedRitdeel && (selectedRitdeelActies.length > 0 || selectedRitdeelOngeplandeActies.length > 0) \"\n id=\"actie-pane\">\n <h4>Geplande acties</h4>\n <table aria-hidden=\"true\">\n <tr>\n <th scope=\"col\">Actie</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Tot</th>\n <th scope=\"col\">\n <button *ngIf=\"editable\"\n [hidden]=\"selectedRitdeelActies.length===0\"\n id=\"bulkSetOngeplandButton\"\n [attr.data-test-id]=\"'unplan-all-actions'\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteActiesUitRit()\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">X\n </button>\n </th>\n </tr>\n\n <tr *ngFor=\"let actie of selectedRitdeelActies; let i = index\" id=\"ritdetails-a{{i}}\">\n <td id=\"ritdetails-a{{i}}-omschrijving\" class=\"nowrap\">{{ actieOmschrijvingTekst(actie) }}</td>\n <td id=\"ritdetails-a{{i}}-vanKmLint\">{{ actieVanKmTekst(actie)}}</td>\n <td id=\"ritdetails-a{{i}}-totKmLint\">{{ actieTotKmTekst(actie)}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-a{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteActieUitRit(actie)\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">X\n </button>\n </td>\n </tr>\n </table>\n <h4>Ongeplande acties</h4>\n <table aria-hidden=\"true\">\n <tr>\n <th scope=\"col\">Actie</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Tot</th>\n <th scope=\"col\">\n <button *ngIf=\"editable\"\n [hidden]=\"selectedRitdeelOngeplandeActies.length===0\"\n id=\"bulkSetGeplandButton\"\n [attr.data-test-id]=\"'plan-all-actions'\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-success loxia-btn-sm\"\n (click)=\"voegActiesToeAanRit()\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">^\n </button>\n </th>\n </tr>\n\n <tr *ngFor=\"let ongeplandeActie of selectedRitdeelOngeplandeActies; let i = index\"\n id=\"ritdetails-oa{{i}}\">\n <td id=\"ritdetails-oa{{i}}-omschrijving\" class=\"nowrap\">{{actieOmschrijvingTekst(ongeplandeActie.actie) }}</td>\n <td id=\"ritdetails-oa{{i}}-vanKmLint\">{{ actieVanKmTekst(ongeplandeActie.actie)}}</td>\n <td id=\"ritdetails-oa{{i}}-totKmLint\">{{ actieTotKmTekst(ongeplandeActie.actie)}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-oa{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-success loxia-btn-sm\"\n (click)=\"voegActieToeAanRit(ongeplandeActie)\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">^\n </button>\n </td>\n </tr>\n </table>\n </div>\n </div>\n <div class=\"knop-pane\">\n <button type=\"button\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm\"\n [attr.data-test-id]=\"'plan-all-actions-for-file'\"\n [innerText]=\"'Plan acties hele rit'\"\n (click)=\"planAlleRitActies()\">\n </button>\n </div>\n </div>\n</div>\n", styles: [".panes-container{display:inline;height:100%;border:1px solid black}table{width:100%}th{padding:5px;z-index:1000}td{padding:4px}tr:nth-child(2n){background:#f0f0f0}tr:nth-child(odd){background:#fff}.top-pane{height:45vh;overflow:auto}.actie-pane{height:35vh;overflow:auto}.knop-pane{height:5vh;justify-content:center;display:flex;align-items:center}.panes-container,.panes-separator,.top-pane,.actie-pane{margin:0;padding:0;width:100%}.selected{background:#ffff80!important}.disabled{background:gray!important}.visible-outside-window{background:#87cefa!important}.table-scroll-header-fix tbody{display:block;height:40vh;overflow:auto}.tableFixHead{overflow-y:auto}.tableFixHead thead th{position:sticky;top:0;background-color:#fff}.table{margin-bottom:0}.table td,.table th{border-top:none;border-bottom:none;padding-left:.75em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
1875
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenLijstComponent, deps: [{ token: i2$1.Store }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Component }); }
1876
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: RitdelenLijstComponent, selector: "ritdelen-lijst", inputs: { nietGeplandeActies: "nietGeplandeActies" }, outputs: { focusEmitter: "focusEmitter", keurAlleActiesGoed: "keurAlleActiesGoed" }, ngImport: i0, template: "<div id=\"ritdelen-lijst\">\n <div class=\"sidebar-header\">\n <h3 [attr.data-test-id]=\"'title-rit-details'\">Ritdetails</h3>\n </div>\n <div class=\"panes-container\">\n <div class=\"top-pane tableFixHead\" id=\"top-pane\">\n <table class=\"table\" aria-hidden=\"true\" [attr.data-test-id]=\"'table-rit-details'\">\n <thead>\n <tr>\n <th scope=\"col\">\n <input #input\n type=\"checkbox\"\n checked\n class=\"checkbox col-visibility\"\n (change)=\"toggleZichtbaarheidAlleRitdelen(input.checked)\"\n id=\"ritdetails-selecteerAlles\"\n title=\"Selecteer alles\"\n [attr.data-test-id]=\"'checkbox-alle-bewegingen'\">\n </th>\n <th scope=\"col\"></th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">DW</th>\n <th scope=\"col\">PPLG(s)</th>\n <th scope=\"col\">Treinnr.</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n\n <tr *ngFor=\"let ritdeelViewModel of ritdeelViewModels; let i = index\"\n class=\"{{ selectedRitdeelClass(ritdeelViewModel.ritdeel) }}\" id=\"ritdetails-r{{i}}\">\n <td>\n <input id=\"ritdetails-r{{i}}-zichtbaar\"\n [attr.data-test-id]=\"'checkbox-r'+i\"\n type=\"checkbox\"\n class=\"checkbox col-visibility\"\n [checked]=\"ritdeelViewModel.isZichtbaar\"\n [title]=\"ritdeelViewModel.title\"\n (change)=\"toggleRitdeelZichtbaarheid(ritdeelViewModel.ritdeel)\"\n [hidden]=\"ritdeelViewModel.isNietBeschikbaar\"/>\n </td>\n <td id=\"ritdetails-r{{i}}-gewijzigd\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.isNieuw}}</td>\n <td id=\"ritdetails-r{{i}}-vanSpoor\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.vanPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-naarSpoor\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.naarPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-dwangNummer\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.dwangNummer}}</td>\n <td id=\"ritdetails-r{{i}}-pplgs\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.pplgString}}</td>\n <td id=\"ritdetails-r{{i}}-treinNummer\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.treinNummer}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-r{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteRitdeel(ritdeelViewModel.ritdeel)\">X\n </button>\n </td>\n </tr>\n\n </table>\n </div>\n <div class=\"actie-pane\">\n <div *ngIf=\"selectedRitdeel && (selectedRitdeelActies.length > 0 || selectedRitdeelOngeplandeActies.length > 0) \"\n id=\"actie-pane\">\n <h4>Geplande acties</h4>\n <table aria-hidden=\"true\">\n <tr>\n <th scope=\"col\">Actie</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Tot</th>\n <th scope=\"col\">\n <button *ngIf=\"editable\"\n [hidden]=\"selectedRitdeelActies.length===0\"\n id=\"bulkSetOngeplandButton\"\n [attr.data-test-id]=\"'unplan-all-actions'\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteActiesUitRit()\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">X\n </button>\n </th>\n </tr>\n\n <tr *ngFor=\"let actie of selectedRitdeelActies; let i = index\" id=\"ritdetails-a{{i}}\">\n <td id=\"ritdetails-a{{i}}-omschrijving\" class=\"nowrap\">{{ actieOmschrijvingTekst(actie) }}</td>\n <td id=\"ritdetails-a{{i}}-vanKmLint\">{{ actieVanKmTekst(actie)}}</td>\n <td id=\"ritdetails-a{{i}}-totKmLint\">{{ actieTotKmTekst(actie)}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-a{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteActieUitRit(actie)\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">X\n </button>\n </td>\n </tr>\n </table>\n <h4>Ongeplande acties</h4>\n <table aria-hidden=\"true\">\n <tr>\n <th scope=\"col\">Actie</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Tot</th>\n <th scope=\"col\">\n <button *ngIf=\"editable\"\n [hidden]=\"selectedRitdeelOngeplandeActies.length===0\"\n id=\"bulkSetGeplandButton\"\n [attr.data-test-id]=\"'plan-all-actions'\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-success loxia-btn-sm\"\n (click)=\"voegActiesToeAanRit()\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">^\n </button>\n </th>\n </tr>\n\n <tr *ngFor=\"let ongeplandeActie of selectedRitdeelOngeplandeActies; let i = index\"\n id=\"ritdetails-oa{{i}}\">\n <td id=\"ritdetails-oa{{i}}-omschrijving\" class=\"nowrap\">{{actieOmschrijvingTekst(ongeplandeActie.actie) }}</td>\n <td id=\"ritdetails-oa{{i}}-vanKmLint\">{{ actieVanKmTekst(ongeplandeActie.actie)}}</td>\n <td id=\"ritdetails-oa{{i}}-totKmLint\">{{ actieTotKmTekst(ongeplandeActie.actie)}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-oa{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-success loxia-btn-sm\"\n (click)=\"voegActieToeAanRit(ongeplandeActie)\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">^\n </button>\n </td>\n </tr>\n </table>\n </div>\n </div>\n <div class=\"knop-pane\">\n <button type=\"button\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm\"\n [attr.data-test-id]=\"'plan-all-actions-for-file'\"\n [innerText]=\"'Plan acties hele rit'\"\n (click)=\"planAlleRitActies()\">\n </button>\n </div>\n </div>\n</div>\n", styles: [".panes-container{display:inline;height:100%;border:1px solid black}table{width:100%}th{padding:5px;z-index:1000}td{padding:4px}tr:nth-child(2n){background:#f0f0f0}tr:nth-child(odd){background:#fff}.top-pane{height:45vh;overflow:auto}.actie-pane{height:35vh;overflow:auto}.knop-pane{height:5vh;justify-content:center;display:flex;align-items:center}.panes-container,.panes-separator,.top-pane,.actie-pane{margin:0;padding:0;width:100%}.selected{background:#ffff80!important}.disabled{background:gray!important}.visible-outside-window{background:#87cefa!important}.table-scroll-header-fix tbody{display:block;height:40vh;overflow:auto}.tableFixHead{overflow-y:auto}.tableFixHead thead th{position:sticky;top:0;background-color:#fff}.table{margin-bottom:0}.table td,.table th{border-top:none;border-bottom:none;padding-left:.75em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
3287
1877
  }
3288
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenLijstComponent, decorators: [{
1878
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenLijstComponent, decorators: [{
3289
1879
  type: Component,
3290
1880
  args: [{ selector: 'ritdelen-lijst', changeDetection: ChangeDetectionStrategy.Default, template: "<div id=\"ritdelen-lijst\">\n <div class=\"sidebar-header\">\n <h3 [attr.data-test-id]=\"'title-rit-details'\">Ritdetails</h3>\n </div>\n <div class=\"panes-container\">\n <div class=\"top-pane tableFixHead\" id=\"top-pane\">\n <table class=\"table\" aria-hidden=\"true\" [attr.data-test-id]=\"'table-rit-details'\">\n <thead>\n <tr>\n <th scope=\"col\">\n <input #input\n type=\"checkbox\"\n checked\n class=\"checkbox col-visibility\"\n (change)=\"toggleZichtbaarheidAlleRitdelen(input.checked)\"\n id=\"ritdetails-selecteerAlles\"\n title=\"Selecteer alles\"\n [attr.data-test-id]=\"'checkbox-alle-bewegingen'\">\n </th>\n <th scope=\"col\"></th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">DW</th>\n <th scope=\"col\">PPLG(s)</th>\n <th scope=\"col\">Treinnr.</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n\n <tr *ngFor=\"let ritdeelViewModel of ritdeelViewModels; let i = index\"\n class=\"{{ selectedRitdeelClass(ritdeelViewModel.ritdeel) }}\" id=\"ritdetails-r{{i}}\">\n <td>\n <input id=\"ritdetails-r{{i}}-zichtbaar\"\n [attr.data-test-id]=\"'checkbox-r'+i\"\n type=\"checkbox\"\n class=\"checkbox col-visibility\"\n [checked]=\"ritdeelViewModel.isZichtbaar\"\n [title]=\"ritdeelViewModel.title\"\n (change)=\"toggleRitdeelZichtbaarheid(ritdeelViewModel.ritdeel)\"\n [hidden]=\"ritdeelViewModel.isNietBeschikbaar\"/>\n </td>\n <td id=\"ritdetails-r{{i}}-gewijzigd\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.isNieuw}}</td>\n <td id=\"ritdetails-r{{i}}-vanSpoor\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.vanPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-naarSpoor\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.naarPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-dwangNummer\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.dwangNummer}}</td>\n <td id=\"ritdetails-r{{i}}-pplgs\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.pplgString}}</td>\n <td id=\"ritdetails-r{{i}}-treinNummer\" (click)=\"selectRitdeel($event, ritdeelViewModel.ritdeel)\">{{ritdeelViewModel.treinNummer}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-r{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteRitdeel(ritdeelViewModel.ritdeel)\">X\n </button>\n </td>\n </tr>\n\n </table>\n </div>\n <div class=\"actie-pane\">\n <div *ngIf=\"selectedRitdeel && (selectedRitdeelActies.length > 0 || selectedRitdeelOngeplandeActies.length > 0) \"\n id=\"actie-pane\">\n <h4>Geplande acties</h4>\n <table aria-hidden=\"true\">\n <tr>\n <th scope=\"col\">Actie</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Tot</th>\n <th scope=\"col\">\n <button *ngIf=\"editable\"\n [hidden]=\"selectedRitdeelActies.length===0\"\n id=\"bulkSetOngeplandButton\"\n [attr.data-test-id]=\"'unplan-all-actions'\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteActiesUitRit()\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">X\n </button>\n </th>\n </tr>\n\n <tr *ngFor=\"let actie of selectedRitdeelActies; let i = index\" id=\"ritdetails-a{{i}}\">\n <td id=\"ritdetails-a{{i}}-omschrijving\" class=\"nowrap\">{{ actieOmschrijvingTekst(actie) }}</td>\n <td id=\"ritdetails-a{{i}}-vanKmLint\">{{ actieVanKmTekst(actie)}}</td>\n <td id=\"ritdetails-a{{i}}-totKmLint\">{{ actieTotKmTekst(actie)}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-a{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-danger btn-sm\"\n (click)=\"deleteActieUitRit(actie)\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">X\n </button>\n </td>\n </tr>\n </table>\n <h4>Ongeplande acties</h4>\n <table aria-hidden=\"true\">\n <tr>\n <th scope=\"col\">Actie</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Tot</th>\n <th scope=\"col\">\n <button *ngIf=\"editable\"\n [hidden]=\"selectedRitdeelOngeplandeActies.length===0\"\n id=\"bulkSetGeplandButton\"\n [attr.data-test-id]=\"'plan-all-actions'\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-success loxia-btn-sm\"\n (click)=\"voegActiesToeAanRit()\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">^\n </button>\n </th>\n </tr>\n\n <tr *ngFor=\"let ongeplandeActie of selectedRitdeelOngeplandeActies; let i = index\"\n id=\"ritdetails-oa{{i}}\">\n <td id=\"ritdetails-oa{{i}}-omschrijving\" class=\"nowrap\">{{actieOmschrijvingTekst(ongeplandeActie.actie) }}</td>\n <td id=\"ritdetails-oa{{i}}-vanKmLint\">{{ actieVanKmTekst(ongeplandeActie.actie)}}</td>\n <td id=\"ritdetails-oa{{i}}-totKmLint\">{{ actieTotKmTekst(ongeplandeActie.actie)}}</td>\n <td style=\"text-align:right\">\n <button *ngIf=\"editable\"\n id=\"ritdetails-oa{{i}}-del\"\n type=\"button\"\n class=\"loxia-btn loxia-btn-success loxia-btn-sm\"\n (click)=\"voegActieToeAanRit(ongeplandeActie)\"\n [disabled]=\"disableActieKnoppenVanRitdeel\">^\n </button>\n </td>\n </tr>\n </table>\n </div>\n </div>\n <div class=\"knop-pane\">\n <button type=\"button\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm\"\n [attr.data-test-id]=\"'plan-all-actions-for-file'\"\n [innerText]=\"'Plan acties hele rit'\"\n (click)=\"planAlleRitActies()\">\n </button>\n </div>\n </div>\n</div>\n", styles: [".panes-container{display:inline;height:100%;border:1px solid black}table{width:100%}th{padding:5px;z-index:1000}td{padding:4px}tr:nth-child(2n){background:#f0f0f0}tr:nth-child(odd){background:#fff}.top-pane{height:45vh;overflow:auto}.actie-pane{height:35vh;overflow:auto}.knop-pane{height:5vh;justify-content:center;display:flex;align-items:center}.panes-container,.panes-separator,.top-pane,.actie-pane{margin:0;padding:0;width:100%}.selected{background:#ffff80!important}.disabled{background:gray!important}.visible-outside-window{background:#87cefa!important}.table-scroll-header-fix tbody{display:block;height:40vh;overflow:auto}.tableFixHead{overflow-y:auto}.tableFixHead thead th{position:sticky;top:0;background-color:#fff}.table{margin-bottom:0}.table td,.table th{border-top:none;border-bottom:none;padding-left:.75em}\n"] }]
3291
1881
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: SignaleringsBeeldManagerService }], propDecorators: { nietGeplandeActies: [{
@@ -3385,10 +1975,10 @@ class RitdelenViewComponent {
3385
1975
  }
3386
1976
  return false;
3387
1977
  }
3388
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenViewComponent, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
3389
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RitdelenViewComponent, selector: "ritdelen-view", outputs: { focusEmitter: "focusEmitter" }, host: { listeners: { "window:keyup": "keyEvent($event)" } }, ngImport: i0, template: "<div id=\"ritdelen-lijst\">\n <div class=\"sidebar-header\">\n <h3>Ritdetails view</h3>\n </div>\n <div class=\"panes-container\">\n <div class=\"top-pane tableFixHead\" id=\"top-pane\">\n <table class=\"table\" aria-hidden=\"true\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\" colspan=\"2\" style=\"text-align:center;\">Spoor</th>\n <th scope=\"col\"></th>\n <th scope=\"col\" colspan=\"2\" style=\"text-align:center;\">Sein</th>\n <th scope=\"col\"></th>\n <th scope=\"col\"></th>\n </tr>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">DW</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">Treinnummer</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n\n <tr *ngFor=\"let ritdeelViewModel of ritdeelViewModels; let i = index\"\n class=\"{{ selectedRitdeelClass(ritdeelViewModel.ritdeel) }}\" id=\"ritdetails-r{{i}}\">\n <td id=\"ritdetails-r{{i}}-gewijzigd\" (click)=\"selectRitdeel(i)\"></td>\n <td id=\"ritdetails-r{{i}}-vanSpoor\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.vanPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-naarSpoor\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.naarPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-dwangNummer\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.dwangNummer}}</td>\n <td id=\"ritdetails-r{{i}}-vanSeinName\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.vanSeinName}}</td>\n <td id=\"ritdetails-r{{i}}-naarSeinName\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.naarSeinName}}</td>\n <td id=\"ritdetails-r{{i}}-treinNummer\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.treinNummer}}</td>\n <td style=\"text-align:right\">\n </td>\n </tr>\n </table>\n </div>\n </div>\n</div>\n", styles: [".panes-container{display:inline;height:100%}table{width:100%}th,td{padding:5px}tr:nth-child(2n){background:#f0f0f0}tr:nth-child(odd){background:#fff}.top-pane{height:90vh;overflow:auto}.panes-container,.panes-separator,.top-pane{margin:0;padding:0;width:100%}.selected{background:#ffff80!important}.disabled{background:gray!important}.visible-outside-window{background:#87cefa!important}.table-scroll-header-fix tbody{display:block;height:40vh;overflow:auto}.tableFixHead{overflow-y:auto}.tableFixHead thead th{position:sticky;top:0;background-color:#fff}.table{margin-bottom:0}.table td,.table th{border-top:none;border-bottom:none;padding-left:.75em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
1978
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenViewComponent, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
1979
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: RitdelenViewComponent, selector: "ritdelen-view", outputs: { focusEmitter: "focusEmitter" }, host: { listeners: { "window:keyup": "keyEvent($event)" } }, ngImport: i0, template: "<div id=\"ritdelen-lijst\">\n <div class=\"sidebar-header\">\n <h3>Ritdetails view</h3>\n </div>\n <div class=\"panes-container\">\n <div class=\"top-pane tableFixHead\" id=\"top-pane\">\n <table class=\"table\" aria-hidden=\"true\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\" colspan=\"2\" style=\"text-align:center;\">Spoor</th>\n <th scope=\"col\"></th>\n <th scope=\"col\" colspan=\"2\" style=\"text-align:center;\">Sein</th>\n <th scope=\"col\"></th>\n <th scope=\"col\"></th>\n </tr>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">DW</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">Treinnummer</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n\n <tr *ngFor=\"let ritdeelViewModel of ritdeelViewModels; let i = index\"\n class=\"{{ selectedRitdeelClass(ritdeelViewModel.ritdeel) }}\" id=\"ritdetails-r{{i}}\">\n <td id=\"ritdetails-r{{i}}-gewijzigd\" (click)=\"selectRitdeel(i)\"></td>\n <td id=\"ritdetails-r{{i}}-vanSpoor\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.vanPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-naarSpoor\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.naarPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-dwangNummer\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.dwangNummer}}</td>\n <td id=\"ritdetails-r{{i}}-vanSeinName\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.vanSeinName}}</td>\n <td id=\"ritdetails-r{{i}}-naarSeinName\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.naarSeinName}}</td>\n <td id=\"ritdetails-r{{i}}-treinNummer\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.treinNummer}}</td>\n <td style=\"text-align:right\">\n </td>\n </tr>\n </table>\n </div>\n </div>\n</div>\n", styles: [".panes-container{display:inline;height:100%}table{width:100%}th,td{padding:5px}tr:nth-child(2n){background:#f0f0f0}tr:nth-child(odd){background:#fff}.top-pane{height:90vh;overflow:auto}.panes-container,.panes-separator,.top-pane{margin:0;padding:0;width:100%}.selected{background:#ffff80!important}.disabled{background:gray!important}.visible-outside-window{background:#87cefa!important}.table-scroll-header-fix tbody{display:block;height:40vh;overflow:auto}.tableFixHead{overflow-y:auto}.tableFixHead thead th{position:sticky;top:0;background-color:#fff}.table{margin-bottom:0}.table td,.table th{border-top:none;border-bottom:none;padding-left:.75em}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] }); }
3390
1980
  }
3391
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenViewComponent, decorators: [{
1981
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenViewComponent, decorators: [{
3392
1982
  type: Component,
3393
1983
  args: [{ selector: 'ritdelen-view', template: "<div id=\"ritdelen-lijst\">\n <div class=\"sidebar-header\">\n <h3>Ritdetails view</h3>\n </div>\n <div class=\"panes-container\">\n <div class=\"top-pane tableFixHead\" id=\"top-pane\">\n <table class=\"table\" aria-hidden=\"true\">\n <thead>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\" colspan=\"2\" style=\"text-align:center;\">Spoor</th>\n <th scope=\"col\"></th>\n <th scope=\"col\" colspan=\"2\" style=\"text-align:center;\">Sein</th>\n <th scope=\"col\"></th>\n <th scope=\"col\"></th>\n </tr>\n <tr>\n <th scope=\"col\"></th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">DW</th>\n <th scope=\"col\">Van</th>\n <th scope=\"col\">Naar</th>\n <th scope=\"col\">Treinnummer</th>\n <th scope=\"col\"></th>\n </tr>\n </thead>\n\n <tr *ngFor=\"let ritdeelViewModel of ritdeelViewModels; let i = index\"\n class=\"{{ selectedRitdeelClass(ritdeelViewModel.ritdeel) }}\" id=\"ritdetails-r{{i}}\">\n <td id=\"ritdetails-r{{i}}-gewijzigd\" (click)=\"selectRitdeel(i)\"></td>\n <td id=\"ritdetails-r{{i}}-vanSpoor\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.vanPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-naarSpoor\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.naarPrlSpoor}}</td>\n <td id=\"ritdetails-r{{i}}-dwangNummer\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.dwangNummer}}</td>\n <td id=\"ritdetails-r{{i}}-vanSeinName\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.vanSeinName}}</td>\n <td id=\"ritdetails-r{{i}}-naarSeinName\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.naarSeinName}}</td>\n <td id=\"ritdetails-r{{i}}-treinNummer\" (click)=\"selectRitdeel(i)\">{{ritdeelViewModel.treinNummer}}</td>\n <td style=\"text-align:right\">\n </td>\n </tr>\n </table>\n </div>\n </div>\n</div>\n", styles: [".panes-container{display:inline;height:100%}table{width:100%}th,td{padding:5px}tr:nth-child(2n){background:#f0f0f0}tr:nth-child(odd){background:#fff}.top-pane{height:90vh;overflow:auto}.panes-container,.panes-separator,.top-pane{margin:0;padding:0;width:100%}.selected{background:#ffff80!important}.disabled{background:gray!important}.visible-outside-window{background:#87cefa!important}.table-scroll-header-fix tbody{display:block;height:40vh;overflow:auto}.tableFixHead{overflow-y:auto}.tableFixHead thead th{position:sticky;top:0;background-color:#fff}.table{margin-bottom:0}.table td,.table th{border-top:none;border-bottom:none;padding-left:.75em}\n"] }]
3394
1984
  }], ctorParameters: () => [{ type: i2$1.Store }], propDecorators: { focusEmitter: [{
@@ -3409,18 +1999,49 @@ class RitdeelViewModel {
3409
1999
  }
3410
2000
  }
3411
2001
 
2002
+ class CarouselControlsComponent {
2003
+ constructor(store) {
2004
+ this.store = store;
2005
+ this.paginationSize = 4;
2006
+ this.ritdelen$ = this.store.select('ritDelen').pipe(filter(r => r?.length > 0));
2007
+ this.kanLinks$ = this.ritdelen$.pipe(map(r => this.kanLinksNavigeren(r)));
2008
+ this.kanRechts$ = this.ritdelen$.pipe(map(r => this.kanRechtsNavigeren(r)));
2009
+ }
2010
+ kanLinksNavigeren(ritDelen) {
2011
+ return ritDelen.length > this.paginationSize && !ritDelen[0].isBinnenWindow();
2012
+ }
2013
+ kanRechtsNavigeren(ritDelen) {
2014
+ return ritDelen.length > this.paginationSize && !ritDelen[ritDelen.length - 1].isBinnenWindow();
2015
+ }
2016
+ navigeerNaarLinks(event) {
2017
+ this.store.dispatch(navigeer(event?.ctrlKey ? -1 : -(this.paginationSize - 1), this.paginationSize, this.iaversieinfo));
2018
+ }
2019
+ navigeerNaarRechts(event) {
2020
+ this.store.dispatch(navigeer(event?.ctrlKey ? 1 : this.paginationSize - 1, this.paginationSize, this.iaversieinfo));
2021
+ }
2022
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CarouselControlsComponent, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
2023
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CarouselControlsComponent, selector: "carousel-controls", inputs: { paginationSize: "paginationSize", iaversieinfo: "iaversieinfo", sideNavOpen: "sideNavOpen" }, ngImport: i0, template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
2024
+ }
2025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CarouselControlsComponent, decorators: [{
2026
+ type: Component,
2027
+ args: [{ selector: 'carousel-controls', template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"] }]
2028
+ }], ctorParameters: () => [{ type: i2$1.Store }], propDecorators: { paginationSize: [{
2029
+ type: Input
2030
+ }], iaversieinfo: [{
2031
+ type: Input
2032
+ }], sideNavOpen: [{
2033
+ type: Input
2034
+ }] } });
2035
+
3412
2036
  class ViewerControlsComponent {
3413
2037
  constructor(store, viewerControlsService, bewegingUtils) {
3414
2038
  this.store = store;
3415
2039
  this.viewerControlsService = viewerControlsService;
3416
2040
  this.bewegingUtils = bewegingUtils;
3417
2041
  this.paginationSize = 4;
3418
- this.treinpad = undefined;
3419
- this.goedgekeurd = new EventEmitter();
3420
2042
  this.printing$ = this.viewerControlsService.isPrinting$();
3421
2043
  this.valideRit$ = this.viewerControlsService.isValideRit$();
3422
2044
  this.subscriptions = new Subscription();
3423
- this.editable = false;
3424
2045
  this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
3425
2046
  }
3426
2047
  ngOnChanges({ treinpad }) {
@@ -3429,26 +2050,27 @@ class ViewerControlsComponent {
3429
2050
  }
3430
2051
  }
3431
2052
  showGoedkeuren() {
3432
- return this.editable;
2053
+ return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
3433
2054
  }
3434
2055
  goedkeurenClick() {
3435
- this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
3436
- if (this.treinpad) {
3437
- delete this.treinpad.aantalRitActies;
3438
- this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
3439
- this.goedgekeurd.emit(this.treinpad);
3440
- this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
3441
- }
3442
- })).subscribe();
2056
+ const ritDelen = this.viewerControlsService.ritdelen;
2057
+ if (ritDelen) {
2058
+ delete this.treinpad.aantalRitActies;
2059
+ this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
2060
+ this.goedgekeurd.emit(this.treinpad);
2061
+ this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
2062
+ }
3443
2063
  }
3444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewerControlsComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: BewegingUtils }], target: i0.ɵɵFactoryTarget.Component }); }
3445
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: ViewerControlsComponent, selector: "viewer-controls", inputs: { paginationSize: "paginationSize", treinpad: "treinpad", goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CarouselControlsComponent, selector: "carousel-controls", inputs: ["paginationSize", "sideNavOpen"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
2064
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: BewegingUtils }], target: i0.ɵɵFactoryTarget.Component }); }
2065
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ViewerControlsComponent, selector: "viewer-controls", inputs: { paginationSize: "paginationSize", iaversieinfo: "iaversieinfo", treinpad: "treinpad", goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [iaversieinfo]=\"iaversieinfo\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CarouselControlsComponent, selector: "carousel-controls", inputs: ["paginationSize", "iaversieinfo", "sideNavOpen"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
3446
2066
  }
3447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ViewerControlsComponent, decorators: [{
2067
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
3448
2068
  type: Component,
3449
- args: [{ selector: 'viewer-controls', template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"] }]
2069
+ args: [{ selector: 'viewer-controls', template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [iaversieinfo]=\"iaversieinfo\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"] }]
3450
2070
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: BewegingUtils }], propDecorators: { paginationSize: [{
3451
2071
  type: Input
2072
+ }], iaversieinfo: [{
2073
+ type: Input
3452
2074
  }], treinpad: [{
3453
2075
  type: Input
3454
2076
  }], goedgekeurd: [{
@@ -3503,7 +2125,7 @@ class ActiePopoverBepaler {
3503
2125
  ongeplandeActies.entries.forEach(entry => {
3504
2126
  const treinNummerActieInfos = puicNaarOngeplandeActieMap.get(entry.key);
3505
2127
  if (!treinNummerActieInfos?.map(({ actie }) => actie).includes(entry.value.actie)) {
3506
- puicNaarOngeplandeActieMap.put(entry.key, { actie: entry.value.actie });
2128
+ puicNaarOngeplandeActieMap.put(entry.key, { treinNummer: undefined, actie: entry.value.actie });
3507
2129
  }
3508
2130
  });
3509
2131
  }
@@ -3563,16 +2185,12 @@ class SvgVisualisatieComponent {
3563
2185
  this.actieHelper = actieHelper;
3564
2186
  this.sbmService = sbmService;
3565
2187
  this.editorService = editorService;
3566
- this.nietGeplandeActies = [];
3567
- this.useClickArea = false;
3568
2188
  this.svgInfos$ = this.store.select('svgInfos');
3569
2189
  this.popoverInfos = [];
3570
2190
  this.clickableIds = [];
3571
- this.selectieInfos$ = this.store.select('selectieInfos');
3572
2191
  this.rightClickableIds = [];
3573
2192
  this.contextMenuActions = [];
3574
2193
  this.contextMenuStyle = { display: 'none' };
3575
- this.editable = false;
3576
2194
  this.puicNaarBeginSeinRitdeel = new Map();
3577
2195
  this.puicNaarEindSeinCombinatie = new Map();
3578
2196
  this.puicNaarAlternatieveRoute = new Map();
@@ -3596,7 +2214,7 @@ class SvgVisualisatieComponent {
3596
2214
  }));
3597
2215
  }
3598
2216
  ngOnInit() {
3599
- document.getElementById('contextMenu')?.addEventListener('mouseleave', () => this.hideContextMenu());
2217
+ document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
3600
2218
  }
3601
2219
  ngOnDestroy() {
3602
2220
  this.subscriptions.forEach(s => s.unsubscribe());
@@ -3623,6 +2241,7 @@ class SvgVisualisatieComponent {
3623
2241
  this.store.dispatch(navigeerBuitenRit(puic));
3624
2242
  }
3625
2243
  }
2244
+ this.store.dispatch(SetSelectedRitdeel(undefined));
3626
2245
  }
3627
2246
  handleImxviewRightClick(evt) {
3628
2247
  const fn = () => {
@@ -3653,7 +2272,7 @@ class SvgVisualisatieComponent {
3653
2272
  handleNieuweRouteToegevoegd() {
3654
2273
  this.store.select('nieuweRoute')
3655
2274
  .subscribe((nieuweRoute) => {
3656
- if (nieuweRoute?.isValid()) {
2275
+ if (nieuweRoute.isValid()) {
3657
2276
  this.store.dispatch(ResetNieuweRoute());
3658
2277
  this.store.dispatch(ritdeelInvoegen(nieuweRoute));
3659
2278
  }
@@ -3766,7 +2385,7 @@ class SvgVisualisatieComponent {
3766
2385
  });
3767
2386
  this.viewerControlsService.setValideRit(!gebrokenRit);
3768
2387
  this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
3769
- const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).flat();
2388
+ const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
3770
2389
  this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
3771
2390
  ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
3772
2391
  this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
@@ -3799,12 +2418,12 @@ class SvgVisualisatieComponent {
3799
2418
  getPuics(topoElementen) {
3800
2419
  return topoElementen.map(e => e.getPuic());
3801
2420
  }
3802
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgVisualisatieComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: ActieHelper }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
3803
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: { nietGeplandeActies: "nietGeplandeActies", useClickArea: "useClickArea" }, viewQueries: [{ propertyName: "imxviewer", first: true, predicate: ["imxviewercontainer"], descendants: true }], ngImport: i0, template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"selectieInfos$ | async\"\n [clickableIds]=\"clickableIds\"\n [rightClickableIds]=\"rightClickableIds\"\n [popoverInfos]=\"popoverInfos\"\n [inlineDgnCssImport]=\"false\"\n [useClickArea]=\"useClickArea\"\n [zoomScaleSensitivity]=\"0.25\"\n (clickHandler)=\"handleImxviewClick($event)\"\n (rightClickHandler)=\"handleImxviewRightClick($event)\"\n ></imx-viewer>\n\n<ul id=\"contextMenu\" class=\"dropdown-menu\" role=\"menu\" [ngStyle]=\"contextMenuStyle\">\n <li *ngFor=\"let action of contextMenuActions\"><a class=\"dropdown-item\" tabindex=\"-1\"\n (click)=\"action.click()\">{{action.label}}</a></li>\n</ul>\n", styles: [".dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i7.ImxViewerComponent, selector: "imx-viewer", inputs: ["useClickArea", "inlineDgnCssImport", "svgInfo", "selectieInfos", "clickableIds", "rightClickableIds", "popoverInfos", "zoomScaleSensitivity", "autoAlignSvgsHorizontally", "initialPanAndZoom"], outputs: ["clickHandler", "rightClickHandler", "svgLoaded", "panned"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
2421
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgVisualisatieComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: ActieHelper }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
2422
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: { nietGeplandeActies: "nietGeplandeActies", useClickArea: "useClickArea" }, viewQueries: [{ propertyName: "imxviewer", first: true, predicate: ["imxviewercontainer"], descendants: true }], ngImport: i0, template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"viewerControlsService.selectieInfos\"\n [clickableIds]=\"clickableIds\"\n [rightClickableIds]=\"rightClickableIds\"\n [popoverInfos]=\"popoverInfos\"\n [inlineDgnCssImport]=\"false\"\n [useClickArea]=\"useClickArea\"\n [zoomScaleSensitivity]=\"0.25\"\n (clickHandler)=\"handleImxviewClick($event)\"\n (rightClickHandler)=\"handleImxviewRightClick($event)\"\n ></imx-viewer>\n\n<ul id=\"contextMenu\" class=\"dropdown-menu\" role=\"menu\" [ngStyle]=\"contextMenuStyle\">\n <li *ngFor=\"let action of contextMenuActions\"><a class=\"dropdown-item\" tabindex=\"-1\"\n (click)=\"action.click()\">{{action.label}}</a></li>\n</ul>\n", styles: [".dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i7.ImxViewerComponent, selector: "imx-viewer", inputs: ["useClickArea", "inlineDgnCssImport", "svgInfo", "selectieInfos", "clickableIds", "rightClickableIds", "popoverInfos", "zoomScaleSensitivity", "autoAlignSvgsHorizontally", "initialPanAndZoom"], outputs: ["clickHandler", "rightClickHandler", "svgLoaded", "panned"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
3804
2423
  }
3805
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgVisualisatieComponent, decorators: [{
2424
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgVisualisatieComponent, decorators: [{
3806
2425
  type: Component,
3807
- args: [{ selector: 'svg-visualisatie', template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"selectieInfos$ | async\"\n [clickableIds]=\"clickableIds\"\n [rightClickableIds]=\"rightClickableIds\"\n [popoverInfos]=\"popoverInfos\"\n [inlineDgnCssImport]=\"false\"\n [useClickArea]=\"useClickArea\"\n [zoomScaleSensitivity]=\"0.25\"\n (clickHandler)=\"handleImxviewClick($event)\"\n (rightClickHandler)=\"handleImxviewRightClick($event)\"\n ></imx-viewer>\n\n<ul id=\"contextMenu\" class=\"dropdown-menu\" role=\"menu\" [ngStyle]=\"contextMenuStyle\">\n <li *ngFor=\"let action of contextMenuActions\"><a class=\"dropdown-item\" tabindex=\"-1\"\n (click)=\"action.click()\">{{action.label}}</a></li>\n</ul>\n", styles: [".dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}\n"] }]
2426
+ args: [{ selector: 'svg-visualisatie', template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"viewerControlsService.selectieInfos\"\n [clickableIds]=\"clickableIds\"\n [rightClickableIds]=\"rightClickableIds\"\n [popoverInfos]=\"popoverInfos\"\n [inlineDgnCssImport]=\"false\"\n [useClickArea]=\"useClickArea\"\n [zoomScaleSensitivity]=\"0.25\"\n (clickHandler)=\"handleImxviewClick($event)\"\n (rightClickHandler)=\"handleImxviewRightClick($event)\"\n ></imx-viewer>\n\n<ul id=\"contextMenu\" class=\"dropdown-menu\" role=\"menu\" [ngStyle]=\"contextMenuStyle\">\n <li *ngFor=\"let action of contextMenuActions\"><a class=\"dropdown-item\" tabindex=\"-1\"\n (click)=\"action.click()\">{{action.label}}</a></li>\n</ul>\n", styles: [".dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}\n"] }]
3808
2427
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: ActieHelper }, { type: SignaleringsBeeldManagerService }, { type: EditorService }], propDecorators: { nietGeplandeActies: [{
3809
2428
  type: Input
3810
2429
  }], useClickArea: [{
@@ -3822,9 +2441,6 @@ class MstviewerComponent {
3822
2441
  this.printBewegingService = printBewegingService;
3823
2442
  this.paginationSize = 4;
3824
2443
  this.baseurl = 'https://acceptatie.raildesign.nl';
3825
- this.debug = false;
3826
- this.viewer = false;
3827
- this.useClickArea = false;
3828
2444
  this.goedgekeurd = new EventEmitter();
3829
2445
  this.subscriptions = new Subscription();
3830
2446
  this.subscriptions.add(this.store.select('nieuweBewegingen').subscribe(nieuweRit => {
@@ -3875,26 +2491,23 @@ class MstviewerComponent {
3875
2491
  }
3876
2492
  }
3877
2493
  printFocusBeweging(bewegingId) {
3878
- return this.printBewegingService.printBeweging(bewegingId, this.paginationSize);
2494
+ return this.printBewegingService.printBeweging(bewegingId, this.paginationSize, this.iaversieinfo);
3879
2495
  }
3880
2496
  keurAlleActiesGoed() {
3881
2497
  this.viewerControlsService.keurAlleActiesGoed(this.ongeplandeActies);
3882
2498
  }
3883
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstviewerComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: DebugService }, { token: PrintBewegingService }], target: i0.ɵɵFactoryTarget.Component }); }
3884
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: MstviewerComponent, selector: "mst-viewer", inputs: { iaversieinfo: "iaversieinfo", treinpad: "treinpad", ongeplandeActies: "ongeplandeActies", paginationSize: "paginationSize", baseurl: "baseurl", debug: "debug", viewer: "viewer", useClickArea: "useClickArea" }, outputs: { goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">&times;</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverlayComponent, selector: "loxia-overlay" }, { kind: "component", type: ProgressIndicatorComponent, selector: "loxia-progress-indicator" }, { kind: "component", type: RpeComponent, selector: "rpe-component", inputs: ["baseurl", "path"] }, { kind: "component", type: RitdelenLijstComponent, selector: "ritdelen-lijst", inputs: ["nietGeplandeActies"], outputs: ["focusEmitter", "keurAlleActiesGoed"] }, { kind: "component", type: RitdelenViewComponent, selector: "ritdelen-view", outputs: ["focusEmitter"] }, { kind: "component", type: ViewerControlsComponent, selector: "viewer-controls", inputs: ["paginationSize", "treinpad", "goedgekeurd"] }, { kind: "component", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: ["nietGeplandeActies", "useClickArea"] }, { kind: "component", type: MessagesComponent, selector: "loxia-messages" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
2499
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: DebugService }, { token: PrintBewegingService }], target: i0.ɵɵFactoryTarget.Component }); }
2500
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MstviewerComponent, selector: "mst-viewer", inputs: { iaversieinfo: "iaversieinfo", treinpad: "treinpad", ongeplandeActies: "ongeplandeActies", paginationSize: "paginationSize", baseurl: "baseurl", debug: "debug", viewer: "viewer", useClickArea: "useClickArea" }, outputs: { goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">&times;</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [iaversieinfo]=\"iaversieinfo\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverlayComponent, selector: "loxia-overlay" }, { kind: "component", type: ProgressIndicatorComponent, selector: "loxia-progress-indicator" }, { kind: "component", type: RpeComponent, selector: "rpe-component", inputs: ["baseurl", "path"] }, { kind: "component", type: RitdelenLijstComponent, selector: "ritdelen-lijst", inputs: ["nietGeplandeActies"], outputs: ["focusEmitter", "keurAlleActiesGoed"] }, { kind: "component", type: RitdelenViewComponent, selector: "ritdelen-view", outputs: ["focusEmitter"] }, { kind: "component", type: ViewerControlsComponent, selector: "viewer-controls", inputs: ["paginationSize", "iaversieinfo", "treinpad", "goedgekeurd"] }, { kind: "component", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: ["nietGeplandeActies", "useClickArea"] }, { kind: "component", type: MessagesComponent, selector: "loxia-messages" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
3885
2501
  }
3886
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstviewerComponent, decorators: [{
2502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, decorators: [{
3887
2503
  type: Component,
3888
- args: [{ selector: 'mst-viewer', template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">&times;</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"] }]
2504
+ args: [{ selector: 'mst-viewer', template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">&times;</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [iaversieinfo]=\"iaversieinfo\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"] }]
3889
2505
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: DebugService }, { type: PrintBewegingService }], propDecorators: { iaversieinfo: [{
3890
- type: Input,
3891
- args: [{ required: true }]
2506
+ type: Input
3892
2507
  }], treinpad: [{
3893
- type: Input,
3894
- args: [{ required: true }]
2508
+ type: Input
3895
2509
  }], ongeplandeActies: [{
3896
- type: Input,
3897
- args: [{ required: true }]
2510
+ type: Input
3898
2511
  }], paginationSize: [{
3899
2512
  type: Input
3900
2513
  }], baseurl: [{
@@ -3910,26 +2523,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
3910
2523
  }] } });
3911
2524
 
3912
2525
  let SignaleringsbeeldInfoResource = class SignaleringsbeeldInfoResource extends Resource {
3913
- constructor(restHandler, store, sbControllerService) {
2526
+ constructor(restHandler, store) {
3914
2527
  super(restHandler);
3915
- this.restHandler = restHandler;
3916
2528
  this.store = store;
3917
- this.sbControllerService = sbControllerService;
3918
2529
  this.subscriptions = new Subscription();
3919
- this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => {
3920
- this.$setUrl(baseUrl);
3921
- sbControllerService.configuration.basePath = baseUrl + '/mst';
3922
- }));
2530
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.$setUrl(baseUrl)));
3923
2531
  }
3924
2532
  ngOnDestroy() {
3925
2533
  this.subscriptions.unsubscribe();
3926
2534
  }
3927
- laadSignaleringsbeeldInfo(versie, pplgs) {
3928
- return this.sbControllerService.getSignaleringsbeelden(versie, pplgs);
3929
- }
3930
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SignaleringsbeeldInfoResource, deps: [{ token: i1$1.ResourceHandler }, { token: i2$1.Store }, { token: SbControllerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3931
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SignaleringsbeeldInfoResource }); }
2535
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, deps: [{ token: i1.ResourceHandler }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
2536
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource }); }
3932
2537
  };
2538
+ __decorate([
2539
+ ResourceAction({
2540
+ path: '/',
2541
+ method: ResourceRequestMethod.Post
2542
+ })
2543
+ ], SignaleringsbeeldInfoResource.prototype, "laadSignaleringsbeeldInfo", void 0);
3933
2544
  __decorate([
3934
2545
  ResourceAction({
3935
2546
  path: '/valideeriaversie'
@@ -3940,9 +2551,9 @@ SignaleringsbeeldInfoResource = __decorate([
3940
2551
  pathPrefix: '/mst/rest/signaleringsbeeldeninfo'
3941
2552
  })
3942
2553
  ], SignaleringsbeeldInfoResource);
3943
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
2554
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
3944
2555
  type: Injectable
3945
- }], ctorParameters: () => [{ type: i1$1.ResourceHandler }, { type: i2$1.Store }, { type: SbControllerService }], propDecorators: { getBestaatIALevering: [] } });
2556
+ }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { laadSignaleringsbeeldInfo: [], getBestaatIALevering: [] } });
3946
2557
  class SignaleringsbeeldInfoDto extends ResourceModel {
3947
2558
  constructor(data) {
3948
2559
  super();
@@ -3970,23 +2581,21 @@ class BaseRestService {
3970
2581
  this.httpClient = httpClient;
3971
2582
  this.store = store;
3972
2583
  this.subscriptions = new Subscription();
3973
- this.baseUrl = '';
3974
- this.iaVersie = '';
3975
2584
  this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.baseUrl = baseUrl));
3976
2585
  this.subscriptions.add(this.store.select('iaVersie').subscribe(iaVersie => this.iaVersie = iaVersie.versie));
3977
2586
  }
3978
2587
  ngOnDestroy() {
3979
2588
  this.subscriptions.unsubscribe();
3980
2589
  }
3981
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseRestService, deps: [{ token: i1.HttpClient }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
3982
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseRestService, providedIn: 'root' }); }
2590
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, deps: [{ token: i1$1.HttpClient }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
2591
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, providedIn: 'root' }); }
3983
2592
  }
3984
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BaseRestService, decorators: [{
2593
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, decorators: [{
3985
2594
  type: Injectable,
3986
2595
  args: [{
3987
2596
  providedIn: 'root'
3988
2597
  }]
3989
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.Store }] });
2598
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.Store }] });
3990
2599
 
3991
2600
  class BewegingVerrijkerService extends BaseRestService {
3992
2601
  getBewegingen(bewegingen, ongeplandeActies) {
@@ -4002,10 +2611,10 @@ class BewegingVerrijkerService extends BaseRestService {
4002
2611
  this.store.dispatch(ClearProgress());
4003
2612
  return [];
4004
2613
  }
4005
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingVerrijkerService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4006
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingVerrijkerService, providedIn: 'root' }); }
2614
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingVerrijkerService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
2615
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingVerrijkerService, providedIn: 'root' }); }
4007
2616
  }
4008
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingVerrijkerService, decorators: [{
2617
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingVerrijkerService, decorators: [{
4009
2618
  type: Injectable,
4010
2619
  args: [{
4011
2620
  providedIn: 'root'
@@ -4147,13 +2756,13 @@ class Ritdeel {
4147
2756
  return retval;
4148
2757
  }
4149
2758
  getVrijebaanRijwegplan() {
4150
- return this.vrijebaanRijwegplanRijwegDwangCombi?.rijwegplan;
2759
+ return this.vrijebaanRijwegplanRijwegDwangCombi.rijwegplan;
4151
2760
  }
4152
2761
  getVrijebaanRijweg() {
4153
- return this.vrijebaanRijwegplanRijwegDwangCombi?.rijweg;
2762
+ return this.vrijebaanRijwegplanRijwegDwangCombi.rijweg;
4154
2763
  }
4155
2764
  getVrijebaanDwang() {
4156
- return this.vrijebaanRijwegplanRijwegDwangCombi?.dwang;
2765
+ return this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
4157
2766
  }
4158
2767
  getDwangNummer() {
4159
2768
  return this.rijwegplanRijwegDwangCombi.getDwangNummer();
@@ -4170,7 +2779,7 @@ class Ritdeel {
4170
2779
  isBinnenWindow() {
4171
2780
  return (this.zichtbaarheid === RitdeelZichtbaarheid.ZICHTBAAR ||
4172
2781
  this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_GEBRUIKER)
4173
- && !this.zichtbaarBuitenPaginatie;
2782
+ && this.zichtbaarBuitenPaginatie === false;
4174
2783
  }
4175
2784
  isNietBeschikbaar() {
4176
2785
  return this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_SYSTEEM;
@@ -4193,10 +2802,10 @@ class Ritdeel {
4193
2802
  }
4194
2803
  }
4195
2804
  heeftVrijebaanInfo() {
4196
- return !!this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
2805
+ return this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
4197
2806
  }
4198
2807
  getVrijebaanPrlRoute() {
4199
- return this.vrijebaanRijwegplanRijwegDwangCombi?.getRoute();
2808
+ return this.vrijebaanRijwegplanRijwegDwangCombi.getRoute();
4200
2809
  }
4201
2810
  getTopologieElementen() {
4202
2811
  return this.topoElementen;
@@ -4228,10 +2837,10 @@ class Ritdeel {
4228
2837
  getZichtbaarheidBuitenPaginatie() {
4229
2838
  return this.zichtbaarBuitenPaginatie;
4230
2839
  }
4231
- bepaalTopologieElementen(sbmService) {
4232
- const topoElementen = sbmService.bepaalRouteElementen(this.getRoute());
2840
+ bepaalTopologieElementen(signaleringsBeeldManagerService) {
2841
+ const topoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getRoute());
4233
2842
  if (this.heeftVrijebaanInfo()) {
4234
- const vrijebaanTopoElementen = sbmService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
2843
+ const vrijebaanTopoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
4235
2844
  topoElementen.push(...vrijebaanTopoElementen);
4236
2845
  }
4237
2846
  this.topoElementen = topoElementen;
@@ -4277,7 +2886,7 @@ class RitLezerService {
4277
2886
  ritDelen.push(new Ritdeel(dwangInfo, beweging.ritActies, beweging, vrijebaanDwangInfo, vervolgSpoor, []));
4278
2887
  }
4279
2888
  extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg) {
4280
- let vrijebaanDwangInfo = undefined;
2889
+ let vrijebaanDwangInfo = null;
4281
2890
  let vervolgSpoor;
4282
2891
  if (beweging.naarSpoor.endsWith(SPOOR_NAAR_VRIJEBAAN_POSTFIX) ||
4283
2892
  beweging.naarSpoor.endsWith(SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX)) {
@@ -4291,9 +2900,9 @@ class RitLezerService {
4291
2900
  vrijebaanRijweg = vrijebaanRijwegen[0];
4292
2901
  vrijebaanDwang = vrijebaanRijweg.getDwangVoorDwangNummer(0);
4293
2902
  vervolgSpoor = vrijebaanRijwegplan.getVervolgSpoor(vrijebaanRijweg);
4294
- vrijebaanDwangInfo =
4295
- new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
4296
2903
  }
2904
+ vrijebaanDwangInfo =
2905
+ new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
4297
2906
  }
4298
2907
  }
4299
2908
  return { vrijebaanDwangInfo, vervolgSpoor };
@@ -4327,10 +2936,10 @@ class RitLezerService {
4327
2936
  isGewijzigd(beweging) {
4328
2937
  return beweging.wijzigStatus === 'Gewijzigd';
4329
2938
  }
4330
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitLezerService, deps: [{ token: EditorService }, { token: MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4331
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitLezerService }); }
2939
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitLezerService, deps: [{ token: EditorService }, { token: MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2940
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitLezerService }); }
4332
2941
  }
4333
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitLezerService, decorators: [{
2942
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitLezerService, decorators: [{
4334
2943
  type: Injectable
4335
2944
  }], ctorParameters: () => [{ type: EditorService }, { type: MessagesService }] });
4336
2945
 
@@ -4346,7 +2955,7 @@ class BepaalOngeplandeActiesEffect {
4346
2955
  this.bepaalOngeplandeActies$ = createEffect(() => this.actions$.pipe(ofType(BepaalOngeplandeActies), withLatestFrom(this.store), map(([action, store]) => {
4347
2956
  const puicActieMap = new ArrayMultimap();
4348
2957
  const nietGevondenTakken = [];
4349
- const logMeldingDTOs$ = [];
2958
+ const logMeldingDTOs = [];
4350
2959
  const acties = store.ritDelen.flatMap(rd => rd.acties);
4351
2960
  action.ongeplandeActies.forEach(actie => {
4352
2961
  const alreadyAdded = acties.filter(a => a.id === actie.id).length > 0;
@@ -4362,11 +2971,11 @@ class BepaalOngeplandeActiesEffect {
4362
2971
  if (!spoortak && nietGevondenTakken.indexOf(takId) < 0) {
4363
2972
  nietGevondenTakken.push(takId);
4364
2973
  const melding = MeldingBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken);
4365
- logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2974
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4366
2975
  }
4367
2976
  else if (spoortak) {
4368
2977
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
4369
- logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2978
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4370
2979
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
4371
2980
  }
4372
2981
  }
@@ -4375,8 +2984,8 @@ class BepaalOngeplandeActiesEffect {
4375
2984
  if (nietGevondenTakken.length > 0) {
4376
2985
  this.messagesService.showMessage(MessageBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken));
4377
2986
  }
4378
- if (logMeldingDTOs$.length > 0) {
4379
- forkJoin(logMeldingDTOs$).pipe(tap(dtos => this.mstLogResource.logMessages(dtos))).subscribe();
2987
+ if (logMeldingDTOs.length > 0) {
2988
+ this.mstLogResource.logErrorMessages(logMeldingDTOs);
4380
2989
  }
4381
2990
  this.store.dispatch(SetOngeplandeActies(puicActieMap));
4382
2991
  this.store.dispatch(SetOngeplandeActieSelectieIds(Array.from(puicActieMap.keys())));
@@ -4388,10 +2997,10 @@ class BepaalOngeplandeActiesEffect {
4388
2997
  puicMap.put(puic, ongeplandeActie);
4389
2998
  });
4390
2999
  }
4391
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BepaalOngeplandeActiesEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: MstLoggingResource }, { token: MessagesService }, { token: ActieHelper }, { token: LoggingHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
4392
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BepaalOngeplandeActiesEffect }); }
3000
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BepaalOngeplandeActiesEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: MstLoggingResource }, { token: MessagesService }, { token: ActieHelper }, { token: LoggingHelper }], target: i0.ɵɵFactoryTarget.Injectable }); }
3001
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BepaalOngeplandeActiesEffect }); }
4393
3002
  }
4394
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BepaalOngeplandeActiesEffect, decorators: [{
3003
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BepaalOngeplandeActiesEffect, decorators: [{
4395
3004
  type: Injectable
4396
3005
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: MstLoggingResource }, { type: MessagesService }, { type: ActieHelper }, { type: LoggingHelper }] });
4397
3006
 
@@ -4400,10 +3009,10 @@ class DateService {
4400
3009
  getCurrentDate() {
4401
3010
  return new Date();
4402
3011
  }
4403
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
4404
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateService, providedIn: 'root' }); }
3012
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DateService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3013
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DateService, providedIn: 'root' }); }
4405
3014
  }
4406
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DateService, decorators: [{
3015
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DateService, decorators: [{
4407
3016
  type: Injectable,
4408
3017
  args: [{
4409
3018
  providedIn: 'root'
@@ -4446,7 +3055,7 @@ class BepaalSbInfosEffect {
4446
3055
  next: _res => this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan)),
4447
3056
  error: err => {
4448
3057
  this.messagesService.showMessage(new Message(Severity.INFORMATION, Utils.getValidErorrMessage(err)));
4449
- const iaVersieInfo = { versie: 'DONNA_97207_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
3058
+ const iaVersieInfo = { versie: 'DONNA_77136_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
4450
3059
  this.store.dispatch(SetIaVersie(iaVersieInfo));
4451
3060
  this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan));
4452
3061
  }
@@ -4457,10 +3066,10 @@ class BepaalSbInfosEffect {
4457
3066
  pplgs.push(pplg);
4458
3067
  }
4459
3068
  }
4460
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BepaalSbInfosEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsbeeldInfoResource }, { token: MessagesService }, { token: DateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4461
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BepaalSbInfosEffect }); }
3069
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BepaalSbInfosEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsbeeldInfoResource }, { token: MessagesService }, { token: DateService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3070
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BepaalSbInfosEffect }); }
4462
3071
  }
4463
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BepaalSbInfosEffect, decorators: [{
3072
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BepaalSbInfosEffect, decorators: [{
4464
3073
  type: Injectable
4465
3074
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsbeeldInfoResource }, { type: MessagesService }, { type: DateService }] });
4466
3075
 
@@ -4519,10 +3128,10 @@ class BewegingInvoegenEffect {
4519
3128
  });
4520
3129
  return combinaties;
4521
3130
  }
4522
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingInvoegenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4523
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingInvoegenEffect }); }
3131
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingInvoegenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3132
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingInvoegenEffect }); }
4524
3133
  }
4525
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: BewegingInvoegenEffect, decorators: [{
3134
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingInvoegenEffect, decorators: [{
4526
3135
  type: Injectable
4527
3136
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: EditorService }] });
4528
3137
 
@@ -4551,10 +3160,10 @@ class DeleteOngeplandeActieEffect {
4551
3160
  }
4552
3161
  });
4553
3162
  }
4554
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeleteOngeplandeActieEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
4555
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeleteOngeplandeActieEffect }); }
3163
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteOngeplandeActieEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
3164
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteOngeplandeActieEffect }); }
4556
3165
  }
4557
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: DeleteOngeplandeActieEffect, decorators: [{
3166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: DeleteOngeplandeActieEffect, decorators: [{
4558
3167
  type: Injectable
4559
3168
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }] });
4560
3169
 
@@ -4569,7 +3178,7 @@ class FocusEffect {
4569
3178
  const dwangPuics = this.getPuics(topoElementen);
4570
3179
  if (ritdeel.isNietBeschikbaar()) {
4571
3180
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
4572
- this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
3181
+ this.store.dispatch(navigeerVanaf(actie.paginationSize, actie.iaVersieInfo, ritdeel));
4573
3182
  }
4574
3183
  return focusOpIds(dwangPuics);
4575
3184
  })));
@@ -4577,10 +3186,10 @@ class FocusEffect {
4577
3186
  getPuics(topoElementen) {
4578
3187
  return topoElementen.map(e => e.getPuic());
4579
3188
  }
4580
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4581
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusEffect }); }
3189
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FocusEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3190
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FocusEffect }); }
4582
3191
  }
4583
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: FocusEffect, decorators: [{
3192
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FocusEffect, decorators: [{
4584
3193
  type: Injectable
4585
3194
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }] });
4586
3195
 
@@ -4591,16 +3200,16 @@ class LaadRouteFilesEffect {
4591
3200
  this.ritLezer = ritLezer;
4592
3201
  this.editorService = editorService;
4593
3202
  this.messagesService = messagesService;
4594
- this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), withLatestFrom(this.store), map(([action, storeState]) => this.laadRouteFiles(action, storeState.iaVersie.versie))), { dispatch: false });
3203
+ this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), map(action => this.laadRouteFiles(action))), { dispatch: false });
4595
3204
  }
4596
- laadRouteFiles(actie, iaVersie) {
3205
+ laadRouteFiles(actie) {
4597
3206
  const isReady = this.editorService.isReady();
4598
3207
  isReady.then(() => {
4599
3208
  const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
4600
- const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
3209
+ const promise = this.editorService.laadRouteFiles(actie.iaversieinfo.versie, pplgs);
4601
3210
  promise.then(() => {
4602
3211
  this.updateRitdelen(actie);
4603
- }, (err) => {
3212
+ }, err => {
4604
3213
  this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4605
3214
  });
4606
3215
  });
@@ -4611,7 +3220,7 @@ class LaadRouteFilesEffect {
4611
3220
  if (ritdelen.length === 0) {
4612
3221
  ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
4613
3222
  }
4614
- this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize));
3223
+ this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize, actie.iaversieinfo));
4615
3224
  this.store.dispatch(setEditable(actie.treinpad.ritStatus !== 'Definitief'));
4616
3225
  });
4617
3226
  }, 0);
@@ -4619,7 +3228,7 @@ class LaadRouteFilesEffect {
4619
3228
  bepaalSbDtoPplgs(dtos) {
4620
3229
  const pplgs = [];
4621
3230
  dtos.forEach(dto => {
4622
- dto.pplgs?.forEach(pplg => {
3231
+ dto.pplgs.forEach(pplg => {
4623
3232
  if (!pplgs.includes(pplg)) {
4624
3233
  pplgs.push(pplg);
4625
3234
  }
@@ -4627,10 +3236,10 @@ class LaadRouteFilesEffect {
4627
3236
  });
4628
3237
  return pplgs;
4629
3238
  }
4630
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LaadRouteFilesEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: RitLezerService }, { token: EditorService }, { token: MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4631
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LaadRouteFilesEffect }); }
3239
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadRouteFilesEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: RitLezerService }, { token: EditorService }, { token: MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3240
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadRouteFilesEffect }); }
4632
3241
  }
4633
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LaadRouteFilesEffect, decorators: [{
3242
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadRouteFilesEffect, decorators: [{
4634
3243
  type: Injectable
4635
3244
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: RitLezerService }, { type: EditorService }, { type: MessagesService }] });
4636
3245
 
@@ -4649,10 +3258,10 @@ class ConnectorService extends BaseRestService {
4649
3258
  this.store.dispatch(ClearProgress());
4650
3259
  return [];
4651
3260
  }
4652
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConnectorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
4653
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConnectorService, providedIn: 'root' }); }
3261
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConnectorService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
3262
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConnectorService, providedIn: 'root' }); }
4654
3263
  }
4655
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ConnectorService, decorators: [{
3264
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConnectorService, decorators: [{
4656
3265
  type: Injectable,
4657
3266
  args: [{
4658
3267
  providedIn: 'root'
@@ -4660,14 +3269,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
4660
3269
  }] });
4661
3270
 
4662
3271
  class LaadSignaleringsbeeldenEffect {
4663
- constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesService) {
3272
+ constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesSerivce) {
4664
3273
  this.actions$ = actions$;
4665
3274
  this.store = store;
4666
3275
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
4667
3276
  this.editorService = editorService;
4668
3277
  this.sbiResource = sbiResource;
4669
3278
  this.connectorService = connectorService;
4670
- this.messagesService = messagesService;
3279
+ this.messagesSerivce = messagesSerivce;
4671
3280
  this.SVG_PIXEL_RUIMTE = 30;
4672
3281
  this.verwerkRitdelen$ = createEffect(() => this.actions$.pipe(ofType(setRitDelen, navigeer, navigeerVanaf), withLatestFrom(this.store), map(([actie, storeState]) => {
4673
3282
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
@@ -4681,14 +3290,14 @@ class LaadSignaleringsbeeldenEffect {
4681
3290
  }).pipe(switchMap(this.getOtherRand.bind(this)), switchMap(this.loadRouteFilesAndSignaleringsbeeldInfo.bind(this)), switchMap(this.loadSignaleringsbeelden.bind(this)), map(this.processSvgsAndUpdateRitdelen.bind(this))))), { dispatch: false });
4682
3291
  }
4683
3292
  handleSignaleringsbeeldInfo({ actie, storeState }) {
4684
- return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, actie.pplgs).pipe(take(1), tap((dtos) => this.processResponse({ dtos, storeState, actie })), catchError((err) => {
4685
- this.messagesService.showMessage(MessageBuilder.nietGevondenSBI(err));
3293
+ return this.sbiResource.laadSignaleringsbeeldInfo(this.createSignaleringsbeeldInfoQueryDto(actie.pplgs, storeState.iaVersie)).pipe(take(1), tap((dtos) => this.processResponse({ dtos, storeState, actie })), catchError((err) => {
3294
+ this.messagesSerivce.showMessage(MessageBuilder.nietGevondenSBI(err));
4686
3295
  return throwError(() => err);
4687
3296
  }));
4688
3297
  }
4689
3298
  processResponse({ dtos, storeState, actie }) {
4690
3299
  if (dtos && dtos.filter(dto => dto.metVisualisatie).length > 12) {
4691
- this.messagesService.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
3300
+ this.messagesSerivce.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
4692
3301
  }
4693
3302
  this.store.dispatch(SetSignaleringsbeeldInfoDtos(dtos, storeState.iaVersie, actie.rit, actie.paginationSize, actie.ritGewijzigdToegestaan));
4694
3303
  this.store.dispatch(SetVisibleSignaleringsbeeldInfoDtos(dtos));
@@ -4698,14 +3307,14 @@ class LaadSignaleringsbeeldenEffect {
4698
3307
  }
4699
3308
  loadRouteFilesAndSignaleringsbeeldInfo({ otherPplg, rand, storeState }) {
4700
3309
  this.editorService.laadRouteFiles(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]);
4701
- return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]).pipe(map(dtos => ({ dtos, storeState })));
3310
+ return this.sbiResource.laadSignaleringsbeeldInfo(this.createSignaleringsbeeldInfoQueryDto([rand.getPPLG(), otherPplg], storeState.iaVersie)).pipe(map(dtos => ({ dtos, storeState })));
4702
3311
  }
4703
3312
  loadSignaleringsbeelden({ dtos, storeState }) {
4704
- return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, ritDelen: storeState.ritDelen, dtos })));
3313
+ return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, storeState, dtos })));
4705
3314
  }
4706
- processSvgsAndUpdateRitdelen({ svgDataUrls, ritDelen, dtos }) {
3315
+ processSvgsAndUpdateRitdelen({ svgDataUrls, storeState, dtos }) {
4707
3316
  this.verwerkSvgs(svgDataUrls);
4708
- const nieuweRitdelen = this.updateRitdelen(ritDelen, dtos);
3317
+ const nieuweRitdelen = this.updateRitdelen(storeState.ritDelen, dtos);
4709
3318
  this.store.dispatch(UpdateVisibleSignaleringsbeeldInfoDtos(dtos));
4710
3319
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
4711
3320
  }
@@ -4718,11 +3327,11 @@ class LaadSignaleringsbeeldenEffect {
4718
3327
  const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
4719
3328
  const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
4720
3329
  const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
4721
- this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
3330
+ this.editorService.laadSignaleringsbeelden(actie.iaversieinfo.versie, loadingDtos).pipe(tap(svgDataUrls => {
4722
3331
  this.verwerkSvgs(svgDataUrls);
4723
3332
  this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
4724
3333
  }), catchError(err => {
4725
- this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3334
+ this.messagesSerivce.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4726
3335
  throw err;
4727
3336
  })).subscribe();
4728
3337
  }
@@ -4737,6 +3346,10 @@ class LaadSignaleringsbeeldenEffect {
4737
3346
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
4738
3347
  }, 0);
4739
3348
  }
3349
+ createSignaleringsbeeldInfoQueryDto(pplgs, iainfo) {
3350
+ const datum = iainfo.ingangsDatum && !isNaN(iainfo.ingangsDatum.getTime()) ? iainfo.ingangsDatum.toISOString() : undefined;
3351
+ return { pplgs, versie: iainfo.versie, ingangsDatum: datum };
3352
+ }
4740
3353
  verwerkSvgs(svgDataUrls) {
4741
3354
  this.store.dispatch(SetSvgInfos(this.bepaalSvgInfos(svgDataUrls)));
4742
3355
  }
@@ -4763,7 +3376,7 @@ class LaadSignaleringsbeeldenEffect {
4763
3376
  bepaalZichtbareDtos(visibleRitPplgs, dtos) {
4764
3377
  const visibleDtos = [];
4765
3378
  visibleRitPplgs.forEach(pplg => {
4766
- dtos.filter(dto => dto.pplgs?.includes(pplg)).forEach(dto => {
3379
+ dtos.filter(dto => dto.pplgs.includes(pplg)).forEach(dto => {
4767
3380
  if (!visibleDtos.includes(dto)) {
4768
3381
  visibleDtos.push(dto);
4769
3382
  }
@@ -4773,13 +3386,13 @@ class LaadSignaleringsbeeldenEffect {
4773
3386
  dtos.filter(d => !visibleDtos.includes(d)).forEach(d => d.metVisualisatie = false);
4774
3387
  return visibleDtos;
4775
3388
  }
4776
- distinct(value, index, values) {
4777
- return values.indexOf(value) === index;
3389
+ distinct(value, index, self) {
3390
+ return self.indexOf(value) === index;
4778
3391
  }
4779
3392
  addPrevNonVisibleDto(firstIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
4780
3393
  if (firstIdx >= 0) {
4781
3394
  const pplg = ritdelen[firstIdx].getPplg();
4782
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3395
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4783
3396
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
4784
3397
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
4785
3398
  d.metVisualisatie = false;
@@ -4794,7 +3407,7 @@ class LaadSignaleringsbeeldenEffect {
4794
3407
  addNextNonVisibleDto(lastIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
4795
3408
  if (lastIdx <= ritdelen.length - 1) {
4796
3409
  const pplg = ritdelen[lastIdx].getPplg();
4797
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3410
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4798
3411
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
4799
3412
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
4800
3413
  d.metVisualisatie = false;
@@ -4863,7 +3476,7 @@ class LaadSignaleringsbeeldenEffect {
4863
3476
  }
4864
3477
  }
4865
3478
  }
4866
- this.updateZichtbaarheidAangrenzendeRitdelen(min, max, ritdelen, visibleDtos);
3479
+ this.updateZichtbaarheidAangrezendeRitdelen(min, max, ritdelen, visibleDtos);
4867
3480
  return this.updateZichtbaarheidBuitenWindow(ritdelen, visibleDtos);
4868
3481
  }
4869
3482
  updateZichtbaarheidBuitenWindow(nieuweRitdelen, visibleDtos) {
@@ -4879,7 +3492,7 @@ class LaadSignaleringsbeeldenEffect {
4879
3492
  }
4880
3493
  return nieuweRitdelen;
4881
3494
  }
4882
- updateZichtbaarheidAangrenzendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
3495
+ updateZichtbaarheidAangrezendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
4883
3496
  let i = min - 1;
4884
3497
  while (i >= 0) {
4885
3498
  i = this.updateZichtbaarHeid(i, 0, visibleDtos, nieuweRitdelen) - 1;
@@ -4915,11 +3528,9 @@ class LaadSignaleringsbeeldenEffect {
4915
3528
  }
4916
3529
  bevatGevisualiseerdePplg(visibleDtos, pplg) {
4917
3530
  for (const dto of visibleDtos) {
4918
- if (dto.pplgs) {
4919
- for (const dtopplg of dto.pplgs) {
4920
- if (dtopplg === pplg) {
4921
- return true;
4922
- }
3531
+ for (const dtopplg of dto.pplgs) {
3532
+ if (dtopplg === pplg) {
3533
+ return true;
4923
3534
  }
4924
3535
  }
4925
3536
  }
@@ -4969,7 +3580,7 @@ class LaadSignaleringsbeeldenEffect {
4969
3580
  pplgsWindow.push(itemPplg);
4970
3581
  }
4971
3582
  const pplgDtos = [];
4972
- dtos.filter(dto => dto.pplgs?.includes(itemPplg)).forEach(dto => {
3583
+ dtos.filter(dto => dto.pplgs.includes(itemPplg)).forEach(dto => {
4973
3584
  if (!pplgDtos.includes(dto)) {
4974
3585
  pplgDtos.push(dto);
4975
3586
  }
@@ -4994,10 +3605,10 @@ class LaadSignaleringsbeeldenEffect {
4994
3605
  }
4995
3606
  return -1;
4996
3607
  }
4997
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LaadSignaleringsbeeldenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: EditorService }, { token: SignaleringsbeeldInfoResource }, { token: ConnectorService }, { token: MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
4998
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LaadSignaleringsbeeldenEffect }); }
3608
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadSignaleringsbeeldenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: EditorService }, { token: SignaleringsbeeldInfoResource }, { token: ConnectorService }, { token: MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3609
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadSignaleringsbeeldenEffect }); }
4999
3610
  }
5000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: LaadSignaleringsbeeldenEffect, decorators: [{
3611
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LaadSignaleringsbeeldenEffect, decorators: [{
5001
3612
  type: Injectable
5002
3613
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: EditorService }, { type: SignaleringsbeeldInfoResource }, { type: ConnectorService }, { type: MessagesService }] });
5003
3614
 
@@ -5008,19 +3619,19 @@ class RitGoedkeurenEffect {
5008
3619
  this.bewegingVerrijker = bewegingVerrijker;
5009
3620
  this.keurAllesGoed$ = createEffect(() => this.actions$.pipe(ofType(KeurAlleActiesGoed), withLatestFrom(this.store), switchMap(([action, _store]) => from(this.bewegingVerrijker.getBewegingen(action.bewegingen, action.ongeplandeActies))), map((bewegingen) => UpdateRit(bewegingen))));
5010
3621
  }
5011
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitGoedkeurenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: BewegingVerrijkerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5012
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitGoedkeurenEffect }); }
3622
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitGoedkeurenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: BewegingVerrijkerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3623
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitGoedkeurenEffect }); }
5013
3624
  }
5014
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitGoedkeurenEffect, decorators: [{
3625
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitGoedkeurenEffect, decorators: [{
5015
3626
  type: Injectable
5016
3627
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: BewegingVerrijkerService }] });
5017
3628
 
5018
3629
  class RitdelenEffect {
5019
- constructor(actions$, store, sbmService, editorService) {
3630
+ constructor(actions$, store, sbmService, rijwegPlanEditorService) {
5020
3631
  this.actions$ = actions$;
5021
3632
  this.store = store;
5022
3633
  this.sbmService = sbmService;
5023
- this.editorService = editorService;
3634
+ this.rijwegPlanEditorService = rijwegPlanEditorService;
5024
3635
  this.updateRitDelen$ = createEffect(() => this.actions$.pipe(ofType(updateRitDelen), withLatestFrom(this.store), map(([actie, _storeState]) => {
5025
3636
  const nieuweRitDelen = actie.ritDelen.map(ritDeel => ritDeel.isZichtbaar() ?
5026
3637
  ritDeel.copyMetAlternatieveRoutes(this.sbmService.bepaalAlternativeRoutes(ritDeel.getRijweg())) : ritDeel);
@@ -5038,25 +3649,25 @@ class RitdelenEffect {
5038
3649
  return setRitdelenAfterUpdate(ritDelen);
5039
3650
  })));
5040
3651
  this.ritdeelInvoegen$ = createEffect(() => this.actions$.pipe(ofType(ritdeelInvoegen), withLatestFrom(this.store), map(([actie, storeState]) => {
5041
- const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute);
3652
+ const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute, this.rijwegPlanEditorService, this.sbmService);
5042
3653
  return setRitdelenAfterUpdate(ritDelen);
5043
3654
  })));
5044
3655
  }
5045
- ritdeelInvoegenFunc(ritDelen, nieuweRoute) {
3656
+ ritdeelInvoegenFunc(ritDelen, nieuweRoute, rijwegPlanEditorService, sbmService) {
5046
3657
  const origineelRitdeel = nieuweRoute.beginSeinOpRitdeel.ritdeel;
5047
3658
  const beginSein = nieuweRoute.beginSeinOpRitdeel.sein;
5048
- const rijwegplan = this.editorService.getRijwegplan(beginSein.getPPLG());
3659
+ const rijwegplan = rijwegPlanEditorService.getRijwegplan(beginSein.getPPLG());
5049
3660
  const dwangen = JsJavaUtil.listToArray(rijwegplan.getOnderliggendeDwangenTotEnVanSein(origineelRitdeel.getDwang(), beginSein));
5050
3661
  const isSamengesteldeRoute = dwangen[0] && dwangen[1];
5051
3662
  let newRitdeel1 = origineelRitdeel;
5052
3663
  if (isSamengesteldeRoute) {
5053
- newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen);
3664
+ newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen);
5054
3665
  }
5055
- if (nieuweRoute.combinatieVoorEindsein?.isVrijeBaanRijweg()) {
5056
- this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute);
3666
+ if (nieuweRoute.combinatieVoorEindsein.isVrijeBaanRijweg()) {
3667
+ this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService);
5057
3668
  }
5058
3669
  else {
5059
- this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen);
3670
+ this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen);
5060
3671
  }
5061
3672
  if (isSamengesteldeRoute) {
5062
3673
  ritDelen.splice(ritDelen.indexOf(origineelRitdeel), 1);
@@ -5071,103 +3682,74 @@ class RitdelenEffect {
5071
3682
  }
5072
3683
  }
5073
3684
  }
5074
- verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen) {
3685
+ verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen) {
5075
3686
  // dwangen in 2 nieuwe ritdelen verwerken voor de knip
5076
3687
  const nieuweRijweg1 = rijwegplan.getRijwegVoorSeinen(dwangen[0].getRoute().getBeginSein(), dwangen[0].getRoute().getEindSein());
5077
3688
  const dwangInfo1 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg1, dwangen[0]);
5078
- const newRitdeel1 = new Ritdeel(dwangInfo1, [], undefined, undefined, undefined, []);
3689
+ const newRitdeel1 = new Ritdeel(dwangInfo1, [], null, null, null, []);
5079
3690
  // remove vrijbaan info uit ritdeel
5080
- newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = undefined;
5081
- newRitdeel1.vervolgSpoor = undefined;
5082
- newRitdeel1.bepaalTopologieElementen(this.sbmService);
3691
+ newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = null;
3692
+ newRitdeel1.vervolgSpoor = null;
3693
+ newRitdeel1.bepaalTopologieElementen(sbmService);
5083
3694
  this.insertRitdeel(ritDelen, origineelRitdeel, newRitdeel1);
5084
3695
  const nieuweRijweg2 = rijwegplan.getRijwegVoorSeinen(dwangen[1].getRoute().getBeginSein(), dwangen[1].getRoute().getEindSein());
5085
3696
  const dwangInfo2 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg2, dwangen[1]);
5086
- const newRitdeel2 = new Ritdeel(dwangInfo2, [], undefined, undefined, undefined, []);
5087
- newRitdeel2.bepaalTopologieElementen(this.sbmService);
3697
+ const newRitdeel2 = new Ritdeel(dwangInfo2, [], null, null, null, []);
3698
+ newRitdeel2.bepaalTopologieElementen(sbmService);
5088
3699
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel2);
5089
3700
  return newRitdeel1;
5090
3701
  }
5091
- extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute) {
3702
+ extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService) {
5092
3703
  newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = nieuweRoute.combinatieVoorEindsein;
5093
- const vbrwp = nieuweRoute.combinatieVoorEindsein?.rijwegplan;
5094
- newRitdeel1.vervolgSpoor = nieuweRoute.combinatieVoorEindsein ?
5095
- vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein?.rijweg) : undefined;
5096
- newRitdeel1.bepaalTopologieElementen(this.sbmService);
3704
+ const vbrwp = nieuweRoute.combinatieVoorEindsein.rijwegplan;
3705
+ newRitdeel1.vervolgSpoor = vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein.rijweg);
3706
+ newRitdeel1.bepaalTopologieElementen(sbmService);
5097
3707
  }
5098
- maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen) {
3708
+ maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen) {
5099
3709
  let newRitdeel = this.createRitdeel(nieuweRoute);
5100
- const altRoutes = this.sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
3710
+ const altRoutes = sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
5101
3711
  newRitdeel = newRitdeel.copyMetAlternatieveRoutes(altRoutes);
5102
- newRitdeel.bepaalTopologieElementen(this.sbmService);
3712
+ newRitdeel.bepaalTopologieElementen(sbmService);
5103
3713
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel);
5104
3714
  }
5105
3715
  createRitdeel(nieuweRoute) {
5106
- return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], undefined, undefined, undefined, []);
3716
+ return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], null, null, null, []);
5107
3717
  }
5108
3718
  insertRitdeel(ritdelen, naRitdeelPositie, newRitdeel) {
5109
3719
  const idx = ritdelen.indexOf(naRitdeelPositie);
5110
3720
  ritdelen.splice(idx + 1, 0, newRitdeel);
5111
3721
  }
5112
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5113
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenEffect }); }
3722
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3723
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenEffect }); }
5114
3724
  }
5115
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RitdelenEffect, decorators: [{
3725
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitdelenEffect, decorators: [{
5116
3726
  type: Injectable
5117
3727
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: EditorService }] });
5118
3728
 
5119
3729
  class SvgViewEffect {
5120
- constructor(actions$, store, sbSvgUtilService, svgService) {
3730
+ constructor(actions$, store, signaleringsBeeldManagerService, sbSvgUtilService) {
5121
3731
  this.actions$ = actions$;
5122
3732
  this.store = store;
3733
+ this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
5123
3734
  this.sbSvgUtilService = sbSvgUtilService;
5124
- this.svgService = svgService;
5125
- this.updateSvgView$ = createEffect(() => this.actions$.pipe(ofType(SetSvgInfos), withLatestFrom(this.store), switchMap(([_actie, storeState]) => this.svgService.getSvgInfo(storeState.iaVersie.versie, storeState.signaleringsbeeldInfoDtos)), map((svgInfo) => {
3735
+ this.updateSvgView$ = createEffect(() => this.actions$.pipe(ofType(SetSvgInfos), map((_actie) => {
5126
3736
  setTimeout(() => {
5127
- console.log('SVG INFO RECEIVED, updating SVG view');
5128
- const svgTopology = svgInfo.topology;
5129
- if (!svgTopology) {
5130
- return;
5131
- }
5132
3737
  this.sbSvgUtilService.addSvgDefs();
5133
3738
  const wisselEnStoringskaderPuicMap = new Map();
5134
- svgTopology.alleSoortenWissels
5135
- ?.forEach(wissel => wisselEnStoringskaderPuicMap.set(wissel.puic, wissel.storingSymboolPuic));
3739
+ this.signaleringsBeeldManagerService.getAlleSoortenWissels()
3740
+ .forEach(wissel => wisselEnStoringskaderPuicMap.set(wissel.getPuic(), wissel.getStoringSymboolPuic()));
5136
3741
  this.sbSvgUtilService.zetClassOpStoringSymbolenMetMap(wisselEnStoringskaderPuicMap);
5137
- this.sbSvgUtilService.zetClassOpSpoornummers(svgTopology.puicVoorSpoorNummers ?? []);
3742
+ this.sbSvgUtilService.zetClassOpSpoornummers(this.signaleringsBeeldManagerService.getPuicsVoorSpoornummers());
5138
3743
  this.sbSvgUtilService.maakOngewensteElementenOnzichtbaar();
5139
3744
  this.sbSvgUtilService.zetClassOpLangeText();
5140
- const seinen = svgTopology.seinen?.map(this.toSbSein) ?? [];
5141
- this.sbSvgUtilService.maakOngewensteSeindelenOnzichtbaar(seinen);
5142
- this.sbSvgUtilService.maakSignaleringsElementenOnzichtbaar(svgTopology.signaleringsElementen
5143
- ?.map(signaleringsElement => this.toSbSignaleringsElement(signaleringsElement)) ?? []);
5144
- const puicsVoorRanden = svgTopology.puicVoorRanden ?? [];
3745
+ this.sbSvgUtilService.maakOngewensteSeindelenOnzichtbaar(this.signaleringsBeeldManagerService.getSeinen());
3746
+ this.sbSvgUtilService.maakSignaleringsElementenOnzichtbaar(this.signaleringsBeeldManagerService.getSignaleringsElementen());
3747
+ const puicsVoorRanden = this.signaleringsBeeldManagerService.getPuicsVoorRanden();
5145
3748
  this.zetClassOpRanden(puicsVoorRanden);
5146
- this.sbSvgUtilService.zetClassOpRijrichtingen(seinen);
3749
+ this.sbSvgUtilService.zetClassOpRijrichtingen(this.signaleringsBeeldManagerService.getSeinen());
5147
3750
  this.store.dispatch(SetConnectorenClickableIds(puicsVoorRanden));
5148
- this.store.dispatch(svgUpdateFinished());
5149
3751
  }, 0);
5150
3752
  })), { dispatch: false });
5151
- this.updateSelectieInfos$ = createEffect(() => this.actions$.pipe(ofType(svgUpdateFinished), switchMap(() => combineLatest([
5152
- this.store.select('ritSelectieIds'),
5153
- this.store.select('actieOpRitSelectieIds'),
5154
- this.store.select('ongeplandeActieSelectieIds'),
5155
- this.store.select('gebrokenRitSelectieIds'),
5156
- this.store.select('alternatievenSelectieIds'),
5157
- this.store.select('beginSeinSelectieIds'),
5158
- this.store.select('eindSeinSelectieIds')
5159
- ]).pipe(map(([rit, actieOpRitSelectieIds, ongeplandeActieSelectieIds, gebrokenRit, alternatieven, begin, eind]) => {
5160
- return setSelectieInfos([
5161
- new SelectieInfo(rit, 'rit'),
5162
- new SelectieInfo(actieOpRitSelectieIds, 'actieoprit'),
5163
- new SelectieInfo(ongeplandeActieSelectieIds, 'ongeplandeActie'),
5164
- new SelectieInfo(gebrokenRit, 'gebrokenrit'),
5165
- new SelectieInfo(alternatieven, 'alternatieveRoute'),
5166
- new SelectieInfo(begin, 'zigzagVan'),
5167
- new SelectieInfo(eind, 'zigzagNaar')
5168
- ]);
5169
- })))));
5170
- this.store.select('baseUrl').pipe(filter(baseUrl => !!baseUrl), take(1), tap(baseUrl => svgService.configuration.basePath = baseUrl + '/mst')).subscribe();
5171
3753
  }
5172
3754
  zetClassOpRanden(puics) {
5173
3755
  puics.forEach(element => {
@@ -5175,35 +3757,12 @@ class SvgViewEffect {
5175
3757
  rand?.classList.add('connector');
5176
3758
  });
5177
3759
  }
5178
- toSbSein(sein) {
5179
- return {
5180
- getPuic: () => sein.puic,
5181
- isBediend: () => sein.bediend,
5182
- getType: () => sein.type
5183
- };
5184
- }
5185
- toSbSignaleringsElement(signaleringsElement) {
5186
- return {
5187
- getPuic: () => signaleringsElement.puic
5188
- };
5189
- }
5190
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgViewEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: i3.SignaleringsbeeldSvgUtilityService }, { token: SvgControllerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
5191
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgViewEffect }); }
3760
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgViewEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: SignaleringsBeeldManagerService }, { token: i4.SignaleringsbeeldSvgUtilityService }], target: i0.ɵɵFactoryTarget.Injectable }); }
3761
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgViewEffect }); }
5192
3762
  }
5193
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: SvgViewEffect, decorators: [{
3763
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgViewEffect, decorators: [{
5194
3764
  type: Injectable
5195
- }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: i3.SignaleringsbeeldSvgUtilityService }, { type: SvgControllerService }] });
5196
-
5197
- class ProgressIndicator {
5198
- constructor(lowerText, upperText, iconClass) {
5199
- this.lowerText = '';
5200
- this.upperText = '';
5201
- this.iconClass = '';
5202
- this.lowerText = lowerText ?? this.lowerText;
5203
- this.upperText = upperText ?? this.upperText;
5204
- this.iconClass = iconClass ?? this.iconClass;
5205
- }
5206
- }
3765
+ }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: i4.SignaleringsbeeldSvgUtilityService }] });
5207
3766
 
5208
3767
  class NieuweRoute {
5209
3768
  constructor(beginSeinOpRitdeel, combinatieVoorEindsein) {
@@ -5211,7 +3770,7 @@ class NieuweRoute {
5211
3770
  this.combinatieVoorEindsein = combinatieVoorEindsein;
5212
3771
  }
5213
3772
  isValid() {
5214
- return !!this.combinatieVoorEindsein;
3773
+ return this.combinatieVoorEindsein !== null;
5215
3774
  }
5216
3775
  }
5217
3776
 
@@ -5277,11 +3836,10 @@ function addRitdeelActieFunc(ritDelen, { ritDeel, actie }) {
5277
3836
  const onIdsActionHandler = (action) => on(action, (_, { ids }) => ids);
5278
3837
  const createIdsReducer = (action) => createReducer([], onIdsActionHandler(action));
5279
3838
  const editableReducer = createReducer(true, on(setEditable, (_, { editable }) => editable));
5280
- const progressIndicatorReducer = createReducer({}, on(ShowProgress, () => ({ progressIndicator: new ProgressIndicator() })), on(ClearProgress, () => ({})));
3839
+ const progressIndicatorReducer = createReducer(undefined, on(ShowProgress, () => ({ progressIndicator: {} })), on(ClearProgress, () => undefined));
5281
3840
  const svgInfoReducer = createReducer([], on(SetSvgInfos, (_, { svgInfos }) => svgInfos));
5282
3841
  const debugReducer = createReducer(false, on(SetDebug, (_, { debug }) => debug));
5283
3842
  const ritSelectieIdsReducer = createIdsReducer(SetRitSelectieIds);
5284
- const selectieInfosReducer = createReducer([], on(setSelectieInfos, (_, { selectieInfos }) => selectieInfos));
5285
3843
  const actieOpRitReducer = createReducer(new ArrayMultimap(), on(SetGeplandeActies, (_, { geplandeActiesMap }) => geplandeActiesMap), on(AddGeplandeActie, (geplandeActies, { actie, puics }) => {
5286
3844
  geplandeActies.putAll(actie, puics);
5287
3845
  return new ArrayMultimap(geplandeActies);
@@ -5304,10 +3862,12 @@ const ongeplandeActieReducer = createReducer(new ArrayMultimap(), on(SetOngeplan
5304
3862
  ongeplandeActie.puics.forEach(puic => ongeplandeActies.delete(puic, ongeplandeActie));
5305
3863
  return new ArrayMultimap(ongeplandeActies);
5306
3864
  }));
5307
- const ongeplandeActieSelectieIdsReducer = createReducer([], onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
3865
+ const ongeplandeActieSelectieIdsReducer = createReducer([],
3866
+ // on(MstActions.SetOngeplandeActieSelectieIds, (_, { ids }) => ids),
3867
+ onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
5308
3868
  ongeplandeActie.puics.filter(puic => !ids.includes(puic)).forEach(puic => ids.push(puic));
5309
3869
  return [...ids];
5310
- }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => ids.includes(id) ? ids.filter(_id => _id !== id) : ids));
3870
+ }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => [].concat(ids.includes(id) ? ids.filter(_id => _id !== id) : ids)));
5311
3871
  const gebrokenRitSelectieIdsReducer = createIdsReducer(SetGebrokenRitSelectieIds);
5312
3872
  const alternatievenSelectieIdsReducer = createIdsReducer(SetAlternatievenSelectieIds);
5313
3873
  const beginSeinSelectieIdsReducer = createIdsReducer(SetBeginSeinSelectieIds);
@@ -5316,15 +3876,16 @@ const alternatievenClickableIdsReducer = createIdsReducer(SetAlternatievenClicka
5316
3876
  const eindSeinenClickableIdsReducer = createIdsReducer(SetEindSeinenClickableIds);
5317
3877
  const connectorClickableIdsReducer = createIdsReducer(SetConnectorenClickableIds);
5318
3878
  const beginSeinRightClickableIdsReducer = createIdsReducer(SetBeginSeinRightClickableIds);
5319
- const nieuweRouteReducer = createReducer(undefined, on(SetNieuwRouteBeginSein, (_, { startSeinOpRitdeel }) => new NieuweRoute(startSeinOpRitdeel, undefined)), on(SetNieuwRouteEindSein, (nieuweRoute, { combinatieVoorEindsein }) => nieuweRoute ? new NieuweRoute(nieuweRoute.beginSeinOpRitdeel, combinatieVoorEindsein) : undefined), on(ResetNieuweRoute, () => undefined));
3879
+ const nieuweRouteReducer = createReducer(new NieuweRoute(null, null), on(SetNieuwRouteBeginSein, (_, { startSeinOpRitdeel }) => new NieuweRoute(startSeinOpRitdeel, null)), on(SetNieuwRouteEindSein, (nieuweRoute, { combinatieVoorEindsein }) => new NieuweRoute(nieuweRoute.beginSeinOpRitdeel, combinatieVoorEindsein)), on(ResetNieuweRoute, () => new NieuweRoute(null, null)));
5320
3880
  const signaleringsbeeldInfoDtosReducer = createReducer([], on(SetSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
5321
3881
  const visibleSbInfoDtosReducer = createReducer([], on(SetVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
5322
- const iaVersieReducer = createReducer({ versie: 'unknown', ingangsDatum: new Date() }, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
5323
- const algemeneRitInfoDtoReducer = createReducer({}, on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
3882
+ const iaVersieReducer = createReducer({}, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
3883
+ const algemeneRitInfoDtoReducer = createReducer(new AlgemeneRitInfoDto(), on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
5324
3884
  const ongeplandeActiesBepaaldReducer = createReducer(false, on(SetOngeplandeActiesBepaald, (_, { bepaald }) => bepaald));
5325
- const nieuweBewegingReducer = createReducer([], on(UpdateRit, (_, { bewegingen }) => bewegingen));
5326
- const baseUrlReducer = createReducer('', on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
5327
- const focusIdsReducer = createReducer([], on(focusOpIds, (_, { puics }) => puics));
3885
+ const nieuweBewegingReducer = createReducer({}, on(UpdateRit, (_, { bewegingen }) => bewegingen));
3886
+ const baseUrlReducer = createReducer(undefined, on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
3887
+ const focusIdsReducer = createReducer({}, on(focusOpIds, (_, { puics }) => puics));
3888
+ const selectedRitdeelIdReducer = createReducer({}, on(SetSelectedRitdeel, (_, { id }) => id));
5328
3889
  const storeReducers = {
5329
3890
  ritDelen: ritdelenReducer,
5330
3891
  ritSelectieIds: ritSelectieIdsReducer,
@@ -5353,10 +3914,9 @@ const storeReducers = {
5353
3914
  nieuweBewegingen: nieuweBewegingReducer,
5354
3915
  baseUrl: baseUrlReducer,
5355
3916
  focusIds: focusIdsReducer,
5356
- selectieInfos: selectieInfosReducer
3917
+ selectedRitdeelId: selectedRitdeelIdReducer
5357
3918
  };
5358
3919
 
5359
- // @ts-nocheck
5360
3920
  class ZoneUtil {
5361
3921
  constructor(ngZone) {
5362
3922
  this.ngZone = ngZone;
@@ -5380,10 +3940,10 @@ class ZoneUtil {
5380
3940
  proxy(target) {
5381
3941
  return new Proxy(target, this.zoneHandler);
5382
3942
  }
5383
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ZoneUtil, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
5384
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ZoneUtil }); }
3943
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ZoneUtil, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Injectable }); }
3944
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ZoneUtil }); }
5385
3945
  }
5386
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: ZoneUtil, decorators: [{
3946
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ZoneUtil, decorators: [{
5387
3947
  type: Injectable
5388
3948
  }], ctorParameters: () => [{ type: i0.NgZone }] });
5389
3949
 
@@ -5419,13 +3979,12 @@ class MstViewerModule {
5419
3979
  constructor(service, zoneUtil) {
5420
3980
  this.service = service;
5421
3981
  // maak de EditorService toegankelijk voor GWT code
5422
- // @ts-ignore
5423
3982
  window['rpe'] = {
5424
3983
  EditorService: zoneUtil.proxy(service)
5425
3984
  };
5426
3985
  }
5427
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstViewerModule, deps: [{ token: EditorService }, { token: ZoneUtil }], target: i0.ɵɵFactoryTarget.NgModule }); }
5428
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.14", ngImport: i0, type: MstViewerModule, declarations: [MessageComponent,
3986
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, deps: [{ token: EditorService }, { token: ZoneUtil }], target: i0.ɵɵFactoryTarget.NgModule }); }
3987
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, declarations: [MessageComponent,
5429
3988
  MstviewerComponent,
5430
3989
  OverlayComponent,
5431
3990
  ProgressIndicatorComponent,
@@ -5437,8 +3996,8 @@ class MstViewerModule {
5437
3996
  SvgVisualisatieComponent,
5438
3997
  MessagesComponent], imports: [CommonModule,
5439
3998
  ImxViewerModule,
5440
- RijwegenModule, i1$1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
5441
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstViewerModule, providers: [
3999
+ RijwegenModule, i1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
4000
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, providers: [
5442
4001
  ZoneUtil,
5443
4002
  SignaleringsbeeldInfoResource,
5444
4003
  MstLoggingResource,
@@ -5451,7 +4010,7 @@ class MstViewerModule {
5451
4010
  BewegingVerrijkerService
5452
4011
  ], imports: [imports] }); }
5453
4012
  }
5454
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: MstViewerModule, decorators: [{
4013
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, decorators: [{
5455
4014
  type: NgModule,
5456
4015
  args: [{
5457
4016
  imports,