@loxia/mst-viewer 8.1.3-202511202206 → 8.1.3-202511211033

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 (196) hide show
  1. package/esm2022/generated/openapi/api/api.mjs +23 -0
  2. package/esm2022/generated/openapi/api/appConfigController.service.mjs +140 -0
  3. package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +2 -0
  4. package/esm2022/generated/openapi/api/bewegingController.service.mjs +155 -0
  5. package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +2 -0
  6. package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +140 -0
  7. package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +2 -0
  8. package/esm2022/generated/openapi/api/connectorController.service.mjs +146 -0
  9. package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +2 -0
  10. package/esm2022/generated/openapi/api/logController.service.mjs +150 -0
  11. package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +2 -0
  12. package/esm2022/generated/openapi/api/p21Controller.service.mjs +236 -0
  13. package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +2 -0
  14. package/esm2022/generated/openapi/api/sbController.service.mjs +203 -0
  15. package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +2 -0
  16. package/esm2022/generated/openapi/api.module.mjs +40 -0
  17. package/esm2022/generated/openapi/configuration.mjs +99 -0
  18. package/esm2022/generated/openapi/encoder.mjs +19 -0
  19. package/esm2022/generated/openapi/index.mjs +7 -0
  20. package/esm2022/generated/openapi/model/actieDto.mjs +13 -0
  21. package/esm2022/generated/openapi/model/algemeneRitDto.mjs +13 -0
  22. package/esm2022/generated/openapi/model/bewegingDto.mjs +2 -0
  23. package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +13 -0
  24. package/esm2022/generated/openapi/model/frontendProperties.mjs +2 -0
  25. package/esm2022/generated/openapi/model/logDto.mjs +2 -0
  26. package/esm2022/generated/openapi/model/models.mjs +9 -0
  27. package/esm2022/generated/openapi/model/ritRequestDto.mjs +2 -0
  28. package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +13 -0
  29. package/esm2022/generated/openapi/param.mjs +2 -0
  30. package/esm2022/generated/openapi/variables.mjs +9 -0
  31. package/esm2022/lib/atomic-components/message/message.component.mjs +3 -3
  32. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.entity.mjs +7 -4
  33. package/esm2022/lib/components/carousel-controls/carousel-controls.component.mjs +5 -6
  34. package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +13 -7
  35. package/esm2022/lib/components/ritdelen-lijst/ritdelen-lijst.component.mjs +18 -12
  36. package/esm2022/lib/components/rpe/rpe.component.mjs +6 -2
  37. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +8 -7
  38. package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +16 -13
  39. package/esm2022/lib/model/km-range.mjs +2 -2
  40. package/esm2022/lib/model/nieuwe-route.mjs +2 -2
  41. package/esm2022/lib/model/ritdeel.mjs +10 -10
  42. package/esm2022/lib/mst-viewer.module.mjs +6 -5
  43. package/esm2022/lib/resources/mstlogging.resource.mjs +12 -145
  44. package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +16 -12
  45. package/esm2022/lib/services/base-rest.service.mjs +3 -1
  46. package/esm2022/lib/services/beweging-utils.service.mjs +6 -6
  47. package/esm2022/lib/services/debug.service.mjs +3 -3
  48. package/esm2022/lib/services/editor.service.mjs +3 -1
  49. package/esm2022/lib/services/print-beweging.service.mjs +23 -20
  50. package/esm2022/lib/services/rit-lezer.service.mjs +4 -4
  51. package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +1 -1
  52. package/esm2022/lib/services/viewer-control.service.mjs +10 -9
  53. package/esm2022/lib/state/actions/actions.mjs +2 -5
  54. package/esm2022/lib/state/actions/ritdelen.actions.mjs +4 -4
  55. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +8 -7
  56. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +2 -2
  57. package/esm2022/lib/state/effect/beweging-invoegen.effect.mjs +1 -1
  58. package/esm2022/lib/state/effect/delete-ongeplande-actie.effect.mjs +1 -1
  59. package/esm2022/lib/state/effect/focus-effect.mjs +2 -2
  60. package/esm2022/lib/state/effect/laad-route-files.effect.mjs +8 -8
  61. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +25 -27
  62. package/esm2022/lib/state/effect/ritdelen.effect.mjs +26 -25
  63. package/esm2022/lib/state/mst-editor-state.mjs +11 -15
  64. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +1 -1
  65. package/esm2022/lib/util/actie-helper.mjs +29 -25
  66. package/esm2022/lib/util/actie-popover-bepaler.mjs +2 -2
  67. package/esm2022/lib/util/logging-helper.mjs +36 -41
  68. package/esm2022/lib/util/multi-map.mjs +2 -3
  69. package/esm2022/lib/util/utils.mjs +5 -5
  70. package/esm2022/lib/util/zone-util.mjs +2 -1
  71. package/esm2022/src/generated/openapi/api/api.mjs +23 -0
  72. package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +140 -0
  73. package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +2 -0
  74. package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +155 -0
  75. package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +2 -0
  76. package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +140 -0
  77. package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +2 -0
  78. package/esm2022/src/generated/openapi/api/connectorController.service.mjs +146 -0
  79. package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +2 -0
  80. package/esm2022/src/generated/openapi/api/logController.service.mjs +150 -0
  81. package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +2 -0
  82. package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +236 -0
  83. package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +2 -0
  84. package/esm2022/src/generated/openapi/api/sbController.service.mjs +203 -0
  85. package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +2 -0
  86. package/esm2022/src/generated/openapi/api.module.mjs +40 -0
  87. package/esm2022/src/generated/openapi/configuration.mjs +99 -0
  88. package/esm2022/src/generated/openapi/encoder.mjs +19 -0
  89. package/esm2022/src/generated/openapi/index.mjs +7 -0
  90. package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +5 -0
  91. package/esm2022/src/generated/openapi/model/actieDto.mjs +13 -0
  92. package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +13 -0
  93. package/esm2022/src/generated/openapi/model/bewegingDto.mjs +2 -0
  94. package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +13 -0
  95. package/esm2022/src/generated/openapi/model/frontendProperties.mjs +2 -0
  96. package/esm2022/src/generated/openapi/model/logDto.mjs +2 -0
  97. package/esm2022/src/generated/openapi/model/models.mjs +9 -0
  98. package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +2 -0
  99. package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +13 -0
  100. package/esm2022/src/generated/openapi/param.mjs +2 -0
  101. package/esm2022/src/generated/openapi/variables.mjs +9 -0
  102. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +1330 -0
  103. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +1 -0
  104. package/fesm2022/loxia-mst-viewer.mjs +1864 -643
  105. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  106. package/generated/openapi/api/api.d.ts +22 -0
  107. package/generated/openapi/api/appConfigController.service.d.ts +38 -0
  108. package/generated/openapi/api/appConfigController.serviceInterface.d.ts +24 -0
  109. package/generated/openapi/api/bewegingController.service.d.ts +40 -0
  110. package/generated/openapi/api/bewegingController.serviceInterface.d.ts +27 -0
  111. package/generated/openapi/api/class0BuildProperties.service.d.ts +36 -0
  112. package/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +23 -0
  113. package/generated/openapi/api/connectorController.service.d.ts +38 -0
  114. package/generated/openapi/api/connectorController.serviceInterface.d.ts +25 -0
  115. package/generated/openapi/api/logController.service.d.ts +38 -0
  116. package/generated/openapi/api/logController.serviceInterface.d.ts +25 -0
  117. package/generated/openapi/api/p21Controller.service.d.ts +62 -0
  118. package/generated/openapi/api/p21Controller.serviceInterface.d.ts +30 -0
  119. package/generated/openapi/api/sbController.service.d.ts +60 -0
  120. package/generated/openapi/api/sbController.serviceInterface.d.ts +32 -0
  121. package/generated/openapi/api.module.d.ts +11 -0
  122. package/generated/openapi/configuration.d.ts +104 -0
  123. package/generated/openapi/encoder.d.ts +11 -0
  124. package/generated/openapi/index.d.ts +6 -0
  125. package/generated/openapi/model/actieDto.d.ts +35 -0
  126. package/generated/openapi/model/algemeneRitDto.d.ts +20 -0
  127. package/generated/openapi/model/bewegingDto.d.ts +37 -0
  128. package/generated/openapi/model/frontendKeycloakConfig.d.ts +16 -0
  129. package/generated/openapi/model/frontendProperties.d.ts +15 -0
  130. package/generated/openapi/model/logDto.d.ts +22 -0
  131. package/generated/openapi/model/models.d.ts +8 -0
  132. package/generated/openapi/model/ritRequestDto.d.ts +17 -0
  133. package/generated/openapi/model/signaleringsbeeldDto.d.ts +16 -0
  134. package/generated/openapi/param.d.ts +37 -0
  135. package/generated/openapi/variables.d.ts +8 -0
  136. package/lib/atomic-components/message/message.component.d.ts +2 -2
  137. package/lib/atomic-components/progress-indicator/progress-indicator.entity.d.ts +1 -1
  138. package/lib/components/carousel-controls/carousel-controls.component.d.ts +1 -3
  139. package/lib/components/mstviewer/mstviewer.component.d.ts +2 -2
  140. package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +2 -2
  141. package/lib/components/rpe/rpe.component.d.ts +1 -1
  142. package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +1 -1
  143. package/lib/components/viewer-controls/viewer-controls.component.d.ts +3 -4
  144. package/lib/model/km-range.d.ts +1 -1
  145. package/lib/model/nieuwe-route.d.ts +2 -2
  146. package/lib/model/ritdeel.d.ts +11 -10
  147. package/lib/resources/mstlogging.resource.d.ts +6 -95
  148. package/lib/resources/signaleringsbeeldinfo.resource.d.ts +7 -7
  149. package/lib/services/editor.service.d.ts +2 -2
  150. package/lib/services/print-beweging.service.d.ts +4 -6
  151. package/lib/services/rit-lezer.service.d.ts +1 -1
  152. package/lib/services/signalerings-beeld-manager.service.d.ts +2 -2
  153. package/lib/services/viewer-control.service.d.ts +0 -2
  154. package/lib/state/actions/actions.d.ts +17 -24
  155. package/lib/state/actions/ritdelen.actions.d.ts +3 -7
  156. package/lib/state/effect/bepaal-ongeplande-acties.effect.d.ts +2 -1
  157. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +1 -1
  158. package/lib/state/effect/laad-route-files.effect.d.ts +4 -5
  159. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +13 -13
  160. package/lib/state/effect/ritdelen.effect.d.ts +7 -6
  161. package/lib/state/mst-editor-state.d.ts +27 -91
  162. package/lib/util/actie-helper.d.ts +4 -4
  163. package/lib/util/logging-helper.d.ts +5 -6
  164. package/lib/util/utils.d.ts +0 -1
  165. package/package.json +7 -1
  166. package/src/generated/openapi/README.md +226 -0
  167. package/src/generated/openapi/api/api.d.ts +22 -0
  168. package/src/generated/openapi/api/appConfigController.service.d.ts +38 -0
  169. package/src/generated/openapi/api/appConfigController.serviceInterface.d.ts +24 -0
  170. package/src/generated/openapi/api/bewegingController.service.d.ts +40 -0
  171. package/src/generated/openapi/api/bewegingController.serviceInterface.d.ts +27 -0
  172. package/src/generated/openapi/api/class0BuildProperties.service.d.ts +36 -0
  173. package/src/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +23 -0
  174. package/src/generated/openapi/api/connectorController.service.d.ts +38 -0
  175. package/src/generated/openapi/api/connectorController.serviceInterface.d.ts +25 -0
  176. package/src/generated/openapi/api/logController.service.d.ts +38 -0
  177. package/src/generated/openapi/api/logController.serviceInterface.d.ts +25 -0
  178. package/src/generated/openapi/api/p21Controller.service.d.ts +62 -0
  179. package/src/generated/openapi/api/p21Controller.serviceInterface.d.ts +30 -0
  180. package/src/generated/openapi/api/sbController.service.d.ts +60 -0
  181. package/src/generated/openapi/api/sbController.serviceInterface.d.ts +32 -0
  182. package/src/generated/openapi/api.module.d.ts +11 -0
  183. package/src/generated/openapi/configuration.d.ts +104 -0
  184. package/src/generated/openapi/encoder.d.ts +11 -0
  185. package/src/generated/openapi/index.d.ts +6 -0
  186. package/src/generated/openapi/model/actieDto.d.ts +35 -0
  187. package/src/generated/openapi/model/algemeneRitDto.d.ts +20 -0
  188. package/src/generated/openapi/model/bewegingDto.d.ts +37 -0
  189. package/src/generated/openapi/model/frontendKeycloakConfig.d.ts +16 -0
  190. package/src/generated/openapi/model/frontendProperties.d.ts +15 -0
  191. package/src/generated/openapi/model/logDto.d.ts +22 -0
  192. package/src/generated/openapi/model/models.d.ts +8 -0
  193. package/src/generated/openapi/model/ritRequestDto.d.ts +17 -0
  194. package/src/generated/openapi/model/signaleringsbeeldDto.d.ts +16 -0
  195. package/src/generated/openapi/param.d.ts +37 -0
  196. package/src/generated/openapi/variables.d.ts +8 -0
@@ -1,7 +1,7 @@
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, Output, Input, Component, Injectable, ChangeDetectionStrategy, ViewChild, HostListener, NgModule } from '@angular/core';
4
+ import { EventEmitter, Output, Input, Component, Injectable, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, SkipSelf, NgModule, HostListener } from '@angular/core';
5
5
  import * as i7 from '@loxia/imx-viewer';
6
6
  import { SelectieInfo, PopoverInfo, Point, SvgInfo, ImxViewerComponent, ImxViewerModule } from '@loxia/imx-viewer';
7
7
  import * as i4 from '@loxia/rijwegen';
@@ -11,13 +11,13 @@ 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, Subscription, from, combineLatest, of, throwError } from 'rxjs';
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';
15
18
  import { __decorate } from 'tslib';
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';
19
+ import * as i1$1 from '@ngx-resource/core';
20
+ import { Resource, ResourceAction, ResourceParams, ResourceModel } from '@ngx-resource/core';
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.timeout > 0) {
44
+ if (this.message && this.message.timeout > 0) {
45
45
  setTimeout(() => {
46
46
  this.closeMessage({ stopPropagation: () => null });
47
47
  }, this.message.timeout);
@@ -53,7 +53,7 @@ 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
58
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MessageComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
59
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"] }] }); }
@@ -124,6 +124,83 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
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.7", 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.7", 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.7", 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
+
127
204
  const version = '8.1.3-SNAPSHOT';
128
205
 
129
206
  const SET_EDITABLE = '[mst] SetEditable';
@@ -169,7 +246,6 @@ const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignaleringsb
169
246
  const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
170
247
  const FOCUS_OP_IDS = '[mst] focusOpIds';
171
248
  const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
172
- const SET_SELECTED_RITDEEL = '[mst] SetSelectedRitdeel';
173
249
  const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
174
250
  const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
175
251
  const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
@@ -213,7 +289,6 @@ const navigeerBuitenRit = createAction(NAVIGEER_BUITEN_RIT, (randPuic) => ({ ran
213
289
  const focusOpRitdeel = createAction(FOCUS_OP_RITDEEL, (ritdeel, paginationSize, iaVersieInfo) => ({ ritdeel, paginationSize, iaVersieInfo }));
214
290
  const focusOpIds = createAction(FOCUS_OP_IDS, (puics) => ({ puics }));
215
291
  const bepaalSbInfos = createAction(BEPAAL_SB_INFOS, (rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize) => ({ rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize }));
216
- const SetSelectedRitdeel = createAction(SET_SELECTED_RITDEEL, (id) => ({ id }));
217
292
  // do not export return value
218
293
  const mstActions = union({
219
294
  setEditable,
@@ -251,239 +326,9 @@ const mstActions = union({
251
326
  ClearProgress,
252
327
  BewegingInvoegen,
253
328
  KeurAlleActiesGoed,
254
- UpdateRit,
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
329
+ UpdateRit
300
330
  });
301
331
 
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
-
487
332
  /**
488
333
  * https://gist.github.com/jordanluyke/609a4fffb69d1ebafdadd313ee2ee804
489
334
  *
@@ -547,7 +392,7 @@ class ArrayMultimap {
547
392
  return Array.from(new Set(this._entries.map(entry => entry.key)));
548
393
  }
549
394
  values() {
550
- return Utils.flatMap(this._entries, x => x.value);
395
+ return this._entries.reduce((acc, x) => acc.concat(x.value), []);
551
396
  }
552
397
  put(key, value) {
553
398
  this._entries.push(new MultimapEntry(key, value));
@@ -653,6 +498,7 @@ class EditorService {
653
498
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
654
499
  this.initReadyPromise();
655
500
  }
501
+ // Called from GWT only, can be removed when GWT is gone. any is used because it will be removed with GWT
656
502
  setEditor(editor) {
657
503
  this.editor = editor;
658
504
  this.resolveReadyPromise();
@@ -660,6 +506,7 @@ class EditorService {
660
506
  isReady() {
661
507
  return this.promise;
662
508
  }
509
+ // Called from GWT only, can be removed when GWT is gone
663
510
  setSignaleringsBeeldManager(signaleringsBeeldManager) {
664
511
  this.signaleringsBeeldManagerService.set(signaleringsBeeldManager);
665
512
  }
@@ -705,7 +552,7 @@ class BewegingUtils {
705
552
  const retval = [];
706
553
  retval.length = ritDelen.length;
707
554
  const origineleBewegingMap = this.bepaalOrigineleBewegingMap(origineleBewegingen);
708
- let vorigeBeweging = null;
555
+ let vorigeBeweging = undefined;
709
556
  for (let i = 0; i < ritDelen.length; i++) {
710
557
  const ritdeel = ritDelen[i];
711
558
  if (ritdeel.beweging) {
@@ -735,7 +582,7 @@ class BewegingUtils {
735
582
  }
736
583
  static bewegingenZijnGewijzigd(ritDelen, origineleBewegingen) {
737
584
  const ritDelenArray = ritDelen
738
- .filter(r => r.beweging)
585
+ .filter(r => r.beweging?.id)
739
586
  .map(r => r.beweging.id)
740
587
  .sort((a, b) => a - b);
741
588
  const bewegingenIdArray = origineleBewegingen.map(b => b.id).sort((a, b) => a - b);
@@ -751,9 +598,9 @@ class BewegingUtils {
751
598
  return stringToCheck.indexOf(match) !== -1;
752
599
  }
753
600
  static isGewijzigd(ritdeel, nieuwDwangNummer, origineleBewegingenMap) {
754
- const dwangGewijzigd = ritdeel.beweging.dwangNummer !== nieuwDwangNummer;
601
+ const dwangGewijzigd = ritdeel.beweging?.dwangNummer !== nieuwDwangNummer;
755
602
  let gewijzigd = false;
756
- if (ritdeel.beweging.wijzigStatus === this.NORMAAL) {
603
+ if (ritdeel.beweging?.wijzigStatus === this.NORMAAL) {
757
604
  const origineleBewegingActies = origineleBewegingenMap.get(ritdeel.beweging.id);
758
605
  const huidigeActies = this.createSortedActieIdList(ritdeel.acties);
759
606
  gewijzigd = JSON.stringify(huidigeActies) !== JSON.stringify(origineleBewegingActies);
@@ -777,7 +624,7 @@ class BewegingUtils {
777
624
  let naarSeinPplg;
778
625
  let naarSpoor = newRitdeel.getNaarPrlSpoor();
779
626
  if (eindSein.getTypeAlsString() === BewegingUtils.SEIN_TYPE_FICTIEF) {
780
- if (newRitdeel.heeftVrijebaanInfo()) {
627
+ if (newRitdeel.heeftVrijebaanInfo() && newRitdeel.getVrijebaanRijweg()) {
781
628
  const vbEindSein = newRitdeel.getVrijebaanRijweg().getEindSein();
782
629
  naarSeinNaam = vbEindSein.getName();
783
630
  naarSeinPplg = vbEindSein.getPPLG();
@@ -836,6 +683,8 @@ class ViewerControlService {
836
683
  this.printing$ = new BehaviorSubject(false);
837
684
  this.sideNavOpen = false;
838
685
  this.sideNavOpen$ = new BehaviorSubject(this.sideNavOpen);
686
+ this.selectieInfos = [];
687
+ this.origineelTreinPad = {};
839
688
  this.subscriptions.add(combineLatest([
840
689
  store.select('ritSelectieIds'),
841
690
  store.select('actieOpRitSelectieIds'),
@@ -855,19 +704,18 @@ class ViewerControlService {
855
704
  selectie.push(new SelectieInfo(eind, 'zigzagNaar'));
856
705
  this.selectieInfos = selectie;
857
706
  }));
858
- this.subscriptions.add(store.select('ritDelen').subscribe(ritdelen => this.ritdelen = ritdelen));
859
707
  }
860
708
  toggleSideNavVisible() {
861
709
  this.sideNavOpen = !this.sideNavOpen;
862
710
  this.sideNavOpen$.next(this.sideNavOpen);
863
711
  }
864
712
  keurAlleActiesGoed(ongeplandeActies) {
865
- if (this.ritdelen) {
713
+ this.store.select('ritDelen').pipe(take(1), filter(ritdelen => !!ritdelen), tap(ritdelen => {
866
714
  this.store.dispatch(ShowProgress());
867
- const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(this.ritdelen, this.origineelTreinPad.bewegingen);
868
- const alleActies = this.verzamelAlleActies(this.ritdelen, ongeplandeActies);
715
+ const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritdelen, this.origineelTreinPad.bewegingen);
716
+ const alleActies = this.verzamelAlleActies(ritdelen, ongeplandeActies);
869
717
  this.store.dispatch(KeurAlleActiesGoed(this.getBewegingenZonderActies(bewegingen), alleActies));
870
- }
718
+ })).subscribe();
871
719
  }
872
720
  setValideRit(valideRit) {
873
721
  this.valideRit$.next(valideRit);
@@ -889,7 +737,7 @@ class ViewerControlService {
889
737
  }
890
738
  setOrigineelTreinPad(treinpad) {
891
739
  const rit = JSON.parse(JSON.stringify(treinpad));
892
- this.store.dispatch(SetAlgemeneRitInfo(new AlgemeneRitInfoDto({
740
+ this.store.dispatch(SetAlgemeneRitInfo({
893
741
  id: rit.id,
894
742
  jaarplanId: rit.jaarplanId,
895
743
  volgnummer: rit.volgnummer,
@@ -905,7 +753,7 @@ class ViewerControlService {
905
753
  modified: rit.modified,
906
754
  modifiedBy: rit.modifiedBy,
907
755
  planJobId: rit.planJobId
908
- })));
756
+ }));
909
757
  this.origineelTreinPad = rit;
910
758
  }
911
759
  isValideRit$() {
@@ -933,10 +781,10 @@ class DebugService {
933
781
  setDebugFlag(debug) {
934
782
  this.store.dispatch(SetDebug(debug));
935
783
  if (debug) {
936
- document.getElementById('svgContainer').addEventListener('mouseover', this.listener);
784
+ document.getElementById('svgContainer')?.addEventListener('mouseover', this.listener);
937
785
  }
938
786
  else {
939
- document.getElementById('svgContainer').removeEventListener('mouseover', this.listener);
787
+ document.getElementById('svgContainer')?.removeEventListener('mouseover', this.listener);
940
788
  }
941
789
  }
942
790
  debugEventListener() {
@@ -982,229 +830,1605 @@ class PrintBewegingService {
982
830
  this.store = store;
983
831
  this.viewerControlService = viewerControlService;
984
832
  this.sbmService = sbmService;
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);
833
+ }
834
+ printBeweging(bewegingId, paginationSize) {
835
+ return new Promise((resolve, reject) => {
836
+ this.store.select('ritDelen').pipe(take(1), tap(ritdelen => {
837
+ const gevondenRitdeel = ritdelen.filter(r => Number.parseInt(r.getBewegingId(), 10) === bewegingId);
838
+ // hide/show de knoppen
839
+ const printing = !!bewegingId && gevondenRitdeel.length === 1;
840
+ this.viewerControlService.setPrinting(printing);
841
+ if (!printing) {
842
+ reject(new Error('Geen beweging gevonden voor ' + bewegingId));
843
+ return;
844
+ }
845
+ const ritdeel = gevondenRitdeel[0];
846
+ if (ritdeel.isNietBeschikbaar()) {
847
+ this.store.dispatch(navigeerVanaf(paginationSize, ritdeel));
848
+ this.store.dispatch(ShowProgress());
849
+ setTimeout(() => this.focusOpBeweging(ritdeel, resolve), 1000);
850
+ }
851
+ else {
852
+ this.focusOpBeweging(ritdeel, resolve);
853
+ }
854
+ })).subscribe();
855
+ });
856
+ }
857
+ focusOpBeweging(ritdeel, resolve) {
858
+ // deselecteer alles
859
+ this.store.dispatch(setZichtbaarheidAlleRitdelen(false));
860
+ // enable ritacties (checkbox) voor alle ritdelen met beweging die matched met bewegingId(s)
861
+ this.store.dispatch(toggleZichtbaarheidVoorBewegingen([parseInt(ritdeel.getBewegingId(), 10)]));
862
+ setTimeout(() => {
863
+ // dit neemt niet de vrijebaan elementen mee
864
+ const topoElementen = this.sbmService.bepaalRouteElementen(ritdeel.getRoute());
865
+ const dwangPuics = this.getPuics(topoElementen);
866
+ this.store.dispatch(focusOpIds(dwangPuics));
867
+ setTimeout(() => {
868
+ // resolve de promise, om aan te geven dat focus klaar is
869
+ resolve(true);
870
+ this.viewerControlService.setPrinting(false);
871
+ this.store.dispatch(ClearProgress());
872
+ }, 1000);
873
+ });
874
+ }
875
+ getPuics(topoElementen) {
876
+ return topoElementen.map(e => e.getPuic());
877
+ }
878
+ 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 }); }
879
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, providedIn: 'root' }); }
880
+ }
881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, decorators: [{
882
+ type: Injectable,
883
+ args: [{
884
+ providedIn: 'root'
885
+ }]
886
+ }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: SignaleringsBeeldManagerService }] });
887
+
888
+ class RpeComponent {
889
+ constructor() {
890
+ this.baseurl = '';
891
+ this.path = '';
892
+ }
893
+ convertToScript() {
894
+ const element = this.script?.nativeElement;
895
+ const script = document.createElement('script');
896
+ script.type = 'text/javascript';
897
+ if (this.baseurl && this.path) {
898
+ script.src = this.baseurl + this.path;
899
+ // eslint-disable-next-line no-console
900
+ console.log('Code geladen van: ' + script.src); //useful for debugging in GWT environment
901
+ }
902
+ const parent = element.parentElement;
903
+ parent.parentElement.replaceChild(script, parent);
904
+ }
905
+ ngAfterViewInit() {
906
+ this.convertToScript();
907
+ }
908
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RpeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
909
+ 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" }); }
910
+ }
911
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RpeComponent, decorators: [{
912
+ type: Component,
913
+ args: [{ selector: 'rpe-component', template: "<div #rpescript style.display=\"none\">\n <ng-content></ng-content>\n</div>\n" }]
914
+ }], propDecorators: { baseurl: [{
915
+ type: Input
916
+ }], path: [{
917
+ type: Input
918
+ }], script: [{
919
+ type: ViewChild,
920
+ args: ['rpescript']
921
+ }] } });
922
+
923
+ class OngeplandeActie {
924
+ constructor(actie, puics) {
925
+ this.actie = actie;
926
+ this.puics = puics;
927
+ }
928
+ }
929
+
930
+ class KmRange {
931
+ constructor(topologyElement, vanKilometreringen, totKilometreringen) {
932
+ this.topologyElement = topologyElement;
933
+ this.vanKilometreringen = vanKilometreringen;
934
+ this.totKilometreringen = totKilometreringen;
935
+ }
936
+ static rangeVoorPuntObject(topologyElement) {
937
+ return new KmRange(topologyElement, JsJavaUtil.listToArray(topologyElement.getKilometreringen()), JsJavaUtil.listToArray(topologyElement.getKilometreringen()));
938
+ }
939
+ static rangeVoorStrekObject(topologyElement, vanKilometreringen, totKilometreringen) {
940
+ return new KmRange(topologyElement, vanKilometreringen, totKilometreringen);
941
+ }
942
+ static getKilometrering(lintNaam, kilometreringen) {
943
+ const result = kilometreringen.filter(kilometrering => kilometrering.getKmLint() === lintNaam);
944
+ if (result.length >= 1) {
945
+ return result[0];
946
+ }
947
+ return undefined;
948
+ }
949
+ heeftOverlap(kilometrering1, kilometrering2) {
950
+ const vanKilometrering = KmRange.getKilometrering(kilometrering1.getKmLint(), this.vanKilometreringen);
951
+ const totKilometrering = KmRange.getKilometrering(kilometrering2.getKmLint(), this.totKilometreringen);
952
+ if (!vanKilometrering || !totKilometrering) {
953
+ return false;
954
+ }
955
+ let startKmWaarde = vanKilometrering.getKmWaarde();
956
+ let endKmWaarde = totKilometrering.getKmWaarde();
957
+ if (startKmWaarde > endKmWaarde) {
958
+ const temp = { end: endKmWaarde, start: startKmWaarde };
959
+ startKmWaarde = temp.end;
960
+ endKmWaarde = temp.start;
961
+ }
962
+ const actieStartKmWaarde = kilometrering1.getKmWaarde();
963
+ const actieEndKmWaarde = kilometrering2.getKmWaarde();
964
+ return endKmWaarde >= actieStartKmWaarde && actieEndKmWaarde >= startKmWaarde;
965
+ }
966
+ }
967
+
968
+ class WisselKantCode {
969
+ constructor(naam, kantCode) {
970
+ this.naam = naam;
971
+ this.kantCode = kantCode;
972
+ }
973
+ }
974
+
975
+ class MeldingEvent {
976
+ constructor(meldingMessage, meldingLevel) {
977
+ this.meldingMessage = meldingMessage;
978
+ this.meldingLevel = meldingLevel;
979
+ }
980
+ }
981
+
982
+ const MELDING_LEVEL_ERROR = 'error';
983
+ const MELDING_LEVEL_WARNING = 'warn';
984
+ const MELDING_LEVEL_INFO = 'info';
985
+ class MeldingBuilder {
986
+ static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
987
+ return new MeldingEvent('Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken, MELDING_LEVEL_INFO);
988
+ }
989
+ static actieHighlightError(actieZonderElementen) {
990
+ return new MeldingEvent('Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen, MELDING_LEVEL_ERROR);
991
+ }
992
+ }
993
+
994
+ class Utils {
995
+ static getValidErorrMessage(err) {
996
+ let errorMsg = '';
997
+ if (err.msg) {
998
+ errorMsg += err.msg;
999
+ }
1000
+ if (Array.isArray(err.body)) {
1001
+ err.body.forEach((x) => errorMsg += x);
1002
+ }
1003
+ else if (err.body) {
1004
+ if (err.body instanceof ProgressEvent) {
1005
+ errorMsg = 'Kon geen verbinding maken met de server';
1006
+ }
1007
+ else if (err.body.text) {
1008
+ errorMsg += err.body.text;
1009
+ }
1010
+ else {
1011
+ errorMsg += err.body;
1012
+ }
1013
+ }
1014
+ if (err.message) {
1015
+ errorMsg += err.message;
1016
+ }
1017
+ if (typeof err === 'string' || err instanceof String) {
1018
+ errorMsg += err;
1019
+ }
1020
+ if (errorMsg !== '') {
1021
+ return errorMsg;
1022
+ }
1023
+ else {
1024
+ return 'Er is een onbekende fout opgetreden';
1025
+ }
1026
+ }
1027
+ }
1028
+
1029
+ class MessageBuilder {
1030
+ static rwpDataNietGevonden(err) {
1031
+ return new Message(Severity.ERROR, 'Error bij ophalen van rijwegplan data: ' + err);
1032
+ }
1033
+ static rijwegNietGevonden(beweging) {
1034
+ return new Message(Severity.ERROR, `Rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1035
+ }
1036
+ static rijwegplanNietGevonden(beweging) {
1037
+ return new Message(Severity.ERROR, `Rijwegplan van PPLG ${beweging.vanPplg} niet gevonden`);
1038
+ }
1039
+ static dwangNietGevonden(beweging) {
1040
+ return new Message(Severity.ERROR, `Dwang ${beweging.dwangNummer} voor rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1041
+ }
1042
+ static nietGevondenSBI(err) {
1043
+ return new Message(Severity.ERROR, 'Error bij het ophalen van signaleringsbeeldinfo: ' + Utils.getValidErorrMessage(err));
1044
+ }
1045
+ static actieHighlightError(actieZonderElementen) {
1046
+ return new Message(Severity.ERROR, 'Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen);
1047
+ }
1048
+ static ritFileAlGewijzigdError(beweging) {
1049
+ return new Message(Severity.ERROR, 'Rit bevat een beweging met status \'Gewijzigd\': Beweging met ID:' + beweging.id);
1050
+ }
1051
+ static meerDan12BladenGevonden(bladAmount) {
1052
+ return new Message(Severity.WARNING, 'Warning, Rit bevat ' + bladAmount + ' bladen. Er worden maximaal 12 bladen ondersteund.');
1053
+ }
1054
+ static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1055
+ return new Message(Severity.INFORMATION, 'Info, Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken);
1056
+ }
1057
+ }
1058
+
1059
+ /**
1060
+ * Custom HttpParameterCodec
1061
+ * Workaround for https://github.com/angular/angular/issues/18261
1062
+ */
1063
+ class CustomHttpParameterCodec {
1064
+ encodeKey(k) {
1065
+ return encodeURIComponent(k);
1066
+ }
1067
+ encodeValue(v) {
1068
+ return encodeURIComponent(v);
1069
+ }
1070
+ decodeKey(k) {
1071
+ return decodeURIComponent(k);
1072
+ }
1073
+ decodeValue(v) {
1074
+ return decodeURIComponent(v);
1075
+ }
1076
+ }
1077
+
1078
+ const BASE_PATH = new InjectionToken('basePath');
1079
+ const COLLECTION_FORMATS = {
1080
+ 'csv': ',',
1081
+ 'tsv': ' ',
1082
+ 'ssv': ' ',
1083
+ 'pipes': '|'
1084
+ };
1085
+
1086
+ class Configuration {
1087
+ constructor(configurationParameters = {}) {
1088
+ this.apiKeys = configurationParameters.apiKeys;
1089
+ this.username = configurationParameters.username;
1090
+ this.password = configurationParameters.password;
1091
+ this.accessToken = configurationParameters.accessToken;
1092
+ this.basePath = configurationParameters.basePath;
1093
+ this.withCredentials = configurationParameters.withCredentials;
1094
+ this.encoder = configurationParameters.encoder;
1095
+ if (configurationParameters.encodeParam) {
1096
+ this.encodeParam = configurationParameters.encodeParam;
1097
+ }
1098
+ else {
1099
+ this.encodeParam = param => this.defaultEncodeParam(param);
1100
+ }
1101
+ if (configurationParameters.credentials) {
1102
+ this.credentials = configurationParameters.credentials;
1103
+ }
1104
+ else {
1105
+ this.credentials = {};
1106
+ }
1107
+ // init default keycloak_auth credential
1108
+ if (!this.credentials['keycloak_auth']) {
1109
+ this.credentials['keycloak_auth'] = () => {
1110
+ return typeof this.accessToken === 'function'
1111
+ ? this.accessToken()
1112
+ : this.accessToken;
1113
+ };
1114
+ }
1115
+ }
1116
+ /**
1117
+ * Select the correct content-type to use for a request.
1118
+ * Uses {@link Configuration#isJsonMime} to determine the correct content-type.
1119
+ * If no content type is found return the first found type if the contentTypes is not empty
1120
+ * @param contentTypes - the array of content types that are available for selection
1121
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
1122
+ */
1123
+ selectHeaderContentType(contentTypes) {
1124
+ if (contentTypes.length === 0) {
1125
+ return undefined;
1126
+ }
1127
+ const type = contentTypes.find((x) => this.isJsonMime(x));
1128
+ if (type === undefined) {
1129
+ return contentTypes[0];
1130
+ }
1131
+ return type;
1132
+ }
1133
+ /**
1134
+ * Select the correct accept content-type to use for a request.
1135
+ * Uses {@link Configuration#isJsonMime} to determine the correct accept content-type.
1136
+ * If no content type is found return the first found type if the contentTypes is not empty
1137
+ * @param accepts - the array of content types that are available for selection.
1138
+ * @returns the selected content-type or <code>undefined</code> if no selection could be made.
1139
+ */
1140
+ selectHeaderAccept(accepts) {
1141
+ if (accepts.length === 0) {
1142
+ return undefined;
1143
+ }
1144
+ const type = accepts.find((x) => this.isJsonMime(x));
1145
+ if (type === undefined) {
1146
+ return accepts[0];
1147
+ }
1148
+ return type;
1149
+ }
1150
+ /**
1151
+ * Check if the given MIME is a JSON MIME.
1152
+ * JSON MIME examples:
1153
+ * application/json
1154
+ * application/json; charset=UTF8
1155
+ * APPLICATION/JSON
1156
+ * application/vnd.company+json
1157
+ * @param mime - MIME (Multipurpose Internet Mail Extensions)
1158
+ * @return True if the given MIME is JSON, false otherwise.
1159
+ */
1160
+ isJsonMime(mime) {
1161
+ const jsonMime = new RegExp('^(application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(;.*)?$', 'i');
1162
+ return mime !== null && (jsonMime.test(mime) || mime.toLowerCase() === 'application/json-patch+json');
1163
+ }
1164
+ lookupCredential(key) {
1165
+ const value = this.credentials[key];
1166
+ return typeof value === 'function'
1167
+ ? value()
1168
+ : value;
1169
+ }
1170
+ defaultEncodeParam(param) {
1171
+ // This implementation exists as fallback for missing configuration
1172
+ // and for backwards compatibility to older typescript-angular generator versions.
1173
+ // It only works for the 'simple' parameter style.
1174
+ // Date-handling only works for the 'date-time' format.
1175
+ // All other styles and Date-formats are probably handled incorrectly.
1176
+ //
1177
+ // But: if that's all you need (i.e.: the most common use-case): no need for customization!
1178
+ const value = param.dataFormat === 'date-time' && param.value instanceof Date
1179
+ ? param.value.toISOString()
1180
+ : param.value;
1181
+ return encodeURIComponent(String(value));
1182
+ }
1183
+ }
1184
+
1185
+ /**
1186
+ * MST
1187
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1188
+ *
1189
+ * The version of the OpenAPI document: 1
1190
+ *
1191
+ *
1192
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1193
+ * https://openapi-generator.tech
1194
+ * Do not edit the class manually.
1195
+ */
1196
+ /* tslint:disable:no-unused-variable member-ordering */
1197
+ class AppConfigControllerService {
1198
+ constructor(httpClient, basePath, configuration) {
1199
+ this.httpClient = httpClient;
1200
+ this.basePath = 'http://localhost:8080/mst';
1201
+ this.defaultHeaders = new HttpHeaders();
1202
+ this.configuration = new Configuration();
1203
+ if (configuration) {
1204
+ this.configuration = configuration;
1205
+ }
1206
+ if (typeof this.configuration.basePath !== 'string') {
1207
+ if (Array.isArray(basePath) && basePath.length > 0) {
1208
+ basePath = basePath[0];
1209
+ }
1210
+ if (typeof basePath !== 'string') {
1211
+ basePath = this.basePath;
1212
+ }
1213
+ this.configuration.basePath = basePath;
1214
+ }
1215
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1216
+ }
1217
+ // @ts-ignore
1218
+ addToHttpParams(httpParams, value, key) {
1219
+ if (typeof value === "object" && value instanceof Date === false) {
1220
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
1221
+ }
1222
+ else {
1223
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1224
+ }
1225
+ return httpParams;
1226
+ }
1227
+ addToHttpParamsRecursive(httpParams, value, key) {
1228
+ if (value == null) {
1229
+ return httpParams;
1230
+ }
1231
+ if (typeof value === "object") {
1232
+ if (Array.isArray(value)) {
1233
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1234
+ }
1235
+ else if (value instanceof Date) {
1236
+ if (key != null) {
1237
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1238
+ }
1239
+ else {
1240
+ throw Error("key may not be null if value is Date");
1241
+ }
1242
+ }
1243
+ else {
1244
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1245
+ }
1246
+ }
1247
+ else if (key != null) {
1248
+ httpParams = httpParams.append(key, value);
1249
+ }
1250
+ else {
1251
+ throw Error("key may not be null if value is not object or array");
1252
+ }
1253
+ return httpParams;
1254
+ }
1255
+ getAppConfig(observe = 'body', reportProgress = false, options) {
1256
+ let localVarHeaders = this.defaultHeaders;
1257
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1258
+ if (localVarHttpHeaderAcceptSelected === undefined) {
1259
+ // to determine the Accept header
1260
+ const httpHeaderAccepts = [
1261
+ '*/*'
1262
+ ];
1263
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1264
+ }
1265
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
1266
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1267
+ }
1268
+ let localVarHttpContext = options && options.context;
1269
+ if (localVarHttpContext === undefined) {
1270
+ localVarHttpContext = new HttpContext();
1271
+ }
1272
+ let localVarTransferCache = options && options.transferCache;
1273
+ if (localVarTransferCache === undefined) {
1274
+ localVarTransferCache = true;
1275
+ }
1276
+ let responseType_ = 'json';
1277
+ if (localVarHttpHeaderAcceptSelected) {
1278
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1279
+ responseType_ = 'text';
1280
+ }
1281
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1282
+ responseType_ = 'json';
1283
+ }
1284
+ else {
1285
+ responseType_ = 'blob';
1286
+ }
1287
+ }
1288
+ let localVarPath = `/rest/appconfig`;
1289
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
1290
+ context: localVarHttpContext,
1291
+ responseType: responseType_,
1292
+ withCredentials: this.configuration.withCredentials,
1293
+ headers: localVarHeaders,
1294
+ observe: observe,
1295
+ transferCache: localVarTransferCache,
1296
+ reportProgress: reportProgress
1297
+ });
1298
+ }
1299
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AppConfigControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1300
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AppConfigControllerService, providedIn: 'root' }); }
1301
+ }
1302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: AppConfigControllerService, decorators: [{
1303
+ type: Injectable,
1304
+ args: [{
1305
+ providedIn: 'root'
1306
+ }]
1307
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1308
+ type: Optional
1309
+ }, {
1310
+ type: Inject,
1311
+ args: [BASE_PATH]
1312
+ }] }, { type: Configuration, decorators: [{
1313
+ type: Optional
1314
+ }] }] });
1315
+
1316
+ /**
1317
+ * MST
1318
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1319
+ *
1320
+ * The version of the OpenAPI document: 1
1321
+ *
1322
+ *
1323
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1324
+ * https://openapi-generator.tech
1325
+ * Do not edit the class manually.
1326
+ */
1327
+ /* tslint:disable:no-unused-variable member-ordering */
1328
+ class BewegingControllerService {
1329
+ constructor(httpClient, basePath, configuration) {
1330
+ this.httpClient = httpClient;
1331
+ this.basePath = 'http://localhost:8080/mst';
1332
+ this.defaultHeaders = new HttpHeaders();
1333
+ this.configuration = new Configuration();
1334
+ if (configuration) {
1335
+ this.configuration = configuration;
1336
+ }
1337
+ if (typeof this.configuration.basePath !== 'string') {
1338
+ if (Array.isArray(basePath) && basePath.length > 0) {
1339
+ basePath = basePath[0];
1340
+ }
1341
+ if (typeof basePath !== 'string') {
1342
+ basePath = this.basePath;
1343
+ }
1344
+ this.configuration.basePath = basePath;
1345
+ }
1346
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1347
+ }
1348
+ // @ts-ignore
1349
+ addToHttpParams(httpParams, value, key) {
1350
+ if (typeof value === "object" && value instanceof Date === false) {
1351
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
1352
+ }
1353
+ else {
1354
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1355
+ }
1356
+ return httpParams;
1357
+ }
1358
+ addToHttpParamsRecursive(httpParams, value, key) {
1359
+ if (value == null) {
1360
+ return httpParams;
1361
+ }
1362
+ if (typeof value === "object") {
1363
+ if (Array.isArray(value)) {
1364
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1365
+ }
1366
+ else if (value instanceof Date) {
1367
+ if (key != null) {
1368
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1369
+ }
1370
+ else {
1371
+ throw Error("key may not be null if value is Date");
1372
+ }
1373
+ }
1374
+ else {
1375
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1376
+ }
1377
+ }
1378
+ else if (key != null) {
1379
+ httpParams = httpParams.append(key, value);
1380
+ }
1381
+ else {
1382
+ throw Error("key may not be null if value is not object or array");
1383
+ }
1384
+ return httpParams;
1385
+ }
1386
+ verrijkBewegingenMetOngeplandeActies(iaVersie, ritRequestDto, observe = 'body', reportProgress = false, options) {
1387
+ if (iaVersie === null || iaVersie === undefined) {
1388
+ throw new Error('Required parameter iaVersie was null or undefined when calling verrijkBewegingenMetOngeplandeActies.');
1389
+ }
1390
+ if (ritRequestDto === null || ritRequestDto === undefined) {
1391
+ throw new Error('Required parameter ritRequestDto was null or undefined when calling verrijkBewegingenMetOngeplandeActies.');
1392
+ }
1393
+ let localVarHeaders = this.defaultHeaders;
1394
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1395
+ if (localVarHttpHeaderAcceptSelected === undefined) {
1396
+ // to determine the Accept header
1397
+ const httpHeaderAccepts = [
1398
+ '*/*'
1399
+ ];
1400
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1401
+ }
1402
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
1403
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1404
+ }
1405
+ let localVarHttpContext = options && options.context;
1406
+ if (localVarHttpContext === undefined) {
1407
+ localVarHttpContext = new HttpContext();
1408
+ }
1409
+ let localVarTransferCache = options && options.transferCache;
1410
+ if (localVarTransferCache === undefined) {
1411
+ localVarTransferCache = true;
1412
+ }
1413
+ // to determine the Content-Type header
1414
+ const consumes = [
1415
+ 'application/json'
1416
+ ];
1417
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
1418
+ if (httpContentTypeSelected !== undefined) {
1419
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
1420
+ }
1421
+ let responseType_ = 'json';
1422
+ if (localVarHttpHeaderAcceptSelected) {
1423
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1424
+ responseType_ = 'text';
1425
+ }
1426
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1427
+ responseType_ = 'json';
1428
+ }
1429
+ else {
1430
+ responseType_ = 'blob';
1431
+ }
1432
+ }
1433
+ let localVarPath = `/rest/beweging/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}`;
1434
+ return this.httpClient.request('put', `${this.configuration.basePath}${localVarPath}`, {
1435
+ context: localVarHttpContext,
1436
+ body: ritRequestDto,
1437
+ responseType: responseType_,
1438
+ withCredentials: this.configuration.withCredentials,
1439
+ headers: localVarHeaders,
1440
+ observe: observe,
1441
+ transferCache: localVarTransferCache,
1442
+ reportProgress: reportProgress
1443
+ });
1444
+ }
1445
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1446
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingControllerService, providedIn: 'root' }); }
1447
+ }
1448
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BewegingControllerService, decorators: [{
1449
+ type: Injectable,
1450
+ args: [{
1451
+ providedIn: 'root'
1452
+ }]
1453
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1454
+ type: Optional
1455
+ }, {
1456
+ type: Inject,
1457
+ args: [BASE_PATH]
1458
+ }] }, { type: Configuration, decorators: [{
1459
+ type: Optional
1460
+ }] }] });
1461
+
1462
+ /**
1463
+ * MST
1464
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1465
+ *
1466
+ * The version of the OpenAPI document: 1
1467
+ *
1468
+ *
1469
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1470
+ * https://openapi-generator.tech
1471
+ * Do not edit the class manually.
1472
+ */
1473
+ /* tslint:disable:no-unused-variable member-ordering */
1474
+ class Class0BuildPropertiesService {
1475
+ constructor(httpClient, basePath, configuration) {
1476
+ this.httpClient = httpClient;
1477
+ this.basePath = 'http://localhost:8080/mst';
1478
+ this.defaultHeaders = new HttpHeaders();
1479
+ this.configuration = new Configuration();
1480
+ if (configuration) {
1481
+ this.configuration = configuration;
1482
+ }
1483
+ if (typeof this.configuration.basePath !== 'string') {
1484
+ if (Array.isArray(basePath) && basePath.length > 0) {
1485
+ basePath = basePath[0];
1486
+ }
1487
+ if (typeof basePath !== 'string') {
1488
+ basePath = this.basePath;
1489
+ }
1490
+ this.configuration.basePath = basePath;
1491
+ }
1492
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1493
+ }
1494
+ // @ts-ignore
1495
+ addToHttpParams(httpParams, value, key) {
1496
+ if (typeof value === "object" && value instanceof Date === false) {
1497
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
1498
+ }
1499
+ else {
1500
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1501
+ }
1502
+ return httpParams;
1503
+ }
1504
+ addToHttpParamsRecursive(httpParams, value, key) {
1505
+ if (value == null) {
1506
+ return httpParams;
1507
+ }
1508
+ if (typeof value === "object") {
1509
+ if (Array.isArray(value)) {
1510
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1511
+ }
1512
+ else if (value instanceof Date) {
1513
+ if (key != null) {
1514
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1515
+ }
1516
+ else {
1517
+ throw Error("key may not be null if value is Date");
1518
+ }
1519
+ }
1520
+ else {
1521
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1522
+ }
1523
+ }
1524
+ else if (key != null) {
1525
+ httpParams = httpParams.append(key, value);
1526
+ }
1527
+ else {
1528
+ throw Error("key may not be null if value is not object or array");
1529
+ }
1530
+ return httpParams;
1531
+ }
1532
+ getBuildProperties(observe = 'body', reportProgress = false, options) {
1533
+ let localVarHeaders = this.defaultHeaders;
1534
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1535
+ if (localVarHttpHeaderAcceptSelected === undefined) {
1536
+ // to determine the Accept header
1537
+ const httpHeaderAccepts = [
1538
+ 'application/json'
1539
+ ];
1540
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1541
+ }
1542
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
1543
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1544
+ }
1545
+ let localVarHttpContext = options && options.context;
1546
+ if (localVarHttpContext === undefined) {
1547
+ localVarHttpContext = new HttpContext();
1548
+ }
1549
+ let localVarTransferCache = options && options.transferCache;
1550
+ if (localVarTransferCache === undefined) {
1551
+ localVarTransferCache = true;
1552
+ }
1553
+ let responseType_ = 'json';
1554
+ if (localVarHttpHeaderAcceptSelected) {
1555
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1556
+ responseType_ = 'text';
1557
+ }
1558
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1559
+ responseType_ = 'json';
1560
+ }
1561
+ else {
1562
+ responseType_ = 'blob';
1563
+ }
1564
+ }
1565
+ let localVarPath = `/build.properties`;
1566
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
1567
+ context: localVarHttpContext,
1568
+ responseType: responseType_,
1569
+ withCredentials: this.configuration.withCredentials,
1570
+ headers: localVarHeaders,
1571
+ observe: observe,
1572
+ transferCache: localVarTransferCache,
1573
+ reportProgress: reportProgress
1574
+ });
1575
+ }
1576
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Class0BuildPropertiesService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1577
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Class0BuildPropertiesService, providedIn: 'root' }); }
1578
+ }
1579
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: Class0BuildPropertiesService, decorators: [{
1580
+ type: Injectable,
1581
+ args: [{
1582
+ providedIn: 'root'
1583
+ }]
1584
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1585
+ type: Optional
1586
+ }, {
1587
+ type: Inject,
1588
+ args: [BASE_PATH]
1589
+ }] }, { type: Configuration, decorators: [{
1590
+ type: Optional
1591
+ }] }] });
1592
+
1593
+ /**
1594
+ * MST
1595
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1596
+ *
1597
+ * The version of the OpenAPI document: 1
1598
+ *
1599
+ *
1600
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1601
+ * https://openapi-generator.tech
1602
+ * Do not edit the class manually.
1603
+ */
1604
+ /* tslint:disable:no-unused-variable member-ordering */
1605
+ class ConnectorControllerService {
1606
+ constructor(httpClient, basePath, configuration) {
1607
+ this.httpClient = httpClient;
1608
+ this.basePath = 'http://localhost:8080/mst';
1609
+ this.defaultHeaders = new HttpHeaders();
1610
+ this.configuration = new Configuration();
1611
+ if (configuration) {
1612
+ this.configuration = configuration;
1613
+ }
1614
+ if (typeof this.configuration.basePath !== 'string') {
1615
+ if (Array.isArray(basePath) && basePath.length > 0) {
1616
+ basePath = basePath[0];
1617
+ }
1618
+ if (typeof basePath !== 'string') {
1619
+ basePath = this.basePath;
1620
+ }
1621
+ this.configuration.basePath = basePath;
1622
+ }
1623
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1624
+ }
1625
+ // @ts-ignore
1626
+ addToHttpParams(httpParams, value, key) {
1627
+ if (typeof value === "object" && value instanceof Date === false) {
1628
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
1629
+ }
1630
+ else {
1631
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1632
+ }
1633
+ return httpParams;
1634
+ }
1635
+ addToHttpParamsRecursive(httpParams, value, key) {
1636
+ if (value == null) {
1637
+ return httpParams;
1638
+ }
1639
+ if (typeof value === "object") {
1640
+ if (Array.isArray(value)) {
1641
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1642
+ }
1643
+ else if (value instanceof Date) {
1644
+ if (key != null) {
1645
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1646
+ }
1647
+ else {
1648
+ throw Error("key may not be null if value is Date");
1649
+ }
1650
+ }
1651
+ else {
1652
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1653
+ }
1654
+ }
1655
+ else if (key != null) {
1656
+ httpParams = httpParams.append(key, value);
1657
+ }
1658
+ else {
1659
+ throw Error("key may not be null if value is not object or array");
1660
+ }
1661
+ return httpParams;
1662
+ }
1663
+ getOtherConnector(iaVersie, connectorPuic, observe = 'body', reportProgress = false, options) {
1664
+ if (iaVersie === null || iaVersie === undefined) {
1665
+ throw new Error('Required parameter iaVersie was null or undefined when calling getOtherConnector.');
1666
+ }
1667
+ if (connectorPuic === null || connectorPuic === undefined) {
1668
+ throw new Error('Required parameter connectorPuic was null or undefined when calling getOtherConnector.');
1669
+ }
1670
+ let localVarHeaders = this.defaultHeaders;
1671
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1672
+ if (localVarHttpHeaderAcceptSelected === undefined) {
1673
+ // to determine the Accept header
1674
+ const httpHeaderAccepts = [
1675
+ '*/*'
1676
+ ];
1677
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1678
+ }
1679
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
1680
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1681
+ }
1682
+ let localVarHttpContext = options && options.context;
1683
+ if (localVarHttpContext === undefined) {
1684
+ localVarHttpContext = new HttpContext();
1685
+ }
1686
+ let localVarTransferCache = options && options.transferCache;
1687
+ if (localVarTransferCache === undefined) {
1688
+ localVarTransferCache = true;
1689
+ }
1690
+ let responseType_ = 'json';
1691
+ if (localVarHttpHeaderAcceptSelected) {
1692
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1693
+ responseType_ = 'text';
1694
+ }
1695
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1696
+ responseType_ = 'json';
1697
+ }
1698
+ else {
1699
+ responseType_ = 'blob';
1700
+ }
1701
+ }
1702
+ 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 })}`;
1703
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
1704
+ context: localVarHttpContext,
1705
+ responseType: responseType_,
1706
+ withCredentials: this.configuration.withCredentials,
1707
+ headers: localVarHeaders,
1708
+ observe: observe,
1709
+ transferCache: localVarTransferCache,
1710
+ reportProgress: reportProgress
1711
+ });
1712
+ }
1713
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConnectorControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1714
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConnectorControllerService, providedIn: 'root' }); }
1715
+ }
1716
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ConnectorControllerService, decorators: [{
1717
+ type: Injectable,
1718
+ args: [{
1719
+ providedIn: 'root'
1720
+ }]
1721
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1722
+ type: Optional
1723
+ }, {
1724
+ type: Inject,
1725
+ args: [BASE_PATH]
1726
+ }] }, { type: Configuration, decorators: [{
1727
+ type: Optional
1728
+ }] }] });
1729
+
1730
+ /**
1731
+ * MST
1732
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1733
+ *
1734
+ * The version of the OpenAPI document: 1
1735
+ *
1736
+ *
1737
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1738
+ * https://openapi-generator.tech
1739
+ * Do not edit the class manually.
1740
+ */
1741
+ /* tslint:disable:no-unused-variable member-ordering */
1742
+ class LogControllerService {
1743
+ constructor(httpClient, basePath, configuration) {
1744
+ this.httpClient = httpClient;
1745
+ this.basePath = 'http://localhost:8080/mst';
1746
+ this.defaultHeaders = new HttpHeaders();
1747
+ this.configuration = new Configuration();
1748
+ if (configuration) {
1749
+ this.configuration = configuration;
1750
+ }
1751
+ if (typeof this.configuration.basePath !== 'string') {
1752
+ if (Array.isArray(basePath) && basePath.length > 0) {
1753
+ basePath = basePath[0];
1754
+ }
1755
+ if (typeof basePath !== 'string') {
1756
+ basePath = this.basePath;
1757
+ }
1758
+ this.configuration.basePath = basePath;
1759
+ }
1760
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1761
+ }
1762
+ // @ts-ignore
1763
+ addToHttpParams(httpParams, value, key) {
1764
+ if (typeof value === "object" && value instanceof Date === false) {
1765
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
1766
+ }
1767
+ else {
1768
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1769
+ }
1770
+ return httpParams;
1771
+ }
1772
+ addToHttpParamsRecursive(httpParams, value, key) {
1773
+ if (value == null) {
1774
+ return httpParams;
1775
+ }
1776
+ if (typeof value === "object") {
1777
+ if (Array.isArray(value)) {
1778
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1779
+ }
1780
+ else if (value instanceof Date) {
1781
+ if (key != null) {
1782
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1783
+ }
1784
+ else {
1785
+ throw Error("key may not be null if value is Date");
1786
+ }
1787
+ }
1788
+ else {
1789
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1790
+ }
1791
+ }
1792
+ else if (key != null) {
1793
+ httpParams = httpParams.append(key, value);
1794
+ }
1795
+ else {
1796
+ throw Error("key may not be null if value is not object or array");
1797
+ }
1798
+ return httpParams;
1799
+ }
1800
+ log(logDto, observe = 'body', reportProgress = false, options) {
1801
+ if (logDto === null || logDto === undefined) {
1802
+ throw new Error('Required parameter logDto was null or undefined when calling log.');
1803
+ }
1804
+ let localVarHeaders = this.defaultHeaders;
1805
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1806
+ if (localVarHttpHeaderAcceptSelected === undefined) {
1807
+ // to determine the Accept header
1808
+ const httpHeaderAccepts = [];
1809
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1810
+ }
1811
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
1812
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1813
+ }
1814
+ let localVarHttpContext = options && options.context;
1815
+ if (localVarHttpContext === undefined) {
1816
+ localVarHttpContext = new HttpContext();
1817
+ }
1818
+ let localVarTransferCache = options && options.transferCache;
1819
+ if (localVarTransferCache === undefined) {
1820
+ localVarTransferCache = true;
1821
+ }
1822
+ // to determine the Content-Type header
1823
+ const consumes = [
1824
+ 'application/json'
1825
+ ];
1826
+ const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
1827
+ if (httpContentTypeSelected !== undefined) {
1828
+ localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
1829
+ }
1830
+ let responseType_ = 'json';
1831
+ if (localVarHttpHeaderAcceptSelected) {
1832
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
1833
+ responseType_ = 'text';
1834
+ }
1835
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
1836
+ responseType_ = 'json';
1837
+ }
1838
+ else {
1839
+ responseType_ = 'blob';
1840
+ }
1841
+ }
1842
+ let localVarPath = `/rest/logging/`;
1843
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
1844
+ context: localVarHttpContext,
1845
+ body: logDto,
1846
+ responseType: responseType_,
1847
+ withCredentials: this.configuration.withCredentials,
1848
+ headers: localVarHeaders,
1849
+ observe: observe,
1850
+ transferCache: localVarTransferCache,
1851
+ reportProgress: reportProgress
1852
+ });
1853
+ }
1854
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LogControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
1855
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LogControllerService, providedIn: 'root' }); }
1856
+ }
1857
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LogControllerService, decorators: [{
1858
+ type: Injectable,
1859
+ args: [{
1860
+ providedIn: 'root'
1861
+ }]
1862
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
1863
+ type: Optional
1864
+ }, {
1865
+ type: Inject,
1866
+ args: [BASE_PATH]
1867
+ }] }, { type: Configuration, decorators: [{
1868
+ type: Optional
1869
+ }] }] });
1870
+
1871
+ /**
1872
+ * MST
1873
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
1874
+ *
1875
+ * The version of the OpenAPI document: 1
1876
+ *
1877
+ *
1878
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
1879
+ * https://openapi-generator.tech
1880
+ * Do not edit the class manually.
1881
+ */
1882
+ /* tslint:disable:no-unused-variable member-ordering */
1883
+ class P21ControllerService {
1884
+ constructor(httpClient, basePath, configuration) {
1885
+ this.httpClient = httpClient;
1886
+ this.basePath = 'http://localhost:8080/mst';
1887
+ this.defaultHeaders = new HttpHeaders();
1888
+ this.configuration = new Configuration();
1889
+ if (configuration) {
1890
+ this.configuration = configuration;
1891
+ }
1892
+ if (typeof this.configuration.basePath !== 'string') {
1893
+ if (Array.isArray(basePath) && basePath.length > 0) {
1894
+ basePath = basePath[0];
1895
+ }
1896
+ if (typeof basePath !== 'string') {
1897
+ basePath = this.basePath;
1898
+ }
1899
+ this.configuration.basePath = basePath;
1900
+ }
1901
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
1902
+ }
1903
+ /**
1904
+ * @param consumes string[] mime-types
1905
+ * @return true: consumes contains 'multipart/form-data', false: otherwise
1906
+ */
1907
+ canConsumeForm(consumes) {
1908
+ const form = 'multipart/form-data';
1909
+ for (const consume of consumes) {
1910
+ if (form === consume) {
1911
+ return true;
1912
+ }
1913
+ }
1914
+ return false;
1915
+ }
1916
+ // @ts-ignore
1917
+ addToHttpParams(httpParams, value, key) {
1918
+ if (typeof value === "object" && value instanceof Date === false) {
1919
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
1920
+ }
1921
+ else {
1922
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
1923
+ }
1924
+ return httpParams;
1925
+ }
1926
+ addToHttpParamsRecursive(httpParams, value, key) {
1927
+ if (value == null) {
1928
+ return httpParams;
1929
+ }
1930
+ if (typeof value === "object") {
1931
+ if (Array.isArray(value)) {
1932
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
1933
+ }
1934
+ else if (value instanceof Date) {
1935
+ if (key != null) {
1936
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
1937
+ }
1938
+ else {
1939
+ throw Error("key may not be null if value is Date");
1940
+ }
1941
+ }
1942
+ else {
1943
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
1944
+ }
1945
+ }
1946
+ else if (key != null) {
1947
+ httpParams = httpParams.append(key, value);
1948
+ }
1949
+ else {
1950
+ throw Error("key may not be null if value is not object or array");
1951
+ }
1952
+ return httpParams;
1953
+ }
1954
+ createP21Levering(p21Levering, update, observe = 'body', reportProgress = false, options) {
1955
+ if (p21Levering === null || p21Levering === undefined) {
1956
+ throw new Error('Required parameter p21Levering was null or undefined when calling createP21Levering.');
1957
+ }
1958
+ let localVarHeaders = this.defaultHeaders;
1959
+ let localVarCredential;
1960
+ // authentication (keycloak_auth) required
1961
+ localVarCredential = this.configuration.lookupCredential('keycloak_auth');
1962
+ if (localVarCredential) {
1963
+ localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);
1964
+ }
1965
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
1966
+ if (localVarHttpHeaderAcceptSelected === undefined) {
1967
+ // to determine the Accept header
1968
+ const httpHeaderAccepts = [
1969
+ '*/*'
1970
+ ];
1971
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
1972
+ }
1973
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
1974
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
1975
+ }
1976
+ let localVarHttpContext = options && options.context;
1977
+ if (localVarHttpContext === undefined) {
1978
+ localVarHttpContext = new HttpContext();
1979
+ }
1980
+ let localVarTransferCache = options && options.transferCache;
1981
+ if (localVarTransferCache === undefined) {
1982
+ localVarTransferCache = true;
1983
+ }
1984
+ // to determine the Content-Type header
1985
+ const consumes = [
1986
+ 'multipart/form-data'
1987
+ ];
1988
+ const canConsumeForm = this.canConsumeForm(consumes);
1989
+ let localVarFormParams;
1990
+ let localVarUseForm = false;
1991
+ let localVarConvertFormParamsToString = false;
1992
+ // use FormData to transmit files using content-type "multipart/form-data"
1993
+ // see https://stackoverflow.com/questions/4007969/application-x-www-form-urlencoded-or-multipart-form-data
1994
+ localVarUseForm = canConsumeForm;
1995
+ if (localVarUseForm) {
1996
+ localVarFormParams = new FormData();
1997
+ }
1998
+ else {
1999
+ localVarFormParams = new HttpParams({ encoder: this.encoder });
2000
+ }
2001
+ if (update !== undefined) {
2002
+ localVarFormParams = localVarFormParams.append('update', update) || localVarFormParams;
2003
+ }
2004
+ if (p21Levering !== undefined) {
2005
+ localVarFormParams = localVarFormParams.append('p21Levering', p21Levering) || localVarFormParams;
2006
+ }
2007
+ let responseType_ = 'json';
2008
+ if (localVarHttpHeaderAcceptSelected) {
2009
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2010
+ responseType_ = 'text';
2011
+ }
2012
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2013
+ responseType_ = 'json';
2014
+ }
2015
+ else {
2016
+ responseType_ = 'blob';
2017
+ }
2018
+ }
2019
+ let localVarPath = `/services/secure/rest/backend/uploadversie`;
2020
+ return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
2021
+ context: localVarHttpContext,
2022
+ body: localVarConvertFormParamsToString ? localVarFormParams.toString() : localVarFormParams,
2023
+ responseType: responseType_,
2024
+ withCredentials: this.configuration.withCredentials,
2025
+ headers: localVarHeaders,
2026
+ observe: observe,
2027
+ transferCache: localVarTransferCache,
2028
+ reportProgress: reportProgress
2029
+ });
2030
+ }
2031
+ getVersies(observe = 'body', reportProgress = false, options) {
2032
+ let localVarHeaders = this.defaultHeaders;
2033
+ let localVarCredential;
2034
+ // authentication (keycloak_auth) required
2035
+ localVarCredential = this.configuration.lookupCredential('keycloak_auth');
2036
+ if (localVarCredential) {
2037
+ localVarHeaders = localVarHeaders.set('Authorization', 'Bearer ' + localVarCredential);
2038
+ }
2039
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2040
+ if (localVarHttpHeaderAcceptSelected === undefined) {
2041
+ // to determine the Accept header
2042
+ const httpHeaderAccepts = [
2043
+ 'application/json'
2044
+ ];
2045
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2046
+ }
2047
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
2048
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2049
+ }
2050
+ let localVarHttpContext = options && options.context;
2051
+ if (localVarHttpContext === undefined) {
2052
+ localVarHttpContext = new HttpContext();
2053
+ }
2054
+ let localVarTransferCache = options && options.transferCache;
2055
+ if (localVarTransferCache === undefined) {
2056
+ localVarTransferCache = true;
2057
+ }
2058
+ let responseType_ = 'json';
2059
+ if (localVarHttpHeaderAcceptSelected) {
2060
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2061
+ responseType_ = 'text';
2062
+ }
2063
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2064
+ responseType_ = 'json';
2065
+ }
2066
+ else {
2067
+ responseType_ = 'blob';
2068
+ }
2069
+ }
2070
+ let localVarPath = `/services/secure/rest/backend/versies`;
2071
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2072
+ context: localVarHttpContext,
2073
+ responseType: responseType_,
2074
+ withCredentials: this.configuration.withCredentials,
2075
+ headers: localVarHeaders,
2076
+ observe: observe,
2077
+ transferCache: localVarTransferCache,
2078
+ reportProgress: reportProgress
2079
+ });
2080
+ }
2081
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: P21ControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
2082
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: P21ControllerService, providedIn: 'root' }); }
2083
+ }
2084
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: P21ControllerService, decorators: [{
2085
+ type: Injectable,
2086
+ args: [{
2087
+ providedIn: 'root'
2088
+ }]
2089
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
2090
+ type: Optional
2091
+ }, {
2092
+ type: Inject,
2093
+ args: [BASE_PATH]
2094
+ }] }, { type: Configuration, decorators: [{
2095
+ type: Optional
2096
+ }] }] });
2097
+
2098
+ /**
2099
+ * MST
2100
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2101
+ *
2102
+ * The version of the OpenAPI document: 1
2103
+ *
2104
+ *
2105
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2106
+ * https://openapi-generator.tech
2107
+ * Do not edit the class manually.
2108
+ */
2109
+ /* tslint:disable:no-unused-variable member-ordering */
2110
+ class SbControllerService {
2111
+ constructor(httpClient, basePath, configuration) {
2112
+ this.httpClient = httpClient;
2113
+ this.basePath = 'http://localhost:8080/mst';
2114
+ this.defaultHeaders = new HttpHeaders();
2115
+ this.configuration = new Configuration();
2116
+ if (configuration) {
2117
+ this.configuration = configuration;
2118
+ }
2119
+ if (typeof this.configuration.basePath !== 'string') {
2120
+ if (Array.isArray(basePath) && basePath.length > 0) {
2121
+ basePath = basePath[0];
2122
+ }
2123
+ if (typeof basePath !== 'string') {
2124
+ basePath = this.basePath;
2125
+ }
2126
+ this.configuration.basePath = basePath;
2127
+ }
2128
+ this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
2129
+ }
2130
+ // @ts-ignore
2131
+ addToHttpParams(httpParams, value, key) {
2132
+ if (typeof value === "object" && value instanceof Date === false) {
2133
+ httpParams = this.addToHttpParamsRecursive(httpParams, value);
2134
+ }
2135
+ else {
2136
+ httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
2137
+ }
2138
+ return httpParams;
2139
+ }
2140
+ addToHttpParamsRecursive(httpParams, value, key) {
2141
+ if (value == null) {
2142
+ return httpParams;
2143
+ }
2144
+ if (typeof value === "object") {
2145
+ if (Array.isArray(value)) {
2146
+ value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
2147
+ }
2148
+ else if (value instanceof Date) {
2149
+ if (key != null) {
2150
+ httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
2151
+ }
2152
+ else {
2153
+ throw Error("key may not be null if value is Date");
2154
+ }
2155
+ }
2156
+ else {
2157
+ Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
2158
+ }
2159
+ }
2160
+ else if (key != null) {
2161
+ httpParams = httpParams.append(key, value);
2162
+ }
2163
+ else {
2164
+ throw Error("key may not be null if value is not object or array");
2165
+ }
2166
+ return httpParams;
2167
+ }
2168
+ getSignaleringsbeelden(iaVersie, pplg, observe = 'body', reportProgress = false, options) {
2169
+ if (iaVersie === null || iaVersie === undefined) {
2170
+ throw new Error('Required parameter iaVersie was null or undefined when calling getSignaleringsbeelden.');
2171
+ }
2172
+ if (pplg === null || pplg === undefined) {
2173
+ throw new Error('Required parameter pplg was null or undefined when calling getSignaleringsbeelden.');
2174
+ }
2175
+ let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
2176
+ if (pplg) {
2177
+ pplg.forEach((element) => {
2178
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, element, 'pplg');
2179
+ });
2180
+ }
2181
+ let localVarHeaders = this.defaultHeaders;
2182
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2183
+ if (localVarHttpHeaderAcceptSelected === undefined) {
2184
+ // to determine the Accept header
2185
+ const httpHeaderAccepts = [
2186
+ 'application/json'
2187
+ ];
2188
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2189
+ }
2190
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
2191
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2192
+ }
2193
+ let localVarHttpContext = options && options.context;
2194
+ if (localVarHttpContext === undefined) {
2195
+ localVarHttpContext = new HttpContext();
2196
+ }
2197
+ let localVarTransferCache = options && options.transferCache;
2198
+ if (localVarTransferCache === undefined) {
2199
+ localVarTransferCache = true;
2200
+ }
2201
+ let responseType_ = 'json';
2202
+ if (localVarHttpHeaderAcceptSelected) {
2203
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2204
+ responseType_ = 'text';
2205
+ }
2206
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2207
+ responseType_ = 'json';
1001
2208
  }
1002
2209
  else {
1003
- this.focusOpBeweging(ritdeel, resolve);
2210
+ responseType_ = 'blob';
1004
2211
  }
2212
+ }
2213
+ let localVarPath = `/rest/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}/SignaleringsbeeldAndPplgs`;
2214
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2215
+ context: localVarHttpContext,
2216
+ params: localVarQueryParameters,
2217
+ responseType: responseType_,
2218
+ withCredentials: this.configuration.withCredentials,
2219
+ headers: localVarHeaders,
2220
+ observe: observe,
2221
+ transferCache: localVarTransferCache,
2222
+ reportProgress: reportProgress
1005
2223
  });
1006
2224
  }
1007
- focusOpBeweging(ritdeel, resolve) {
1008
- // deselecteer alles
1009
- this.store.dispatch(setZichtbaarheidAlleRitdelen(false));
1010
- // enable ritacties (checkbox) voor alle ritdelen met beweging die matched met bewegingId(s)
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);
2225
+ valideerIaVersie(versie, observe = 'body', reportProgress = false, options) {
2226
+ if (versie === null || versie === undefined) {
2227
+ throw new Error('Required parameter versie was null or undefined when calling valideerIaVersie.');
2228
+ }
2229
+ let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
2230
+ if (versie !== undefined && versie !== null) {
2231
+ localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, versie, 'versie');
2232
+ }
2233
+ let localVarHeaders = this.defaultHeaders;
2234
+ let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2235
+ if (localVarHttpHeaderAcceptSelected === undefined) {
2236
+ // to determine the Accept header
2237
+ const httpHeaderAccepts = [];
2238
+ localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2239
+ }
2240
+ if (localVarHttpHeaderAcceptSelected !== undefined) {
2241
+ localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2242
+ }
2243
+ let localVarHttpContext = options && options.context;
2244
+ if (localVarHttpContext === undefined) {
2245
+ localVarHttpContext = new HttpContext();
2246
+ }
2247
+ let localVarTransferCache = options && options.transferCache;
2248
+ if (localVarTransferCache === undefined) {
2249
+ localVarTransferCache = true;
2250
+ }
2251
+ let responseType_ = 'json';
2252
+ if (localVarHttpHeaderAcceptSelected) {
2253
+ if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2254
+ responseType_ = 'text';
2255
+ }
2256
+ else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2257
+ responseType_ = 'json';
2258
+ }
2259
+ else {
2260
+ responseType_ = 'blob';
2261
+ }
2262
+ }
2263
+ let localVarPath = `/rest/signaleringsbeeldeninfo/valideeriaversie`;
2264
+ return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2265
+ context: localVarHttpContext,
2266
+ params: localVarQueryParameters,
2267
+ responseType: responseType_,
2268
+ withCredentials: this.configuration.withCredentials,
2269
+ headers: localVarHeaders,
2270
+ observe: observe,
2271
+ transferCache: localVarTransferCache,
2272
+ reportProgress: reportProgress
1023
2273
  });
1024
2274
  }
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' }); }
2275
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SbControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
2276
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SbControllerService, providedIn: 'root' }); }
1030
2277
  }
1031
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, decorators: [{
2278
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SbControllerService, decorators: [{
1032
2279
  type: Injectable,
1033
2280
  args: [{
1034
2281
  providedIn: 'root'
1035
2282
  }]
1036
- }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: SignaleringsBeeldManagerService }] });
2283
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
2284
+ type: Optional
2285
+ }, {
2286
+ type: Inject,
2287
+ args: [BASE_PATH]
2288
+ }] }, { type: Configuration, decorators: [{
2289
+ type: Optional
2290
+ }] }] });
1037
2291
 
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
- }] } });
2292
+ const APIS = [AppConfigControllerService, BewegingControllerService, Class0BuildPropertiesService, ConnectorControllerService, LogControllerService, P21ControllerService, SbControllerService];
1068
2293
 
1069
- class OngeplandeActie {
1070
- constructor(actie, puics) {
1071
- this.actie = actie;
1072
- this.puics = puics;
1073
- }
1074
- }
2294
+ /**
2295
+ * MST
2296
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2297
+ *
2298
+ * The version of the OpenAPI document: 1
2299
+ *
2300
+ *
2301
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2302
+ * https://openapi-generator.tech
2303
+ * Do not edit the class manually.
2304
+ */
1075
2305
 
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
- }
2306
+ /**
2307
+ * MST
2308
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2309
+ *
2310
+ * The version of the OpenAPI document: 1
2311
+ *
2312
+ *
2313
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2314
+ * https://openapi-generator.tech
2315
+ * Do not edit the class manually.
2316
+ */
1113
2317
 
1114
- class WisselKantCode {
1115
- constructor(naam, kantCode) {
1116
- this.naam = naam;
1117
- this.kantCode = kantCode;
1118
- }
1119
- }
2318
+ /**
2319
+ * MST
2320
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2321
+ *
2322
+ * The version of the OpenAPI document: 1
2323
+ *
2324
+ *
2325
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2326
+ * https://openapi-generator.tech
2327
+ * Do not edit the class manually.
2328
+ */
1120
2329
 
1121
- class MeldingEvent {
1122
- constructor(meldingMessage, meldingLevel) {
1123
- this.meldingMessage = meldingMessage;
1124
- this.meldingLevel = meldingLevel;
1125
- }
1126
- }
2330
+ /**
2331
+ * MST
2332
+ * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2333
+ *
2334
+ * The version of the OpenAPI document: 1
2335
+ *
2336
+ *
2337
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2338
+ * https://openapi-generator.tech
2339
+ * Do not edit the class manually.
2340
+ */
1127
2341
 
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);
2342
+ class ApiModule {
2343
+ static forRoot(configurationFactory) {
2344
+ return {
2345
+ ngModule: ApiModule,
2346
+ providers: [{ provide: Configuration, useFactory: configurationFactory }]
2347
+ };
1134
2348
  }
1135
- static actieHighlightError(actieZonderElementen) {
1136
- return new MeldingEvent('Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen, MELDING_LEVEL_ERROR);
2349
+ constructor(parentModule, http) {
2350
+ if (parentModule) {
2351
+ throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
2352
+ }
2353
+ if (!http) {
2354
+ throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
2355
+ 'See also https://github.com/angular/angular/issues/20575');
2356
+ }
1137
2357
  }
2358
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiModule, deps: [{ token: ApiModule, optional: true, skipSelf: true }, { token: i1.HttpClient, optional: true }], target: i0.ɵɵFactoryTarget.NgModule }); }
2359
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: ApiModule }); }
2360
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiModule }); }
1138
2361
  }
2362
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiModule, decorators: [{
2363
+ type: NgModule,
2364
+ args: [{
2365
+ imports: [],
2366
+ declarations: [],
2367
+ exports: [],
2368
+ providers: []
2369
+ }]
2370
+ }], ctorParameters: () => [{ type: ApiModule, decorators: [{
2371
+ type: Optional
2372
+ }, {
2373
+ type: SkipSelf
2374
+ }] }, { type: i1.HttpClient, decorators: [{
2375
+ type: Optional
2376
+ }] }] });
1139
2377
 
1140
- class MessageBuilder {
1141
- static rwpDataNietGevonden(err) {
1142
- return new Message(Severity.ERROR, 'Error bij ophalen van rijwegplan data: ' + err);
1143
- }
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);
2378
+ class MstLoggingResource {
2379
+ constructor(controller, store) {
2380
+ this.controller = controller;
2381
+ this.store = store;
2382
+ this.subscriptions = new Subscription();
2383
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => controller.configuration.basePath = baseUrl + '/mst'));
1161
2384
  }
1162
- static meerDan12BladenGevonden(bladAmount) {
1163
- return new Message(Severity.WARNING, 'Warning, Rit bevat ' + bladAmount + ' bladen. Er worden maximaal 12 bladen ondersteund.');
2385
+ ngOnDestroy() {
2386
+ this.subscriptions.unsubscribe();
1164
2387
  }
1165
- static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1166
- return new Message(Severity.INFORMATION, 'Info, Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken);
2388
+ logMessages(logDto) {
2389
+ this.controller.log(logDto).subscribe();
1167
2390
  }
2391
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, deps: [{ token: LogControllerService }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
2392
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource }); }
1168
2393
  }
2394
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, decorators: [{
2395
+ type: Injectable
2396
+ }], ctorParameters: () => [{ type: LogControllerService }, { type: i2$1.Store }] });
1169
2397
 
1170
2398
  class LoggingHelper {
1171
- constructor(sbmService, store) {
1172
- this.sbmService = sbmService;
2399
+ constructor(store) {
1173
2400
  this.store = store;
1174
2401
  }
1175
2402
  maakLogDTO(melding, actie) {
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
- });
2403
+ return combineLatest([
2404
+ this.store.select('algemeneRitInfoDto'),
2405
+ this.store.select('iaVersie')
2406
+ ]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie]) => {
2407
+ let actieDto = null;
2408
+ if (actie) {
2409
+ actieDto = {
2410
+ pplgNaam: actie.pplgNaam,
2411
+ ritActieTypeOmschrijving: actie.ritActieTypeOmschrijving,
2412
+ ritActieStatus: actie.ritActieStatus,
2413
+ bewegingId: actie.bewegingId,
2414
+ wisselType: actie.wisselType,
2415
+ wisselNaam: actie.wisselNaam,
2416
+ wisselKantCode: actie.wisselKantCode,
2417
+ vanKilometerlint: actie.vanKilometerlint,
2418
+ vanKilometrering: actie.vanKilometrering,
2419
+ totKilometerlint: actie.totKilometerlint,
2420
+ totKilometrering: actie.totKilometrering
2421
+ };
2422
+ }
2423
+ return {
2424
+ iaVersie: iaVersie.versie,
2425
+ meldingLevel: melding.meldingLevel,
2426
+ meldingMessage: melding.meldingMessage,
2427
+ actieDto,
2428
+ algemeneRitInfoDto,
2429
+ sbinfoDtos: this.getSbInfoDtos()
2430
+ };
2431
+ }));
1208
2432
  }
1209
2433
  getSbInfoDtos() {
1210
2434
  const sbInfoDtos = [];
@@ -1215,12 +2439,12 @@ class LoggingHelper {
1215
2439
  });
1216
2440
  return sbInfoDtos;
1217
2441
  }
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 }); }
2442
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
1219
2443
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper }); }
1220
2444
  }
1221
2445
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, decorators: [{
1222
2446
  type: Injectable
1223
- }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }, { type: i2$1.Store }] });
2447
+ }], ctorParameters: () => [{ type: i2$1.Store }] });
1224
2448
 
1225
2449
  /**
1226
2450
  * export const RIT_ACTIE_1 = 1;
@@ -1316,6 +2540,7 @@ class ActieHelper {
1316
2540
  this.messagesService = messagesService;
1317
2541
  this.store = store;
1318
2542
  this.loggingHelper = loggingHelper;
2543
+ this.debug = false;
1319
2544
  this.store.select('debug').subscribe(debug => this.debug = debug);
1320
2545
  }
1321
2546
  static getActieTopoElements(ritDeel, sbmService) {
@@ -1349,10 +2574,10 @@ class ActieHelper {
1349
2574
  }
1350
2575
  }
1351
2576
  static actieComparator(actie1, actie2) {
1352
- if (actie1.vanKilometrering !== actie2.vanKilometrering) {
2577
+ if (actie1.vanKilometrering && actie2.vanKilometrering && actie1.vanKilometrering !== actie2.vanKilometrering) {
1353
2578
  return actie1.vanKilometrering > actie2.vanKilometrering ? 1 : -1;
1354
2579
  }
1355
- if (actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
2580
+ if (actie1.ritActieTypeOmschrijving && actie2.ritActieTypeOmschrijving && actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
1356
2581
  return actie1.ritActieTypeOmschrijving > actie2.ritActieTypeOmschrijving ? 1 : -1;
1357
2582
  }
1358
2583
  if (actie1.wisselNaam !== actie2.wisselNaam) {
@@ -1392,9 +2617,9 @@ class ActieHelper {
1392
2617
  // make sure the elems are sorted in ascending order
1393
2618
  static sorteerTopoElementen(topoElems) {
1394
2619
  const topoElementen = topoElems.slice();
1395
- let lint = null;
1396
- let first = null;
1397
- let second = null;
2620
+ let lint = undefined;
2621
+ let first;
2622
+ let second;
1398
2623
  for (const topoElement of topoElementen) {
1399
2624
  let kilometreringen = null;
1400
2625
  const kms = JsJavaUtil.listToArray(topoElement.getKilometreringen());
@@ -1426,11 +2651,11 @@ class ActieHelper {
1426
2651
  if (!totKilometreringen && vanKilometreringen) {
1427
2652
  totKilometreringen = [new MstKilometrering(vanKilometreringen[0].getKmLint(), 100000)];
1428
2653
  }
1429
- if (vanKilometreringen[0] > totKilometreringen[0]) {
2654
+ if (vanKilometreringen && totKilometreringen && vanKilometreringen[0] > totKilometreringen[0]) {
1430
2655
  kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, -1), this.addKm(totKilometreringen, 1)));
1431
2656
  }
1432
2657
  else {
1433
- kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, 1), this.addKm(totKilometreringen, -1)));
2658
+ kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen ?? [], 1), this.addKm(totKilometreringen ?? [], -1)));
1434
2659
  }
1435
2660
  });
1436
2661
  }
@@ -1521,21 +2746,23 @@ class ActieHelper {
1521
2746
  else {
1522
2747
  const puics = [];
1523
2748
  kmRanges.forEach(kmRange => {
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());
2749
+ if (actie.vanKilometrering && actie.vanKilometerlint && actie.totKilometrering && actie.totKilometerlint) {
2750
+ let vanKilometrering = new MstKilometrering(actie.vanKilometerlint, actie.vanKilometrering);
2751
+ let totKilometrering = new MstKilometrering(actie.totKilometerlint, actie.totKilometrering);
2752
+ if (actie.vanKilometrering > actie.totKilometrering) {
2753
+ const temp = { van: vanKilometrering, tot: totKilometrering };
2754
+ vanKilometrering = temp.tot;
2755
+ totKilometrering = temp.van;
2756
+ }
2757
+ if (kmRange.heeftOverlap(vanKilometrering, totKilometrering)) {
2758
+ puics.push(kmRange.topologyElement.getPuic());
2759
+ }
1533
2760
  }
1534
2761
  });
1535
2762
  if (puics.length === 0) {
1536
2763
  actieZonderElementen.push(actie.id);
1537
2764
  const melding = MeldingBuilder.actieHighlightError(actieZonderElementen);
1538
- logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
2765
+ this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(dto => logMeldingDTOs.push(dto))).subscribe();
1539
2766
  }
1540
2767
  retval.putAll(actie, puics);
1541
2768
  }
@@ -1543,15 +2770,15 @@ class ActieHelper {
1543
2770
  this.logLegeMeldingDto(logMeldingDTOs);
1544
2771
  return retval;
1545
2772
  }
1546
- logLegeMeldingDto(logMeldingDTOs) {
1547
- if (logMeldingDTOs.length > 0) {
1548
- this.mstLogResource.logErrorMessages(logMeldingDTOs);
2773
+ logLegeMeldingDto(logDto) {
2774
+ if (logDto.length > 0) {
2775
+ return this.mstLogResource.logMessages(logDto);
1549
2776
  }
1550
2777
  }
1551
2778
  verwerkTopoElementen(topoElementen) {
1552
2779
  const kmRanges = [];
1553
2780
  let topoElementenZonderKms = [];
1554
- let laatstePuntKms = null;
2781
+ let laatstePuntKms = undefined;
1555
2782
  topoElementen.forEach(elem => {
1556
2783
  const kms = JsJavaUtil.listToArray(elem.getKilometreringen());
1557
2784
  if (kms.length > 0) {
@@ -1565,7 +2792,7 @@ class ActieHelper {
1565
2792
  }
1566
2793
  });
1567
2794
  if (topoElementenZonderKms.length > 0 && laatstePuntKms) {
1568
- ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, null, kmRanges);
2795
+ ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, undefined, kmRanges);
1569
2796
  }
1570
2797
  return kmRanges;
1571
2798
  }
@@ -1628,14 +2855,14 @@ class ActieHelper {
1628
2855
  if (ActieHelper.isKantCodeLinks(kantcode)) {
1629
2856
  return wissel.getLeft();
1630
2857
  }
1631
- return null;
2858
+ return undefined;
1632
2859
  }
1633
2860
  bepaalPuicVoorWisselSlijpenActie(actie) {
1634
2861
  const storingsSymboolPuic = this.sbmService.getSBWissel(actie.wisselNaam, actie.pplgNaam)?.getStoringSymboolPuic();
1635
2862
  if (!storingsSymboolPuic && this.debug) {
1636
2863
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
1637
2864
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
1638
- this.mstLogResource.logErrorMessages([this.loggingHelper.maakLogDTO(melding, actie)]);
2865
+ this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(logDto => this.mstLogResource.logMessages([logDto]))).subscribe();
1639
2866
  }
1640
2867
  return storingsSymboolPuic ? [storingsSymboolPuic] : [];
1641
2868
  }
@@ -1650,10 +2877,16 @@ class RitdelenLijstComponent {
1650
2877
  constructor(store, sbmService) {
1651
2878
  this.store = store;
1652
2879
  this.sbmService = sbmService;
2880
+ this.nietGeplandeActies = [];
1653
2881
  this.focusEmitter = new EventEmitter();
1654
2882
  this.keurAlleActiesGoed = new EventEmitter();
2883
+ this.ritdeelViewModels = [];
1655
2884
  this.selectedRitdeelActies = [];
1656
2885
  this.selectedRitdeelOngeplandeActies = [];
2886
+ this.disableActieKnoppenVanRitdeel = true;
2887
+ this.editable = false;
2888
+ this.ongeplandeActiesMap = new ArrayMultimap();
2889
+ this.geplandeActies = new ArrayMultimap();
1657
2890
  this.NG_ACTIE_PREFIX = '* ';
1658
2891
  this.subscriptions = [];
1659
2892
  this.subscriptions.push(store.select('ritDelen').subscribe((ritdelen) => {
@@ -1664,9 +2897,6 @@ class RitdelenLijstComponent {
1664
2897
  this.subscriptions.push(store.select('ongeplandeActies').subscribe(acties => this.ongeplandeActiesMap = acties));
1665
2898
  this.subscriptions.push(store.select('geplandeActies').subscribe(acties => this.geplandeActies = acties));
1666
2899
  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));
1670
2900
  this.subscriptions.push(combineLatest([
1671
2901
  this.store.select('ritDelen'),
1672
2902
  this.store.select('ongeplandeActies')
@@ -1703,12 +2933,14 @@ class RitdelenLijstComponent {
1703
2933
  this.store.dispatch(deleteRitdeel(ritdeel));
1704
2934
  }
1705
2935
  deleteActiesUitRit() {
1706
- this.selectedRitdeel.acties.slice().forEach(actie => {
2936
+ this.selectedRitdeel?.acties.slice().forEach(actie => {
1707
2937
  this.deleteActieUitRit(actie);
1708
2938
  });
1709
2939
  }
1710
2940
  deleteActieUitRit(actie) {
1711
- const acties = this.selectedRitdeel.acties;
2941
+ if (!this.selectedRitdeel)
2942
+ return;
2943
+ const acties = this.selectedRitdeel.acties ?? [];
1712
2944
  const idx = acties.indexOf(actie);
1713
2945
  if (idx >= 0) {
1714
2946
  this.verhuisActieNaarOngepland(actie);
@@ -1734,7 +2966,7 @@ class RitdelenLijstComponent {
1734
2966
  }
1735
2967
  voegActieToeAanRit(ongeplandeActie) {
1736
2968
  const idx = this.selectedRitdeelOngeplandeActies.indexOf(ongeplandeActie);
1737
- if (idx >= 0) {
2969
+ if (idx >= 0 && this.selectedRitdeel) {
1738
2970
  this.store.dispatch(addRitdeelActie(this.selectedRitdeel, this.selectedRitdeelOngeplandeActies[idx].actie));
1739
2971
  this.store.dispatch(AddGeplandeActie(ongeplandeActie.actie, ongeplandeActie.puics));
1740
2972
  this.store.dispatch(DeleteOngeplandeActie(ongeplandeActie));
@@ -1836,13 +3068,13 @@ class RitdelenLijstComponent {
1836
3068
  return `${prefix}${ActieHelper.getVSTActieOmschrijving(actie)}`;
1837
3069
  }
1838
3070
  bepaalPrefixVoorActieOmschrijving(actie) {
1839
- const prefix = '';
1840
- if (this.selectedRitdeel.acties.includes(actie)) {
3071
+ const noPrefix = '';
3072
+ if (this.selectedRitdeel?.acties.includes(actie)) {
1841
3073
  // Afwijkende naam bij niet gevisualiseerde actie in rit
1842
3074
  const puics = this.geplandeActies.get(actie);
1843
- return puics.length > 0 ? prefix : this.NG_ACTIE_PREFIX;
3075
+ return puics.length > 0 ? noPrefix : this.NG_ACTIE_PREFIX;
1844
3076
  }
1845
- return prefix;
3077
+ return noPrefix;
1846
3078
  }
1847
3079
  actieVanKmTekst(actie) {
1848
3080
  if (ActieHelper.isWisselSlijpenActie(actie)) {
@@ -1863,6 +3095,7 @@ class RitdelenLijstComponent {
1863
3095
  return ritdeel.getPplgString();
1864
3096
  }
1865
3097
  getKantCode(stand) {
3098
+ // @ts-ignore
1866
3099
  if (stand === window['domein'].Stand.LINKS) {
1867
3100
  return 'L';
1868
3101
  }
@@ -1999,49 +3232,18 @@ class RitdeelViewModel {
1999
3232
  }
2000
3233
  }
2001
3234
 
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
-
2036
3235
  class ViewerControlsComponent {
2037
3236
  constructor(store, viewerControlsService, bewegingUtils) {
2038
3237
  this.store = store;
2039
3238
  this.viewerControlsService = viewerControlsService;
2040
3239
  this.bewegingUtils = bewegingUtils;
2041
3240
  this.paginationSize = 4;
3241
+ this.treinpad = undefined;
3242
+ this.goedgekeurd = new EventEmitter();
2042
3243
  this.printing$ = this.viewerControlsService.isPrinting$();
2043
3244
  this.valideRit$ = this.viewerControlsService.isValideRit$();
2044
3245
  this.subscriptions = new Subscription();
3246
+ this.editable = false;
2045
3247
  this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
2046
3248
  }
2047
3249
  ngOnChanges({ treinpad }) {
@@ -2053,24 +3255,23 @@ class ViewerControlsComponent {
2053
3255
  return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
2054
3256
  }
2055
3257
  goedkeurenClick() {
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
- }
3258
+ this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
3259
+ if (this.treinpad) {
3260
+ delete this.treinpad.aantalRitActies;
3261
+ this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
3262
+ this.goedgekeurd.emit(this.treinpad);
3263
+ this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
3264
+ }
3265
+ })).subscribe();
2063
3266
  }
2064
3267
  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" }] }); }
3268
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", 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" }] }); }
2066
3269
  }
2067
3270
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
2068
3271
  type: Component,
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"] }]
3272
+ 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"] }]
2070
3273
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: BewegingUtils }], propDecorators: { paginationSize: [{
2071
3274
  type: Input
2072
- }], iaversieinfo: [{
2073
- type: Input
2074
3275
  }], treinpad: [{
2075
3276
  type: Input
2076
3277
  }], goedgekeurd: [{
@@ -2125,7 +3326,7 @@ class ActiePopoverBepaler {
2125
3326
  ongeplandeActies.entries.forEach(entry => {
2126
3327
  const treinNummerActieInfos = puicNaarOngeplandeActieMap.get(entry.key);
2127
3328
  if (!treinNummerActieInfos?.map(({ actie }) => actie).includes(entry.value.actie)) {
2128
- puicNaarOngeplandeActieMap.put(entry.key, { treinNummer: undefined, actie: entry.value.actie });
3329
+ puicNaarOngeplandeActieMap.put(entry.key, { actie: entry.value.actie });
2129
3330
  }
2130
3331
  });
2131
3332
  }
@@ -2185,12 +3386,15 @@ class SvgVisualisatieComponent {
2185
3386
  this.actieHelper = actieHelper;
2186
3387
  this.sbmService = sbmService;
2187
3388
  this.editorService = editorService;
3389
+ this.nietGeplandeActies = [];
3390
+ this.useClickArea = false;
2188
3391
  this.svgInfos$ = this.store.select('svgInfos');
2189
3392
  this.popoverInfos = [];
2190
3393
  this.clickableIds = [];
2191
3394
  this.rightClickableIds = [];
2192
3395
  this.contextMenuActions = [];
2193
3396
  this.contextMenuStyle = { display: 'none' };
3397
+ this.editable = false;
2194
3398
  this.puicNaarBeginSeinRitdeel = new Map();
2195
3399
  this.puicNaarEindSeinCombinatie = new Map();
2196
3400
  this.puicNaarAlternatieveRoute = new Map();
@@ -2214,7 +3418,7 @@ class SvgVisualisatieComponent {
2214
3418
  }));
2215
3419
  }
2216
3420
  ngOnInit() {
2217
- document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
3421
+ document.getElementById('contextMenu')?.addEventListener('mouseleave', () => this.hideContextMenu());
2218
3422
  }
2219
3423
  ngOnDestroy() {
2220
3424
  this.subscriptions.forEach(s => s.unsubscribe());
@@ -2241,7 +3445,6 @@ class SvgVisualisatieComponent {
2241
3445
  this.store.dispatch(navigeerBuitenRit(puic));
2242
3446
  }
2243
3447
  }
2244
- this.store.dispatch(SetSelectedRitdeel(undefined));
2245
3448
  }
2246
3449
  handleImxviewRightClick(evt) {
2247
3450
  const fn = () => {
@@ -2272,7 +3475,7 @@ class SvgVisualisatieComponent {
2272
3475
  handleNieuweRouteToegevoegd() {
2273
3476
  this.store.select('nieuweRoute')
2274
3477
  .subscribe((nieuweRoute) => {
2275
- if (nieuweRoute.isValid()) {
3478
+ if (nieuweRoute?.isValid()) {
2276
3479
  this.store.dispatch(ResetNieuweRoute());
2277
3480
  this.store.dispatch(ritdeelInvoegen(nieuweRoute));
2278
3481
  }
@@ -2385,7 +3588,7 @@ class SvgVisualisatieComponent {
2385
3588
  });
2386
3589
  this.viewerControlsService.setValideRit(!gebrokenRit);
2387
3590
  this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
2388
- const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
3591
+ const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).flat();
2389
3592
  this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
2390
3593
  ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
2391
3594
  this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
@@ -2441,6 +3644,9 @@ class MstviewerComponent {
2441
3644
  this.printBewegingService = printBewegingService;
2442
3645
  this.paginationSize = 4;
2443
3646
  this.baseurl = 'https://acceptatie.raildesign.nl';
3647
+ this.debug = false;
3648
+ this.viewer = false;
3649
+ this.useClickArea = false;
2444
3650
  this.goedgekeurd = new EventEmitter();
2445
3651
  this.subscriptions = new Subscription();
2446
3652
  this.subscriptions.add(this.store.select('nieuweBewegingen').subscribe(nieuweRit => {
@@ -2491,23 +3697,26 @@ class MstviewerComponent {
2491
3697
  }
2492
3698
  }
2493
3699
  printFocusBeweging(bewegingId) {
2494
- return this.printBewegingService.printBeweging(bewegingId, this.paginationSize, this.iaversieinfo);
3700
+ return this.printBewegingService.printBeweging(bewegingId, this.paginationSize);
2495
3701
  }
2496
3702
  keurAlleActiesGoed() {
2497
3703
  this.viewerControlsService.keurAlleActiesGoed(this.ongeplandeActies);
2498
3704
  }
2499
3705
  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" }] }); }
3706
+ 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 [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" }] }); }
2501
3707
  }
2502
3708
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, decorators: [{
2503
3709
  type: Component,
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"] }]
3710
+ 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"] }]
2505
3711
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: DebugService }, { type: PrintBewegingService }], propDecorators: { iaversieinfo: [{
2506
- type: Input
3712
+ type: Input,
3713
+ args: [{ required: true }]
2507
3714
  }], treinpad: [{
2508
- type: Input
3715
+ type: Input,
3716
+ args: [{ required: true }]
2509
3717
  }], ongeplandeActies: [{
2510
- type: Input
3718
+ type: Input,
3719
+ args: [{ required: true }]
2511
3720
  }], paginationSize: [{
2512
3721
  type: Input
2513
3722
  }], baseurl: [{
@@ -2523,24 +3732,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2523
3732
  }] } });
2524
3733
 
2525
3734
  let SignaleringsbeeldInfoResource = class SignaleringsbeeldInfoResource extends Resource {
2526
- constructor(restHandler, store) {
3735
+ constructor(restHandler, store, sbControllerService) {
2527
3736
  super(restHandler);
3737
+ this.restHandler = restHandler;
2528
3738
  this.store = store;
3739
+ this.sbControllerService = sbControllerService;
2529
3740
  this.subscriptions = new Subscription();
2530
- this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.$setUrl(baseUrl)));
3741
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => {
3742
+ this.$setUrl(baseUrl);
3743
+ sbControllerService.configuration.basePath = baseUrl + '/mst';
3744
+ }));
2531
3745
  }
2532
3746
  ngOnDestroy() {
2533
3747
  this.subscriptions.unsubscribe();
2534
3748
  }
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 }); }
3749
+ laadSignaleringsbeeldInfo(versie, pplgs) {
3750
+ return this.sbControllerService.getSignaleringsbeelden(versie, pplgs);
3751
+ }
3752
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, deps: [{ token: i1$1.ResourceHandler }, { token: i2$1.Store }, { token: SbControllerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
2536
3753
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource }); }
2537
3754
  };
2538
- __decorate([
2539
- ResourceAction({
2540
- path: '/',
2541
- method: ResourceRequestMethod.Post
2542
- })
2543
- ], SignaleringsbeeldInfoResource.prototype, "laadSignaleringsbeeldInfo", void 0);
2544
3755
  __decorate([
2545
3756
  ResourceAction({
2546
3757
  path: '/valideeriaversie'
@@ -2553,7 +3764,7 @@ SignaleringsbeeldInfoResource = __decorate([
2553
3764
  ], SignaleringsbeeldInfoResource);
2554
3765
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
2555
3766
  type: Injectable
2556
- }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { laadSignaleringsbeeldInfo: [], getBestaatIALevering: [] } });
3767
+ }], ctorParameters: () => [{ type: i1$1.ResourceHandler }, { type: i2$1.Store }, { type: SbControllerService }], propDecorators: { getBestaatIALevering: [] } });
2557
3768
  class SignaleringsbeeldInfoDto extends ResourceModel {
2558
3769
  constructor(data) {
2559
3770
  super();
@@ -2581,13 +3792,15 @@ class BaseRestService {
2581
3792
  this.httpClient = httpClient;
2582
3793
  this.store = store;
2583
3794
  this.subscriptions = new Subscription();
3795
+ this.baseUrl = '';
3796
+ this.iaVersie = '';
2584
3797
  this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.baseUrl = baseUrl));
2585
3798
  this.subscriptions.add(this.store.select('iaVersie').subscribe(iaVersie => this.iaVersie = iaVersie.versie));
2586
3799
  }
2587
3800
  ngOnDestroy() {
2588
3801
  this.subscriptions.unsubscribe();
2589
3802
  }
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 }); }
3803
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, deps: [{ token: i1.HttpClient }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
2591
3804
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, providedIn: 'root' }); }
2592
3805
  }
2593
3806
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, decorators: [{
@@ -2595,7 +3808,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2595
3808
  args: [{
2596
3809
  providedIn: 'root'
2597
3810
  }]
2598
- }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.Store }] });
3811
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.Store }] });
2599
3812
 
2600
3813
  class BewegingVerrijkerService extends BaseRestService {
2601
3814
  getBewegingen(bewegingen, ongeplandeActies) {
@@ -2756,13 +3969,13 @@ class Ritdeel {
2756
3969
  return retval;
2757
3970
  }
2758
3971
  getVrijebaanRijwegplan() {
2759
- return this.vrijebaanRijwegplanRijwegDwangCombi.rijwegplan;
3972
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.rijwegplan;
2760
3973
  }
2761
3974
  getVrijebaanRijweg() {
2762
- return this.vrijebaanRijwegplanRijwegDwangCombi.rijweg;
3975
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.rijweg;
2763
3976
  }
2764
3977
  getVrijebaanDwang() {
2765
- return this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
3978
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.dwang;
2766
3979
  }
2767
3980
  getDwangNummer() {
2768
3981
  return this.rijwegplanRijwegDwangCombi.getDwangNummer();
@@ -2779,7 +3992,7 @@ class Ritdeel {
2779
3992
  isBinnenWindow() {
2780
3993
  return (this.zichtbaarheid === RitdeelZichtbaarheid.ZICHTBAAR ||
2781
3994
  this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_GEBRUIKER)
2782
- && this.zichtbaarBuitenPaginatie === false;
3995
+ && !this.zichtbaarBuitenPaginatie;
2783
3996
  }
2784
3997
  isNietBeschikbaar() {
2785
3998
  return this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_SYSTEEM;
@@ -2802,10 +4015,10 @@ class Ritdeel {
2802
4015
  }
2803
4016
  }
2804
4017
  heeftVrijebaanInfo() {
2805
- return this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
4018
+ return !!this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
2806
4019
  }
2807
4020
  getVrijebaanPrlRoute() {
2808
- return this.vrijebaanRijwegplanRijwegDwangCombi.getRoute();
4021
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.getRoute();
2809
4022
  }
2810
4023
  getTopologieElementen() {
2811
4024
  return this.topoElementen;
@@ -2837,10 +4050,10 @@ class Ritdeel {
2837
4050
  getZichtbaarheidBuitenPaginatie() {
2838
4051
  return this.zichtbaarBuitenPaginatie;
2839
4052
  }
2840
- bepaalTopologieElementen(signaleringsBeeldManagerService) {
2841
- const topoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getRoute());
4053
+ bepaalTopologieElementen(sbmService) {
4054
+ const topoElementen = sbmService.bepaalRouteElementen(this.getRoute());
2842
4055
  if (this.heeftVrijebaanInfo()) {
2843
- const vrijebaanTopoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
4056
+ const vrijebaanTopoElementen = sbmService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
2844
4057
  topoElementen.push(...vrijebaanTopoElementen);
2845
4058
  }
2846
4059
  this.topoElementen = topoElementen;
@@ -2886,7 +4099,7 @@ class RitLezerService {
2886
4099
  ritDelen.push(new Ritdeel(dwangInfo, beweging.ritActies, beweging, vrijebaanDwangInfo, vervolgSpoor, []));
2887
4100
  }
2888
4101
  extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg) {
2889
- let vrijebaanDwangInfo = null;
4102
+ let vrijebaanDwangInfo = undefined;
2890
4103
  let vervolgSpoor;
2891
4104
  if (beweging.naarSpoor.endsWith(SPOOR_NAAR_VRIJEBAAN_POSTFIX) ||
2892
4105
  beweging.naarSpoor.endsWith(SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX)) {
@@ -2900,9 +4113,9 @@ class RitLezerService {
2900
4113
  vrijebaanRijweg = vrijebaanRijwegen[0];
2901
4114
  vrijebaanDwang = vrijebaanRijweg.getDwangVoorDwangNummer(0);
2902
4115
  vervolgSpoor = vrijebaanRijwegplan.getVervolgSpoor(vrijebaanRijweg);
4116
+ vrijebaanDwangInfo =
4117
+ new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
2903
4118
  }
2904
- vrijebaanDwangInfo =
2905
- new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
2906
4119
  }
2907
4120
  }
2908
4121
  return { vrijebaanDwangInfo, vervolgSpoor };
@@ -2955,7 +4168,7 @@ class BepaalOngeplandeActiesEffect {
2955
4168
  this.bepaalOngeplandeActies$ = createEffect(() => this.actions$.pipe(ofType(BepaalOngeplandeActies), withLatestFrom(this.store), map(([action, store]) => {
2956
4169
  const puicActieMap = new ArrayMultimap();
2957
4170
  const nietGevondenTakken = [];
2958
- const logMeldingDTOs = [];
4171
+ const logMeldingDTOs$ = [];
2959
4172
  const acties = store.ritDelen.flatMap(rd => rd.acties);
2960
4173
  action.ongeplandeActies.forEach(actie => {
2961
4174
  const alreadyAdded = acties.filter(a => a.id === actie.id).length > 0;
@@ -2971,11 +4184,11 @@ class BepaalOngeplandeActiesEffect {
2971
4184
  if (!spoortak && nietGevondenTakken.indexOf(takId) < 0) {
2972
4185
  nietGevondenTakken.push(takId);
2973
4186
  const melding = MeldingBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken);
2974
- logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4187
+ logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2975
4188
  }
2976
4189
  else if (spoortak) {
2977
4190
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
2978
- logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4191
+ logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2979
4192
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
2980
4193
  }
2981
4194
  }
@@ -2984,8 +4197,8 @@ class BepaalOngeplandeActiesEffect {
2984
4197
  if (nietGevondenTakken.length > 0) {
2985
4198
  this.messagesService.showMessage(MessageBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken));
2986
4199
  }
2987
- if (logMeldingDTOs.length > 0) {
2988
- this.mstLogResource.logErrorMessages(logMeldingDTOs);
4200
+ if (logMeldingDTOs$.length > 0) {
4201
+ forkJoin(logMeldingDTOs$).pipe(tap(dtos => this.mstLogResource.logMessages(dtos))).subscribe();
2989
4202
  }
2990
4203
  this.store.dispatch(SetOngeplandeActies(puicActieMap));
2991
4204
  this.store.dispatch(SetOngeplandeActieSelectieIds(Array.from(puicActieMap.keys())));
@@ -3055,7 +4268,7 @@ class BepaalSbInfosEffect {
3055
4268
  next: _res => this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan)),
3056
4269
  error: err => {
3057
4270
  this.messagesService.showMessage(new Message(Severity.INFORMATION, Utils.getValidErorrMessage(err)));
3058
- const iaVersieInfo = { versie: 'DONNA_77136_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
4271
+ const iaVersieInfo = { versie: 'DONNA_97207_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
3059
4272
  this.store.dispatch(SetIaVersie(iaVersieInfo));
3060
4273
  this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan));
3061
4274
  }
@@ -3178,7 +4391,7 @@ class FocusEffect {
3178
4391
  const dwangPuics = this.getPuics(topoElementen);
3179
4392
  if (ritdeel.isNietBeschikbaar()) {
3180
4393
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
3181
- this.store.dispatch(navigeerVanaf(actie.paginationSize, actie.iaVersieInfo, ritdeel));
4394
+ this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
3182
4395
  }
3183
4396
  return focusOpIds(dwangPuics);
3184
4397
  })));
@@ -3200,16 +4413,16 @@ class LaadRouteFilesEffect {
3200
4413
  this.ritLezer = ritLezer;
3201
4414
  this.editorService = editorService;
3202
4415
  this.messagesService = messagesService;
3203
- this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), map(action => this.laadRouteFiles(action))), { dispatch: false });
4416
+ this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), withLatestFrom(this.store), map(([action, storeState]) => this.laadRouteFiles(action, storeState.iaVersie.versie))), { dispatch: false });
3204
4417
  }
3205
- laadRouteFiles(actie) {
4418
+ laadRouteFiles(actie, iaVersie) {
3206
4419
  const isReady = this.editorService.isReady();
3207
4420
  isReady.then(() => {
3208
4421
  const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
3209
- const promise = this.editorService.laadRouteFiles(actie.iaversieinfo.versie, pplgs);
4422
+ const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
3210
4423
  promise.then(() => {
3211
4424
  this.updateRitdelen(actie);
3212
- }, err => {
4425
+ }, (err) => {
3213
4426
  this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3214
4427
  });
3215
4428
  });
@@ -3220,7 +4433,7 @@ class LaadRouteFilesEffect {
3220
4433
  if (ritdelen.length === 0) {
3221
4434
  ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
3222
4435
  }
3223
- this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize, actie.iaversieinfo));
4436
+ this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize));
3224
4437
  this.store.dispatch(setEditable(actie.treinpad.ritStatus !== 'Definitief'));
3225
4438
  });
3226
4439
  }, 0);
@@ -3228,7 +4441,7 @@ class LaadRouteFilesEffect {
3228
4441
  bepaalSbDtoPplgs(dtos) {
3229
4442
  const pplgs = [];
3230
4443
  dtos.forEach(dto => {
3231
- dto.pplgs.forEach(pplg => {
4444
+ dto.pplgs?.forEach(pplg => {
3232
4445
  if (!pplgs.includes(pplg)) {
3233
4446
  pplgs.push(pplg);
3234
4447
  }
@@ -3269,14 +4482,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3269
4482
  }] });
3270
4483
 
3271
4484
  class LaadSignaleringsbeeldenEffect {
3272
- constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesSerivce) {
4485
+ constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesService) {
3273
4486
  this.actions$ = actions$;
3274
4487
  this.store = store;
3275
4488
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
3276
4489
  this.editorService = editorService;
3277
4490
  this.sbiResource = sbiResource;
3278
4491
  this.connectorService = connectorService;
3279
- this.messagesSerivce = messagesSerivce;
4492
+ this.messagesService = messagesService;
3280
4493
  this.SVG_PIXEL_RUIMTE = 30;
3281
4494
  this.verwerkRitdelen$ = createEffect(() => this.actions$.pipe(ofType(setRitDelen, navigeer, navigeerVanaf), withLatestFrom(this.store), map(([actie, storeState]) => {
3282
4495
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
@@ -3290,14 +4503,14 @@ class LaadSignaleringsbeeldenEffect {
3290
4503
  }).pipe(switchMap(this.getOtherRand.bind(this)), switchMap(this.loadRouteFilesAndSignaleringsbeeldInfo.bind(this)), switchMap(this.loadSignaleringsbeelden.bind(this)), map(this.processSvgsAndUpdateRitdelen.bind(this))))), { dispatch: false });
3291
4504
  }
3292
4505
  handleSignaleringsbeeldInfo({ actie, storeState }) {
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));
4506
+ return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, actie.pplgs).pipe(take(1), tap((dtos) => this.processResponse({ dtos, storeState, actie })), catchError((err) => {
4507
+ this.messagesService.showMessage(MessageBuilder.nietGevondenSBI(err));
3295
4508
  return throwError(() => err);
3296
4509
  }));
3297
4510
  }
3298
4511
  processResponse({ dtos, storeState, actie }) {
3299
4512
  if (dtos && dtos.filter(dto => dto.metVisualisatie).length > 12) {
3300
- this.messagesSerivce.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
4513
+ this.messagesService.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
3301
4514
  }
3302
4515
  this.store.dispatch(SetSignaleringsbeeldInfoDtos(dtos, storeState.iaVersie, actie.rit, actie.paginationSize, actie.ritGewijzigdToegestaan));
3303
4516
  this.store.dispatch(SetVisibleSignaleringsbeeldInfoDtos(dtos));
@@ -3307,14 +4520,14 @@ class LaadSignaleringsbeeldenEffect {
3307
4520
  }
3308
4521
  loadRouteFilesAndSignaleringsbeeldInfo({ otherPplg, rand, storeState }) {
3309
4522
  this.editorService.laadRouteFiles(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]);
3310
- return this.sbiResource.laadSignaleringsbeeldInfo(this.createSignaleringsbeeldInfoQueryDto([rand.getPPLG(), otherPplg], storeState.iaVersie)).pipe(map(dtos => ({ dtos, storeState })));
4523
+ return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]).pipe(map(dtos => ({ dtos, storeState })));
3311
4524
  }
3312
4525
  loadSignaleringsbeelden({ dtos, storeState }) {
3313
- return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, storeState, dtos })));
4526
+ return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, ritDelen: storeState.ritDelen, dtos })));
3314
4527
  }
3315
- processSvgsAndUpdateRitdelen({ svgDataUrls, storeState, dtos }) {
4528
+ processSvgsAndUpdateRitdelen({ svgDataUrls, ritDelen, dtos }) {
3316
4529
  this.verwerkSvgs(svgDataUrls);
3317
- const nieuweRitdelen = this.updateRitdelen(storeState.ritDelen, dtos);
4530
+ const nieuweRitdelen = this.updateRitdelen(ritDelen, dtos);
3318
4531
  this.store.dispatch(UpdateVisibleSignaleringsbeeldInfoDtos(dtos));
3319
4532
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
3320
4533
  }
@@ -3327,11 +4540,11 @@ class LaadSignaleringsbeeldenEffect {
3327
4540
  const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
3328
4541
  const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
3329
4542
  const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
3330
- this.editorService.laadSignaleringsbeelden(actie.iaversieinfo.versie, loadingDtos).pipe(tap(svgDataUrls => {
4543
+ this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
3331
4544
  this.verwerkSvgs(svgDataUrls);
3332
4545
  this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
3333
4546
  }), catchError(err => {
3334
- this.messagesSerivce.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4547
+ this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3335
4548
  throw err;
3336
4549
  })).subscribe();
3337
4550
  }
@@ -3346,10 +4559,6 @@ class LaadSignaleringsbeeldenEffect {
3346
4559
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
3347
4560
  }, 0);
3348
4561
  }
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
- }
3353
4562
  verwerkSvgs(svgDataUrls) {
3354
4563
  this.store.dispatch(SetSvgInfos(this.bepaalSvgInfos(svgDataUrls)));
3355
4564
  }
@@ -3376,7 +4585,7 @@ class LaadSignaleringsbeeldenEffect {
3376
4585
  bepaalZichtbareDtos(visibleRitPplgs, dtos) {
3377
4586
  const visibleDtos = [];
3378
4587
  visibleRitPplgs.forEach(pplg => {
3379
- dtos.filter(dto => dto.pplgs.includes(pplg)).forEach(dto => {
4588
+ dtos.filter(dto => dto.pplgs?.includes(pplg)).forEach(dto => {
3380
4589
  if (!visibleDtos.includes(dto)) {
3381
4590
  visibleDtos.push(dto);
3382
4591
  }
@@ -3386,13 +4595,13 @@ class LaadSignaleringsbeeldenEffect {
3386
4595
  dtos.filter(d => !visibleDtos.includes(d)).forEach(d => d.metVisualisatie = false);
3387
4596
  return visibleDtos;
3388
4597
  }
3389
- distinct(value, index, self) {
3390
- return self.indexOf(value) === index;
4598
+ distinct(value, index, values) {
4599
+ return values.indexOf(value) === index;
3391
4600
  }
3392
4601
  addPrevNonVisibleDto(firstIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
3393
4602
  if (firstIdx >= 0) {
3394
4603
  const pplg = ritdelen[firstIdx].getPplg();
3395
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4604
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3396
4605
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
3397
4606
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
3398
4607
  d.metVisualisatie = false;
@@ -3407,7 +4616,7 @@ class LaadSignaleringsbeeldenEffect {
3407
4616
  addNextNonVisibleDto(lastIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
3408
4617
  if (lastIdx <= ritdelen.length - 1) {
3409
4618
  const pplg = ritdelen[lastIdx].getPplg();
3410
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4619
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3411
4620
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
3412
4621
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
3413
4622
  d.metVisualisatie = false;
@@ -3476,7 +4685,7 @@ class LaadSignaleringsbeeldenEffect {
3476
4685
  }
3477
4686
  }
3478
4687
  }
3479
- this.updateZichtbaarheidAangrezendeRitdelen(min, max, ritdelen, visibleDtos);
4688
+ this.updateZichtbaarheidAangrenzendeRitdelen(min, max, ritdelen, visibleDtos);
3480
4689
  return this.updateZichtbaarheidBuitenWindow(ritdelen, visibleDtos);
3481
4690
  }
3482
4691
  updateZichtbaarheidBuitenWindow(nieuweRitdelen, visibleDtos) {
@@ -3492,7 +4701,7 @@ class LaadSignaleringsbeeldenEffect {
3492
4701
  }
3493
4702
  return nieuweRitdelen;
3494
4703
  }
3495
- updateZichtbaarheidAangrezendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
4704
+ updateZichtbaarheidAangrenzendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
3496
4705
  let i = min - 1;
3497
4706
  while (i >= 0) {
3498
4707
  i = this.updateZichtbaarHeid(i, 0, visibleDtos, nieuweRitdelen) - 1;
@@ -3528,9 +4737,11 @@ class LaadSignaleringsbeeldenEffect {
3528
4737
  }
3529
4738
  bevatGevisualiseerdePplg(visibleDtos, pplg) {
3530
4739
  for (const dto of visibleDtos) {
3531
- for (const dtopplg of dto.pplgs) {
3532
- if (dtopplg === pplg) {
3533
- return true;
4740
+ if (dto.pplgs) {
4741
+ for (const dtopplg of dto.pplgs) {
4742
+ if (dtopplg === pplg) {
4743
+ return true;
4744
+ }
3534
4745
  }
3535
4746
  }
3536
4747
  }
@@ -3580,7 +4791,7 @@ class LaadSignaleringsbeeldenEffect {
3580
4791
  pplgsWindow.push(itemPplg);
3581
4792
  }
3582
4793
  const pplgDtos = [];
3583
- dtos.filter(dto => dto.pplgs.includes(itemPplg)).forEach(dto => {
4794
+ dtos.filter(dto => dto.pplgs?.includes(itemPplg)).forEach(dto => {
3584
4795
  if (!pplgDtos.includes(dto)) {
3585
4796
  pplgDtos.push(dto);
3586
4797
  }
@@ -3627,11 +4838,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3627
4838
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: BewegingVerrijkerService }] });
3628
4839
 
3629
4840
  class RitdelenEffect {
3630
- constructor(actions$, store, sbmService, rijwegPlanEditorService) {
4841
+ constructor(actions$, store, sbmService, editorService) {
3631
4842
  this.actions$ = actions$;
3632
4843
  this.store = store;
3633
4844
  this.sbmService = sbmService;
3634
- this.rijwegPlanEditorService = rijwegPlanEditorService;
4845
+ this.editorService = editorService;
3635
4846
  this.updateRitDelen$ = createEffect(() => this.actions$.pipe(ofType(updateRitDelen), withLatestFrom(this.store), map(([actie, _storeState]) => {
3636
4847
  const nieuweRitDelen = actie.ritDelen.map(ritDeel => ritDeel.isZichtbaar() ?
3637
4848
  ritDeel.copyMetAlternatieveRoutes(this.sbmService.bepaalAlternativeRoutes(ritDeel.getRijweg())) : ritDeel);
@@ -3649,25 +4860,25 @@ class RitdelenEffect {
3649
4860
  return setRitdelenAfterUpdate(ritDelen);
3650
4861
  })));
3651
4862
  this.ritdeelInvoegen$ = createEffect(() => this.actions$.pipe(ofType(ritdeelInvoegen), withLatestFrom(this.store), map(([actie, storeState]) => {
3652
- const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute, this.rijwegPlanEditorService, this.sbmService);
4863
+ const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute);
3653
4864
  return setRitdelenAfterUpdate(ritDelen);
3654
4865
  })));
3655
4866
  }
3656
- ritdeelInvoegenFunc(ritDelen, nieuweRoute, rijwegPlanEditorService, sbmService) {
4867
+ ritdeelInvoegenFunc(ritDelen, nieuweRoute) {
3657
4868
  const origineelRitdeel = nieuweRoute.beginSeinOpRitdeel.ritdeel;
3658
4869
  const beginSein = nieuweRoute.beginSeinOpRitdeel.sein;
3659
- const rijwegplan = rijwegPlanEditorService.getRijwegplan(beginSein.getPPLG());
4870
+ const rijwegplan = this.editorService.getRijwegplan(beginSein.getPPLG());
3660
4871
  const dwangen = JsJavaUtil.listToArray(rijwegplan.getOnderliggendeDwangenTotEnVanSein(origineelRitdeel.getDwang(), beginSein));
3661
4872
  const isSamengesteldeRoute = dwangen[0] && dwangen[1];
3662
4873
  let newRitdeel1 = origineelRitdeel;
3663
4874
  if (isSamengesteldeRoute) {
3664
- newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen);
4875
+ newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen);
3665
4876
  }
3666
- if (nieuweRoute.combinatieVoorEindsein.isVrijeBaanRijweg()) {
3667
- this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService);
4877
+ if (nieuweRoute.combinatieVoorEindsein?.isVrijeBaanRijweg()) {
4878
+ this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute);
3668
4879
  }
3669
4880
  else {
3670
- this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen);
4881
+ this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen);
3671
4882
  }
3672
4883
  if (isSamengesteldeRoute) {
3673
4884
  ritDelen.splice(ritDelen.indexOf(origineelRitdeel), 1);
@@ -3682,38 +4893,39 @@ class RitdelenEffect {
3682
4893
  }
3683
4894
  }
3684
4895
  }
3685
- verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen) {
4896
+ verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen) {
3686
4897
  // dwangen in 2 nieuwe ritdelen verwerken voor de knip
3687
4898
  const nieuweRijweg1 = rijwegplan.getRijwegVoorSeinen(dwangen[0].getRoute().getBeginSein(), dwangen[0].getRoute().getEindSein());
3688
4899
  const dwangInfo1 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg1, dwangen[0]);
3689
- const newRitdeel1 = new Ritdeel(dwangInfo1, [], null, null, null, []);
4900
+ const newRitdeel1 = new Ritdeel(dwangInfo1, [], undefined, undefined, undefined, []);
3690
4901
  // remove vrijbaan info uit ritdeel
3691
- newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = null;
3692
- newRitdeel1.vervolgSpoor = null;
3693
- newRitdeel1.bepaalTopologieElementen(sbmService);
4902
+ newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = undefined;
4903
+ newRitdeel1.vervolgSpoor = undefined;
4904
+ newRitdeel1.bepaalTopologieElementen(this.sbmService);
3694
4905
  this.insertRitdeel(ritDelen, origineelRitdeel, newRitdeel1);
3695
4906
  const nieuweRijweg2 = rijwegplan.getRijwegVoorSeinen(dwangen[1].getRoute().getBeginSein(), dwangen[1].getRoute().getEindSein());
3696
4907
  const dwangInfo2 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg2, dwangen[1]);
3697
- const newRitdeel2 = new Ritdeel(dwangInfo2, [], null, null, null, []);
3698
- newRitdeel2.bepaalTopologieElementen(sbmService);
4908
+ const newRitdeel2 = new Ritdeel(dwangInfo2, [], undefined, undefined, undefined, []);
4909
+ newRitdeel2.bepaalTopologieElementen(this.sbmService);
3699
4910
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel2);
3700
4911
  return newRitdeel1;
3701
4912
  }
3702
- extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService) {
4913
+ extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute) {
3703
4914
  newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = nieuweRoute.combinatieVoorEindsein;
3704
- const vbrwp = nieuweRoute.combinatieVoorEindsein.rijwegplan;
3705
- newRitdeel1.vervolgSpoor = vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein.rijweg);
3706
- newRitdeel1.bepaalTopologieElementen(sbmService);
4915
+ const vbrwp = nieuweRoute.combinatieVoorEindsein?.rijwegplan;
4916
+ newRitdeel1.vervolgSpoor = nieuweRoute.combinatieVoorEindsein ?
4917
+ vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein?.rijweg) : undefined;
4918
+ newRitdeel1.bepaalTopologieElementen(this.sbmService);
3707
4919
  }
3708
- maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen) {
4920
+ maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen) {
3709
4921
  let newRitdeel = this.createRitdeel(nieuweRoute);
3710
- const altRoutes = sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
4922
+ const altRoutes = this.sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
3711
4923
  newRitdeel = newRitdeel.copyMetAlternatieveRoutes(altRoutes);
3712
- newRitdeel.bepaalTopologieElementen(sbmService);
4924
+ newRitdeel.bepaalTopologieElementen(this.sbmService);
3713
4925
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel);
3714
4926
  }
3715
4927
  createRitdeel(nieuweRoute) {
3716
- return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], null, null, null, []);
4928
+ return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], undefined, undefined, undefined, []);
3717
4929
  }
3718
4930
  insertRitdeel(ritdelen, naRitdeelPositie, newRitdeel) {
3719
4931
  const idx = ritdelen.indexOf(naRitdeelPositie);
@@ -3764,13 +4976,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3764
4976
  type: Injectable
3765
4977
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: i4.SignaleringsbeeldSvgUtilityService }] });
3766
4978
 
4979
+ class ProgressIndicator {
4980
+ constructor(lowerText, upperText, iconClass) {
4981
+ this.lowerText = '';
4982
+ this.upperText = '';
4983
+ this.iconClass = '';
4984
+ this.lowerText = lowerText ?? this.lowerText;
4985
+ this.upperText = upperText ?? this.upperText;
4986
+ this.iconClass = iconClass ?? this.iconClass;
4987
+ }
4988
+ }
4989
+
3767
4990
  class NieuweRoute {
3768
4991
  constructor(beginSeinOpRitdeel, combinatieVoorEindsein) {
3769
4992
  this.beginSeinOpRitdeel = beginSeinOpRitdeel;
3770
4993
  this.combinatieVoorEindsein = combinatieVoorEindsein;
3771
4994
  }
3772
4995
  isValid() {
3773
- return this.combinatieVoorEindsein !== null;
4996
+ return !!this.combinatieVoorEindsein;
3774
4997
  }
3775
4998
  }
3776
4999
 
@@ -3836,7 +5059,7 @@ function addRitdeelActieFunc(ritDelen, { ritDeel, actie }) {
3836
5059
  const onIdsActionHandler = (action) => on(action, (_, { ids }) => ids);
3837
5060
  const createIdsReducer = (action) => createReducer([], onIdsActionHandler(action));
3838
5061
  const editableReducer = createReducer(true, on(setEditable, (_, { editable }) => editable));
3839
- const progressIndicatorReducer = createReducer(undefined, on(ShowProgress, () => ({ progressIndicator: {} })), on(ClearProgress, () => undefined));
5062
+ const progressIndicatorReducer = createReducer({}, on(ShowProgress, () => ({ progressIndicator: new ProgressIndicator() })), on(ClearProgress, () => ({})));
3840
5063
  const svgInfoReducer = createReducer([], on(SetSvgInfos, (_, { svgInfos }) => svgInfos));
3841
5064
  const debugReducer = createReducer(false, on(SetDebug, (_, { debug }) => debug));
3842
5065
  const ritSelectieIdsReducer = createIdsReducer(SetRitSelectieIds);
@@ -3862,12 +5085,10 @@ const ongeplandeActieReducer = createReducer(new ArrayMultimap(), on(SetOngeplan
3862
5085
  ongeplandeActie.puics.forEach(puic => ongeplandeActies.delete(puic, ongeplandeActie));
3863
5086
  return new ArrayMultimap(ongeplandeActies);
3864
5087
  }));
3865
- const ongeplandeActieSelectieIdsReducer = createReducer([],
3866
- // on(MstActions.SetOngeplandeActieSelectieIds, (_, { ids }) => ids),
3867
- onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
5088
+ const ongeplandeActieSelectieIdsReducer = createReducer([], onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
3868
5089
  ongeplandeActie.puics.filter(puic => !ids.includes(puic)).forEach(puic => ids.push(puic));
3869
5090
  return [...ids];
3870
- }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => [].concat(ids.includes(id) ? ids.filter(_id => _id !== id) : ids)));
5091
+ }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => ids.includes(id) ? ids.filter(_id => _id !== id) : ids));
3871
5092
  const gebrokenRitSelectieIdsReducer = createIdsReducer(SetGebrokenRitSelectieIds);
3872
5093
  const alternatievenSelectieIdsReducer = createIdsReducer(SetAlternatievenSelectieIds);
3873
5094
  const beginSeinSelectieIdsReducer = createIdsReducer(SetBeginSeinSelectieIds);
@@ -3876,16 +5097,15 @@ const alternatievenClickableIdsReducer = createIdsReducer(SetAlternatievenClicka
3876
5097
  const eindSeinenClickableIdsReducer = createIdsReducer(SetEindSeinenClickableIds);
3877
5098
  const connectorClickableIdsReducer = createIdsReducer(SetConnectorenClickableIds);
3878
5099
  const beginSeinRightClickableIdsReducer = createIdsReducer(SetBeginSeinRightClickableIds);
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)));
5100
+ 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));
3880
5101
  const signaleringsbeeldInfoDtosReducer = createReducer([], on(SetSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
3881
5102
  const visibleSbInfoDtosReducer = createReducer([], on(SetVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
3882
- const iaVersieReducer = createReducer({}, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
3883
- const algemeneRitInfoDtoReducer = createReducer(new AlgemeneRitInfoDto(), on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
5103
+ const iaVersieReducer = createReducer({ versie: 'unknown', ingangsDatum: new Date() }, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
5104
+ const algemeneRitInfoDtoReducer = createReducer({}, on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
3884
5105
  const ongeplandeActiesBepaaldReducer = createReducer(false, on(SetOngeplandeActiesBepaald, (_, { bepaald }) => bepaald));
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));
5106
+ const nieuweBewegingReducer = createReducer([], on(UpdateRit, (_, { bewegingen }) => bewegingen));
5107
+ const baseUrlReducer = createReducer('', on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
5108
+ const focusIdsReducer = createReducer([], on(focusOpIds, (_, { puics }) => puics));
3889
5109
  const storeReducers = {
3890
5110
  ritDelen: ritdelenReducer,
3891
5111
  ritSelectieIds: ritSelectieIdsReducer,
@@ -3914,9 +5134,9 @@ const storeReducers = {
3914
5134
  nieuweBewegingen: nieuweBewegingReducer,
3915
5135
  baseUrl: baseUrlReducer,
3916
5136
  focusIds: focusIdsReducer,
3917
- selectedRitdeelId: selectedRitdeelIdReducer
3918
5137
  };
3919
5138
 
5139
+ // @ts-nocheck
3920
5140
  class ZoneUtil {
3921
5141
  constructor(ngZone) {
3922
5142
  this.ngZone = ngZone;
@@ -3979,6 +5199,7 @@ class MstViewerModule {
3979
5199
  constructor(service, zoneUtil) {
3980
5200
  this.service = service;
3981
5201
  // maak de EditorService toegankelijk voor GWT code
5202
+ // @ts-ignore
3982
5203
  window['rpe'] = {
3983
5204
  EditorService: zoneUtil.proxy(service)
3984
5205
  };
@@ -3996,7 +5217,7 @@ class MstViewerModule {
3996
5217
  SvgVisualisatieComponent,
3997
5218
  MessagesComponent], imports: [CommonModule,
3998
5219
  ImxViewerModule,
3999
- RijwegenModule, i1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
5220
+ RijwegenModule, i1$1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
4000
5221
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, providers: [
4001
5222
  ZoneUtil,
4002
5223
  SignaleringsbeeldInfoResource,