@loxia/mst-viewer 8.1.3-202511240252 → 8.1.3-202511241306

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 -33
  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 +37 -50
  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 +1868 -676
  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 +8 -23
  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 -8
  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 } 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,245 +830,1613 @@ 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';
2208
+ }
2209
+ else {
2210
+ responseType_ = 'blob';
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
2223
+ });
2224
+ }
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';
1001
2258
  }
1002
2259
  else {
1003
- this.focusOpBeweging(ritdeel, resolve);
2260
+ responseType_ = 'blob';
1004
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
1005
2273
  });
1006
2274
  }
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);
1023
- });
1024
- }
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
- });
1208
- }
1209
- getSbInfoDtos() {
1210
- const sbInfoDtos = [];
1211
- this.store.select('visibleSbInfoDtos').pipe(take(1)).subscribe(dtos => {
1212
- dtos.forEach(d => {
1213
- sbInfoDtos.push(d);
1214
- });
1215
- });
1216
- return sbInfoDtos;
2403
+ return combineLatest([
2404
+ this.store.select('algemeneRitInfoDto'),
2405
+ this.store.select('iaVersie'),
2406
+ this.store.select('visibleSbInfoDtos')
2407
+ ]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie, visibleSbInfoDtos]) => {
2408
+ let actieDto = null;
2409
+ if (actie) {
2410
+ actieDto = {
2411
+ pplgNaam: actie.pplgNaam,
2412
+ ritActieTypeOmschrijving: actie.ritActieTypeOmschrijving,
2413
+ ritActieStatus: actie.ritActieStatus,
2414
+ bewegingId: actie.bewegingId,
2415
+ wisselType: actie.wisselType,
2416
+ wisselNaam: actie.wisselNaam,
2417
+ wisselKantCode: actie.wisselKantCode,
2418
+ vanKilometerlint: actie.vanKilometerlint,
2419
+ vanKilometrering: actie.vanKilometrering,
2420
+ totKilometerlint: actie.totKilometerlint,
2421
+ totKilometrering: actie.totKilometrering
2422
+ };
2423
+ }
2424
+ return {
2425
+ iaVersie: iaVersie.versie,
2426
+ meldingLevel: melding.meldingLevel,
2427
+ meldingMessage: melding.meldingMessage,
2428
+ actieDto,
2429
+ algemeneRitInfoDto,
2430
+ sbinfoDtos: visibleSbInfoDtos
2431
+ };
2432
+ }));
1217
2433
  }
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 }); }
2434
+ 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
2435
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper }); }
1220
2436
  }
1221
2437
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, decorators: [{
1222
2438
  type: Injectable
1223
- }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }, { type: i2$1.Store }] });
2439
+ }], ctorParameters: () => [{ type: i2$1.Store }] });
1224
2440
 
1225
2441
  /**
1226
2442
  * export const RIT_ACTIE_1 = 1;
@@ -1316,6 +2532,7 @@ class ActieHelper {
1316
2532
  this.messagesService = messagesService;
1317
2533
  this.store = store;
1318
2534
  this.loggingHelper = loggingHelper;
2535
+ this.debug = false;
1319
2536
  this.store.select('debug').subscribe(debug => this.debug = debug);
1320
2537
  }
1321
2538
  static getActieTopoElements(ritDeel, sbmService) {
@@ -1349,10 +2566,10 @@ class ActieHelper {
1349
2566
  }
1350
2567
  }
1351
2568
  static actieComparator(actie1, actie2) {
1352
- if (actie1.vanKilometrering !== actie2.vanKilometrering) {
2569
+ if (actie1.vanKilometrering && actie2.vanKilometrering && actie1.vanKilometrering !== actie2.vanKilometrering) {
1353
2570
  return actie1.vanKilometrering > actie2.vanKilometrering ? 1 : -1;
1354
2571
  }
1355
- if (actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
2572
+ if (actie1.ritActieTypeOmschrijving && actie2.ritActieTypeOmschrijving && actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
1356
2573
  return actie1.ritActieTypeOmschrijving > actie2.ritActieTypeOmschrijving ? 1 : -1;
1357
2574
  }
1358
2575
  if (actie1.wisselNaam !== actie2.wisselNaam) {
@@ -1392,9 +2609,9 @@ class ActieHelper {
1392
2609
  // make sure the elems are sorted in ascending order
1393
2610
  static sorteerTopoElementen(topoElems) {
1394
2611
  const topoElementen = topoElems.slice();
1395
- let lint = null;
1396
- let first = null;
1397
- let second = null;
2612
+ let lint = undefined;
2613
+ let first;
2614
+ let second;
1398
2615
  for (const topoElement of topoElementen) {
1399
2616
  let kilometreringen = null;
1400
2617
  const kms = JsJavaUtil.listToArray(topoElement.getKilometreringen());
@@ -1426,11 +2643,11 @@ class ActieHelper {
1426
2643
  if (!totKilometreringen && vanKilometreringen) {
1427
2644
  totKilometreringen = [new MstKilometrering(vanKilometreringen[0].getKmLint(), 100000)];
1428
2645
  }
1429
- if (vanKilometreringen[0] > totKilometreringen[0]) {
2646
+ if (vanKilometreringen && totKilometreringen && vanKilometreringen[0] > totKilometreringen[0]) {
1430
2647
  kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, -1), this.addKm(totKilometreringen, 1)));
1431
2648
  }
1432
2649
  else {
1433
- kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, 1), this.addKm(totKilometreringen, -1)));
2650
+ kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen ?? [], 1), this.addKm(totKilometreringen ?? [], -1)));
1434
2651
  }
1435
2652
  });
1436
2653
  }
@@ -1521,21 +2738,23 @@ class ActieHelper {
1521
2738
  else {
1522
2739
  const puics = [];
1523
2740
  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());
2741
+ if (actie.vanKilometrering && actie.vanKilometerlint && actie.totKilometrering && actie.totKilometerlint) {
2742
+ let vanKilometrering = new MstKilometrering(actie.vanKilometerlint, actie.vanKilometrering);
2743
+ let totKilometrering = new MstKilometrering(actie.totKilometerlint, actie.totKilometrering);
2744
+ if (actie.vanKilometrering > actie.totKilometrering) {
2745
+ const temp = { van: vanKilometrering, tot: totKilometrering };
2746
+ vanKilometrering = temp.tot;
2747
+ totKilometrering = temp.van;
2748
+ }
2749
+ if (kmRange.heeftOverlap(vanKilometrering, totKilometrering)) {
2750
+ puics.push(kmRange.topologyElement.getPuic());
2751
+ }
1533
2752
  }
1534
2753
  });
1535
2754
  if (puics.length === 0) {
1536
2755
  actieZonderElementen.push(actie.id);
1537
2756
  const melding = MeldingBuilder.actieHighlightError(actieZonderElementen);
1538
- logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
2757
+ this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(dto => logMeldingDTOs.push(dto))).subscribe();
1539
2758
  }
1540
2759
  retval.putAll(actie, puics);
1541
2760
  }
@@ -1543,15 +2762,15 @@ class ActieHelper {
1543
2762
  this.logLegeMeldingDto(logMeldingDTOs);
1544
2763
  return retval;
1545
2764
  }
1546
- logLegeMeldingDto(logMeldingDTOs) {
1547
- if (logMeldingDTOs.length > 0) {
1548
- this.mstLogResource.logErrorMessages(logMeldingDTOs);
2765
+ logLegeMeldingDto(logDto) {
2766
+ if (logDto.length > 0) {
2767
+ return this.mstLogResource.logMessages(logDto);
1549
2768
  }
1550
2769
  }
1551
2770
  verwerkTopoElementen(topoElementen) {
1552
2771
  const kmRanges = [];
1553
2772
  let topoElementenZonderKms = [];
1554
- let laatstePuntKms = null;
2773
+ let laatstePuntKms = undefined;
1555
2774
  topoElementen.forEach(elem => {
1556
2775
  const kms = JsJavaUtil.listToArray(elem.getKilometreringen());
1557
2776
  if (kms.length > 0) {
@@ -1565,7 +2784,7 @@ class ActieHelper {
1565
2784
  }
1566
2785
  });
1567
2786
  if (topoElementenZonderKms.length > 0 && laatstePuntKms) {
1568
- ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, null, kmRanges);
2787
+ ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, undefined, kmRanges);
1569
2788
  }
1570
2789
  return kmRanges;
1571
2790
  }
@@ -1628,14 +2847,14 @@ class ActieHelper {
1628
2847
  if (ActieHelper.isKantCodeLinks(kantcode)) {
1629
2848
  return wissel.getLeft();
1630
2849
  }
1631
- return null;
2850
+ return undefined;
1632
2851
  }
1633
2852
  bepaalPuicVoorWisselSlijpenActie(actie) {
1634
2853
  const storingsSymboolPuic = this.sbmService.getSBWissel(actie.wisselNaam, actie.pplgNaam)?.getStoringSymboolPuic();
1635
2854
  if (!storingsSymboolPuic && this.debug) {
1636
2855
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
1637
2856
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
1638
- this.mstLogResource.logErrorMessages([this.loggingHelper.maakLogDTO(melding, actie)]);
2857
+ this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(logDto => this.mstLogResource.logMessages([logDto]))).subscribe();
1639
2858
  }
1640
2859
  return storingsSymboolPuic ? [storingsSymboolPuic] : [];
1641
2860
  }
@@ -1650,10 +2869,16 @@ class RitdelenLijstComponent {
1650
2869
  constructor(store, sbmService) {
1651
2870
  this.store = store;
1652
2871
  this.sbmService = sbmService;
2872
+ this.nietGeplandeActies = [];
1653
2873
  this.focusEmitter = new EventEmitter();
1654
2874
  this.keurAlleActiesGoed = new EventEmitter();
2875
+ this.ritdeelViewModels = [];
1655
2876
  this.selectedRitdeelActies = [];
1656
2877
  this.selectedRitdeelOngeplandeActies = [];
2878
+ this.disableActieKnoppenVanRitdeel = true;
2879
+ this.editable = false;
2880
+ this.ongeplandeActiesMap = new ArrayMultimap();
2881
+ this.geplandeActies = new ArrayMultimap();
1657
2882
  this.NG_ACTIE_PREFIX = '* ';
1658
2883
  this.subscriptions = [];
1659
2884
  this.subscriptions.push(store.select('ritDelen').subscribe((ritdelen) => {
@@ -1664,9 +2889,6 @@ class RitdelenLijstComponent {
1664
2889
  this.subscriptions.push(store.select('ongeplandeActies').subscribe(acties => this.ongeplandeActiesMap = acties));
1665
2890
  this.subscriptions.push(store.select('geplandeActies').subscribe(acties => this.geplandeActies = acties));
1666
2891
  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
2892
  this.subscriptions.push(combineLatest([
1671
2893
  this.store.select('ritDelen'),
1672
2894
  this.store.select('ongeplandeActies')
@@ -1703,12 +2925,14 @@ class RitdelenLijstComponent {
1703
2925
  this.store.dispatch(deleteRitdeel(ritdeel));
1704
2926
  }
1705
2927
  deleteActiesUitRit() {
1706
- this.selectedRitdeel.acties.slice().forEach(actie => {
2928
+ this.selectedRitdeel?.acties.slice().forEach(actie => {
1707
2929
  this.deleteActieUitRit(actie);
1708
2930
  });
1709
2931
  }
1710
2932
  deleteActieUitRit(actie) {
1711
- const acties = this.selectedRitdeel.acties;
2933
+ if (!this.selectedRitdeel)
2934
+ return;
2935
+ const acties = this.selectedRitdeel.acties ?? [];
1712
2936
  const idx = acties.indexOf(actie);
1713
2937
  if (idx >= 0) {
1714
2938
  this.verhuisActieNaarOngepland(actie);
@@ -1734,7 +2958,7 @@ class RitdelenLijstComponent {
1734
2958
  }
1735
2959
  voegActieToeAanRit(ongeplandeActie) {
1736
2960
  const idx = this.selectedRitdeelOngeplandeActies.indexOf(ongeplandeActie);
1737
- if (idx >= 0) {
2961
+ if (idx >= 0 && this.selectedRitdeel) {
1738
2962
  this.store.dispatch(addRitdeelActie(this.selectedRitdeel, this.selectedRitdeelOngeplandeActies[idx].actie));
1739
2963
  this.store.dispatch(AddGeplandeActie(ongeplandeActie.actie, ongeplandeActie.puics));
1740
2964
  this.store.dispatch(DeleteOngeplandeActie(ongeplandeActie));
@@ -1836,13 +3060,13 @@ class RitdelenLijstComponent {
1836
3060
  return `${prefix}${ActieHelper.getVSTActieOmschrijving(actie)}`;
1837
3061
  }
1838
3062
  bepaalPrefixVoorActieOmschrijving(actie) {
1839
- const prefix = '';
1840
- if (this.selectedRitdeel.acties.includes(actie)) {
3063
+ const noPrefix = '';
3064
+ if (this.selectedRitdeel?.acties.includes(actie)) {
1841
3065
  // Afwijkende naam bij niet gevisualiseerde actie in rit
1842
3066
  const puics = this.geplandeActies.get(actie);
1843
- return puics.length > 0 ? prefix : this.NG_ACTIE_PREFIX;
3067
+ return puics.length > 0 ? noPrefix : this.NG_ACTIE_PREFIX;
1844
3068
  }
1845
- return prefix;
3069
+ return noPrefix;
1846
3070
  }
1847
3071
  actieVanKmTekst(actie) {
1848
3072
  if (ActieHelper.isWisselSlijpenActie(actie)) {
@@ -1863,6 +3087,7 @@ class RitdelenLijstComponent {
1863
3087
  return ritdeel.getPplgString();
1864
3088
  }
1865
3089
  getKantCode(stand) {
3090
+ // @ts-ignore
1866
3091
  if (stand === window['domein'].Stand.LINKS) {
1867
3092
  return 'L';
1868
3093
  }
@@ -1999,49 +3224,18 @@ class RitdeelViewModel {
1999
3224
  }
2000
3225
  }
2001
3226
 
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
3227
  class ViewerControlsComponent {
2037
3228
  constructor(store, viewerControlsService, bewegingUtils) {
2038
3229
  this.store = store;
2039
3230
  this.viewerControlsService = viewerControlsService;
2040
3231
  this.bewegingUtils = bewegingUtils;
2041
3232
  this.paginationSize = 4;
3233
+ this.treinpad = undefined;
3234
+ this.goedgekeurd = new EventEmitter();
2042
3235
  this.printing$ = this.viewerControlsService.isPrinting$();
2043
3236
  this.valideRit$ = this.viewerControlsService.isValideRit$();
2044
3237
  this.subscriptions = new Subscription();
3238
+ this.editable = false;
2045
3239
  this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
2046
3240
  }
2047
3241
  ngOnChanges({ treinpad }) {
@@ -2053,24 +3247,23 @@ class ViewerControlsComponent {
2053
3247
  return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
2054
3248
  }
2055
3249
  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
- }
3250
+ this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
3251
+ if (this.treinpad) {
3252
+ delete this.treinpad.aantalRitActies;
3253
+ this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
3254
+ this.goedgekeurd.emit(this.treinpad);
3255
+ this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
3256
+ }
3257
+ })).subscribe();
2063
3258
  }
2064
3259
  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" }] }); }
3260
+ 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
3261
  }
2067
3262
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
2068
3263
  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"] }]
3264
+ 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
3265
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: BewegingUtils }], propDecorators: { paginationSize: [{
2071
3266
  type: Input
2072
- }], iaversieinfo: [{
2073
- type: Input
2074
3267
  }], treinpad: [{
2075
3268
  type: Input
2076
3269
  }], goedgekeurd: [{
@@ -2125,7 +3318,7 @@ class ActiePopoverBepaler {
2125
3318
  ongeplandeActies.entries.forEach(entry => {
2126
3319
  const treinNummerActieInfos = puicNaarOngeplandeActieMap.get(entry.key);
2127
3320
  if (!treinNummerActieInfos?.map(({ actie }) => actie).includes(entry.value.actie)) {
2128
- puicNaarOngeplandeActieMap.put(entry.key, { treinNummer: undefined, actie: entry.value.actie });
3321
+ puicNaarOngeplandeActieMap.put(entry.key, { actie: entry.value.actie });
2129
3322
  }
2130
3323
  });
2131
3324
  }
@@ -2185,12 +3378,15 @@ class SvgVisualisatieComponent {
2185
3378
  this.actieHelper = actieHelper;
2186
3379
  this.sbmService = sbmService;
2187
3380
  this.editorService = editorService;
3381
+ this.nietGeplandeActies = [];
3382
+ this.useClickArea = false;
2188
3383
  this.svgInfos$ = this.store.select('svgInfos');
2189
3384
  this.popoverInfos = [];
2190
3385
  this.clickableIds = [];
2191
3386
  this.rightClickableIds = [];
2192
3387
  this.contextMenuActions = [];
2193
3388
  this.contextMenuStyle = { display: 'none' };
3389
+ this.editable = false;
2194
3390
  this.puicNaarBeginSeinRitdeel = new Map();
2195
3391
  this.puicNaarEindSeinCombinatie = new Map();
2196
3392
  this.puicNaarAlternatieveRoute = new Map();
@@ -2214,7 +3410,7 @@ class SvgVisualisatieComponent {
2214
3410
  }));
2215
3411
  }
2216
3412
  ngOnInit() {
2217
- document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
3413
+ document.getElementById('contextMenu')?.addEventListener('mouseleave', () => this.hideContextMenu());
2218
3414
  }
2219
3415
  ngOnDestroy() {
2220
3416
  this.subscriptions.forEach(s => s.unsubscribe());
@@ -2241,7 +3437,6 @@ class SvgVisualisatieComponent {
2241
3437
  this.store.dispatch(navigeerBuitenRit(puic));
2242
3438
  }
2243
3439
  }
2244
- this.store.dispatch(SetSelectedRitdeel(undefined));
2245
3440
  }
2246
3441
  handleImxviewRightClick(evt) {
2247
3442
  const fn = () => {
@@ -2272,7 +3467,7 @@ class SvgVisualisatieComponent {
2272
3467
  handleNieuweRouteToegevoegd() {
2273
3468
  this.store.select('nieuweRoute')
2274
3469
  .subscribe((nieuweRoute) => {
2275
- if (nieuweRoute.isValid()) {
3470
+ if (nieuweRoute?.isValid()) {
2276
3471
  this.store.dispatch(ResetNieuweRoute());
2277
3472
  this.store.dispatch(ritdeelInvoegen(nieuweRoute));
2278
3473
  }
@@ -2385,7 +3580,7 @@ class SvgVisualisatieComponent {
2385
3580
  });
2386
3581
  this.viewerControlsService.setValideRit(!gebrokenRit);
2387
3582
  this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
2388
- const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
3583
+ const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).flat();
2389
3584
  this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
2390
3585
  ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
2391
3586
  this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
@@ -2441,6 +3636,9 @@ class MstviewerComponent {
2441
3636
  this.printBewegingService = printBewegingService;
2442
3637
  this.paginationSize = 4;
2443
3638
  this.baseurl = 'https://acceptatie.raildesign.nl';
3639
+ this.debug = false;
3640
+ this.viewer = false;
3641
+ this.useClickArea = false;
2444
3642
  this.goedgekeurd = new EventEmitter();
2445
3643
  this.subscriptions = new Subscription();
2446
3644
  this.subscriptions.add(this.store.select('nieuweBewegingen').subscribe(nieuweRit => {
@@ -2491,23 +3689,26 @@ class MstviewerComponent {
2491
3689
  }
2492
3690
  }
2493
3691
  printFocusBeweging(bewegingId) {
2494
- return this.printBewegingService.printBeweging(bewegingId, this.paginationSize, this.iaversieinfo);
3692
+ return this.printBewegingService.printBeweging(bewegingId, this.paginationSize);
2495
3693
  }
2496
3694
  keurAlleActiesGoed() {
2497
3695
  this.viewerControlsService.keurAlleActiesGoed(this.ongeplandeActies);
2498
3696
  }
2499
3697
  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" }] }); }
3698
+ 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
3699
  }
2502
3700
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, decorators: [{
2503
3701
  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"] }]
3702
+ 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
3703
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: DebugService }, { type: PrintBewegingService }], propDecorators: { iaversieinfo: [{
2506
- type: Input
3704
+ type: Input,
3705
+ args: [{ required: true }]
2507
3706
  }], treinpad: [{
2508
- type: Input
3707
+ type: Input,
3708
+ args: [{ required: true }]
2509
3709
  }], ongeplandeActies: [{
2510
- type: Input
3710
+ type: Input,
3711
+ args: [{ required: true }]
2511
3712
  }], paginationSize: [{
2512
3713
  type: Input
2513
3714
  }], baseurl: [{
@@ -2523,24 +3724,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2523
3724
  }] } });
2524
3725
 
2525
3726
  let SignaleringsbeeldInfoResource = class SignaleringsbeeldInfoResource extends Resource {
2526
- constructor(restHandler, store) {
3727
+ constructor(restHandler, store, sbControllerService) {
2527
3728
  super(restHandler);
3729
+ this.restHandler = restHandler;
2528
3730
  this.store = store;
3731
+ this.sbControllerService = sbControllerService;
2529
3732
  this.subscriptions = new Subscription();
2530
- this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.$setUrl(baseUrl)));
3733
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => {
3734
+ this.$setUrl(baseUrl);
3735
+ sbControllerService.configuration.basePath = baseUrl + '/mst';
3736
+ }));
2531
3737
  }
2532
3738
  ngOnDestroy() {
2533
3739
  this.subscriptions.unsubscribe();
2534
3740
  }
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 }); }
3741
+ laadSignaleringsbeeldInfo(versie, pplgs) {
3742
+ return this.sbControllerService.getSignaleringsbeelden(versie, pplgs);
3743
+ }
3744
+ 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
3745
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource }); }
2537
3746
  };
2538
- __decorate([
2539
- ResourceAction({
2540
- path: '/',
2541
- method: ResourceRequestMethod.Post
2542
- })
2543
- ], SignaleringsbeeldInfoResource.prototype, "laadSignaleringsbeeldInfo", void 0);
2544
3747
  __decorate([
2545
3748
  ResourceAction({
2546
3749
  path: '/valideeriaversie'
@@ -2553,41 +3756,22 @@ SignaleringsbeeldInfoResource = __decorate([
2553
3756
  ], SignaleringsbeeldInfoResource);
2554
3757
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
2555
3758
  type: Injectable
2556
- }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { laadSignaleringsbeeldInfo: [], getBestaatIALevering: [] } });
2557
- class SignaleringsbeeldInfoDto extends ResourceModel {
2558
- constructor(data) {
2559
- super();
2560
- this.$resource = SignaleringsbeeldInfoResource;
2561
- this.$setData(data);
2562
- }
2563
- toJSON() {
2564
- return { bladnaam: this.bladNaam, pplgs: this.pplgs, metVisualisatie: this.metVisualisatie };
2565
- }
2566
- toString() {
2567
- return `${this.bladNaam}, ${this.pplgs}, ${this.metVisualisatie}`;
2568
- }
2569
- $setData(data) {
2570
- if (data) {
2571
- this.bladNaam = data.bladNaam;
2572
- this.pplgs = data.pplgs;
2573
- this.metVisualisatie = data.metVisualisatie;
2574
- }
2575
- return this;
2576
- }
2577
- }
3759
+ }], ctorParameters: () => [{ type: i1$1.ResourceHandler }, { type: i2$1.Store }, { type: SbControllerService }], propDecorators: { getBestaatIALevering: [] } });
2578
3760
 
2579
3761
  class BaseRestService {
2580
3762
  constructor(httpClient, store) {
2581
3763
  this.httpClient = httpClient;
2582
3764
  this.store = store;
2583
3765
  this.subscriptions = new Subscription();
3766
+ this.baseUrl = '';
3767
+ this.iaVersie = '';
2584
3768
  this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.baseUrl = baseUrl));
2585
3769
  this.subscriptions.add(this.store.select('iaVersie').subscribe(iaVersie => this.iaVersie = iaVersie.versie));
2586
3770
  }
2587
3771
  ngOnDestroy() {
2588
3772
  this.subscriptions.unsubscribe();
2589
3773
  }
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 }); }
3774
+ 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
3775
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, providedIn: 'root' }); }
2592
3776
  }
2593
3777
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, decorators: [{
@@ -2595,7 +3779,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2595
3779
  args: [{
2596
3780
  providedIn: 'root'
2597
3781
  }]
2598
- }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.Store }] });
3782
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.Store }] });
2599
3783
 
2600
3784
  class BewegingVerrijkerService extends BaseRestService {
2601
3785
  getBewegingen(bewegingen, ongeplandeActies) {
@@ -2756,13 +3940,13 @@ class Ritdeel {
2756
3940
  return retval;
2757
3941
  }
2758
3942
  getVrijebaanRijwegplan() {
2759
- return this.vrijebaanRijwegplanRijwegDwangCombi.rijwegplan;
3943
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.rijwegplan;
2760
3944
  }
2761
3945
  getVrijebaanRijweg() {
2762
- return this.vrijebaanRijwegplanRijwegDwangCombi.rijweg;
3946
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.rijweg;
2763
3947
  }
2764
3948
  getVrijebaanDwang() {
2765
- return this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
3949
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.dwang;
2766
3950
  }
2767
3951
  getDwangNummer() {
2768
3952
  return this.rijwegplanRijwegDwangCombi.getDwangNummer();
@@ -2779,7 +3963,7 @@ class Ritdeel {
2779
3963
  isBinnenWindow() {
2780
3964
  return (this.zichtbaarheid === RitdeelZichtbaarheid.ZICHTBAAR ||
2781
3965
  this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_GEBRUIKER)
2782
- && this.zichtbaarBuitenPaginatie === false;
3966
+ && !this.zichtbaarBuitenPaginatie;
2783
3967
  }
2784
3968
  isNietBeschikbaar() {
2785
3969
  return this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_SYSTEEM;
@@ -2802,10 +3986,10 @@ class Ritdeel {
2802
3986
  }
2803
3987
  }
2804
3988
  heeftVrijebaanInfo() {
2805
- return this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
3989
+ return !!this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
2806
3990
  }
2807
3991
  getVrijebaanPrlRoute() {
2808
- return this.vrijebaanRijwegplanRijwegDwangCombi.getRoute();
3992
+ return this.vrijebaanRijwegplanRijwegDwangCombi?.getRoute();
2809
3993
  }
2810
3994
  getTopologieElementen() {
2811
3995
  return this.topoElementen;
@@ -2837,10 +4021,10 @@ class Ritdeel {
2837
4021
  getZichtbaarheidBuitenPaginatie() {
2838
4022
  return this.zichtbaarBuitenPaginatie;
2839
4023
  }
2840
- bepaalTopologieElementen(signaleringsBeeldManagerService) {
2841
- const topoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getRoute());
4024
+ bepaalTopologieElementen(sbmService) {
4025
+ const topoElementen = sbmService.bepaalRouteElementen(this.getRoute());
2842
4026
  if (this.heeftVrijebaanInfo()) {
2843
- const vrijebaanTopoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
4027
+ const vrijebaanTopoElementen = sbmService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
2844
4028
  topoElementen.push(...vrijebaanTopoElementen);
2845
4029
  }
2846
4030
  this.topoElementen = topoElementen;
@@ -2886,7 +4070,7 @@ class RitLezerService {
2886
4070
  ritDelen.push(new Ritdeel(dwangInfo, beweging.ritActies, beweging, vrijebaanDwangInfo, vervolgSpoor, []));
2887
4071
  }
2888
4072
  extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg) {
2889
- let vrijebaanDwangInfo = null;
4073
+ let vrijebaanDwangInfo = undefined;
2890
4074
  let vervolgSpoor;
2891
4075
  if (beweging.naarSpoor.endsWith(SPOOR_NAAR_VRIJEBAAN_POSTFIX) ||
2892
4076
  beweging.naarSpoor.endsWith(SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX)) {
@@ -2900,9 +4084,9 @@ class RitLezerService {
2900
4084
  vrijebaanRijweg = vrijebaanRijwegen[0];
2901
4085
  vrijebaanDwang = vrijebaanRijweg.getDwangVoorDwangNummer(0);
2902
4086
  vervolgSpoor = vrijebaanRijwegplan.getVervolgSpoor(vrijebaanRijweg);
4087
+ vrijebaanDwangInfo =
4088
+ new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
2903
4089
  }
2904
- vrijebaanDwangInfo =
2905
- new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
2906
4090
  }
2907
4091
  }
2908
4092
  return { vrijebaanDwangInfo, vervolgSpoor };
@@ -2955,7 +4139,7 @@ class BepaalOngeplandeActiesEffect {
2955
4139
  this.bepaalOngeplandeActies$ = createEffect(() => this.actions$.pipe(ofType(BepaalOngeplandeActies), withLatestFrom(this.store), map(([action, store]) => {
2956
4140
  const puicActieMap = new ArrayMultimap();
2957
4141
  const nietGevondenTakken = [];
2958
- const logMeldingDTOs = [];
4142
+ const logMeldingDTOs$ = [];
2959
4143
  const acties = store.ritDelen.flatMap(rd => rd.acties);
2960
4144
  action.ongeplandeActies.forEach(actie => {
2961
4145
  const alreadyAdded = acties.filter(a => a.id === actie.id).length > 0;
@@ -2971,11 +4155,11 @@ class BepaalOngeplandeActiesEffect {
2971
4155
  if (!spoortak && nietGevondenTakken.indexOf(takId) < 0) {
2972
4156
  nietGevondenTakken.push(takId);
2973
4157
  const melding = MeldingBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken);
2974
- logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4158
+ logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2975
4159
  }
2976
4160
  else if (spoortak) {
2977
4161
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
2978
- logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4162
+ logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2979
4163
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
2980
4164
  }
2981
4165
  }
@@ -2984,8 +4168,8 @@ class BepaalOngeplandeActiesEffect {
2984
4168
  if (nietGevondenTakken.length > 0) {
2985
4169
  this.messagesService.showMessage(MessageBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken));
2986
4170
  }
2987
- if (logMeldingDTOs.length > 0) {
2988
- this.mstLogResource.logErrorMessages(logMeldingDTOs);
4171
+ if (logMeldingDTOs$.length > 0) {
4172
+ forkJoin(logMeldingDTOs$).pipe(tap(dtos => this.mstLogResource.logMessages(dtos))).subscribe();
2989
4173
  }
2990
4174
  this.store.dispatch(SetOngeplandeActies(puicActieMap));
2991
4175
  this.store.dispatch(SetOngeplandeActieSelectieIds(Array.from(puicActieMap.keys())));
@@ -3055,7 +4239,7 @@ class BepaalSbInfosEffect {
3055
4239
  next: _res => this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan)),
3056
4240
  error: err => {
3057
4241
  this.messagesService.showMessage(new Message(Severity.INFORMATION, Utils.getValidErorrMessage(err)));
3058
- const iaVersieInfo = { versie: 'DONNA_77136_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
4242
+ const iaVersieInfo = { versie: 'DONNA_97207_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
3059
4243
  this.store.dispatch(SetIaVersie(iaVersieInfo));
3060
4244
  this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan));
3061
4245
  }
@@ -3178,7 +4362,7 @@ class FocusEffect {
3178
4362
  const dwangPuics = this.getPuics(topoElementen);
3179
4363
  if (ritdeel.isNietBeschikbaar()) {
3180
4364
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
3181
- this.store.dispatch(navigeerVanaf(actie.paginationSize, actie.iaVersieInfo, ritdeel));
4365
+ this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
3182
4366
  }
3183
4367
  return focusOpIds(dwangPuics);
3184
4368
  })));
@@ -3200,16 +4384,16 @@ class LaadRouteFilesEffect {
3200
4384
  this.ritLezer = ritLezer;
3201
4385
  this.editorService = editorService;
3202
4386
  this.messagesService = messagesService;
3203
- this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), map(action => this.laadRouteFiles(action))), { dispatch: false });
4387
+ this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), withLatestFrom(this.store), map(([action, storeState]) => this.laadRouteFiles(action, storeState.iaVersie.versie))), { dispatch: false });
3204
4388
  }
3205
- laadRouteFiles(actie) {
4389
+ laadRouteFiles(actie, iaVersie) {
3206
4390
  const isReady = this.editorService.isReady();
3207
4391
  isReady.then(() => {
3208
4392
  const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
3209
- const promise = this.editorService.laadRouteFiles(actie.iaversieinfo.versie, pplgs);
4393
+ const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
3210
4394
  promise.then(() => {
3211
4395
  this.updateRitdelen(actie);
3212
- }, err => {
4396
+ }, (err) => {
3213
4397
  this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3214
4398
  });
3215
4399
  });
@@ -3220,7 +4404,7 @@ class LaadRouteFilesEffect {
3220
4404
  if (ritdelen.length === 0) {
3221
4405
  ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
3222
4406
  }
3223
- this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize, actie.iaversieinfo));
4407
+ this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize));
3224
4408
  this.store.dispatch(setEditable(actie.treinpad.ritStatus !== 'Definitief'));
3225
4409
  });
3226
4410
  }, 0);
@@ -3228,7 +4412,7 @@ class LaadRouteFilesEffect {
3228
4412
  bepaalSbDtoPplgs(dtos) {
3229
4413
  const pplgs = [];
3230
4414
  dtos.forEach(dto => {
3231
- dto.pplgs.forEach(pplg => {
4415
+ dto.pplgs?.forEach(pplg => {
3232
4416
  if (!pplgs.includes(pplg)) {
3233
4417
  pplgs.push(pplg);
3234
4418
  }
@@ -3269,14 +4453,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3269
4453
  }] });
3270
4454
 
3271
4455
  class LaadSignaleringsbeeldenEffect {
3272
- constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesSerivce) {
4456
+ constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesService) {
3273
4457
  this.actions$ = actions$;
3274
4458
  this.store = store;
3275
4459
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
3276
4460
  this.editorService = editorService;
3277
4461
  this.sbiResource = sbiResource;
3278
4462
  this.connectorService = connectorService;
3279
- this.messagesSerivce = messagesSerivce;
4463
+ this.messagesService = messagesService;
3280
4464
  this.SVG_PIXEL_RUIMTE = 30;
3281
4465
  this.verwerkRitdelen$ = createEffect(() => this.actions$.pipe(ofType(setRitDelen, navigeer, navigeerVanaf), withLatestFrom(this.store), map(([actie, storeState]) => {
3282
4466
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
@@ -3290,14 +4474,14 @@ class LaadSignaleringsbeeldenEffect {
3290
4474
  }).pipe(switchMap(this.getOtherRand.bind(this)), switchMap(this.loadRouteFilesAndSignaleringsbeeldInfo.bind(this)), switchMap(this.loadSignaleringsbeelden.bind(this)), map(this.processSvgsAndUpdateRitdelen.bind(this))))), { dispatch: false });
3291
4475
  }
3292
4476
  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));
4477
+ return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, actie.pplgs).pipe(take(1), tap((dtos) => this.processResponse({ dtos, storeState, actie })), catchError((err) => {
4478
+ this.messagesService.showMessage(MessageBuilder.nietGevondenSBI(err));
3295
4479
  return throwError(() => err);
3296
4480
  }));
3297
4481
  }
3298
4482
  processResponse({ dtos, storeState, actie }) {
3299
4483
  if (dtos && dtos.filter(dto => dto.metVisualisatie).length > 12) {
3300
- this.messagesSerivce.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
4484
+ this.messagesService.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
3301
4485
  }
3302
4486
  this.store.dispatch(SetSignaleringsbeeldInfoDtos(dtos, storeState.iaVersie, actie.rit, actie.paginationSize, actie.ritGewijzigdToegestaan));
3303
4487
  this.store.dispatch(SetVisibleSignaleringsbeeldInfoDtos(dtos));
@@ -3307,14 +4491,14 @@ class LaadSignaleringsbeeldenEffect {
3307
4491
  }
3308
4492
  loadRouteFilesAndSignaleringsbeeldInfo({ otherPplg, rand, storeState }) {
3309
4493
  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 })));
4494
+ return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]).pipe(map(dtos => ({ dtos, storeState })));
3311
4495
  }
3312
4496
  loadSignaleringsbeelden({ dtos, storeState }) {
3313
- return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, storeState, dtos })));
4497
+ return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, ritDelen: storeState.ritDelen, dtos })));
3314
4498
  }
3315
- processSvgsAndUpdateRitdelen({ svgDataUrls, storeState, dtos }) {
4499
+ processSvgsAndUpdateRitdelen({ svgDataUrls, ritDelen, dtos }) {
3316
4500
  this.verwerkSvgs(svgDataUrls);
3317
- const nieuweRitdelen = this.updateRitdelen(storeState.ritDelen, dtos);
4501
+ const nieuweRitdelen = this.updateRitdelen(ritDelen, dtos);
3318
4502
  this.store.dispatch(UpdateVisibleSignaleringsbeeldInfoDtos(dtos));
3319
4503
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
3320
4504
  }
@@ -3327,11 +4511,11 @@ class LaadSignaleringsbeeldenEffect {
3327
4511
  const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
3328
4512
  const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
3329
4513
  const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
3330
- this.editorService.laadSignaleringsbeelden(actie.iaversieinfo.versie, loadingDtos).pipe(tap(svgDataUrls => {
4514
+ this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
3331
4515
  this.verwerkSvgs(svgDataUrls);
3332
4516
  this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
3333
4517
  }), catchError(err => {
3334
- this.messagesSerivce.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4518
+ this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3335
4519
  throw err;
3336
4520
  })).subscribe();
3337
4521
  }
@@ -3346,10 +4530,6 @@ class LaadSignaleringsbeeldenEffect {
3346
4530
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
3347
4531
  }, 0);
3348
4532
  }
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
4533
  verwerkSvgs(svgDataUrls) {
3354
4534
  this.store.dispatch(SetSvgInfos(this.bepaalSvgInfos(svgDataUrls)));
3355
4535
  }
@@ -3376,7 +4556,7 @@ class LaadSignaleringsbeeldenEffect {
3376
4556
  bepaalZichtbareDtos(visibleRitPplgs, dtos) {
3377
4557
  const visibleDtos = [];
3378
4558
  visibleRitPplgs.forEach(pplg => {
3379
- dtos.filter(dto => dto.pplgs.includes(pplg)).forEach(dto => {
4559
+ dtos.filter(dto => dto.pplgs?.includes(pplg)).forEach(dto => {
3380
4560
  if (!visibleDtos.includes(dto)) {
3381
4561
  visibleDtos.push(dto);
3382
4562
  }
@@ -3386,13 +4566,13 @@ class LaadSignaleringsbeeldenEffect {
3386
4566
  dtos.filter(d => !visibleDtos.includes(d)).forEach(d => d.metVisualisatie = false);
3387
4567
  return visibleDtos;
3388
4568
  }
3389
- distinct(value, index, self) {
3390
- return self.indexOf(value) === index;
4569
+ distinct(value, index, values) {
4570
+ return values.indexOf(value) === index;
3391
4571
  }
3392
4572
  addPrevNonVisibleDto(firstIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
3393
4573
  if (firstIdx >= 0) {
3394
4574
  const pplg = ritdelen[firstIdx].getPplg();
3395
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4575
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3396
4576
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
3397
4577
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
3398
4578
  d.metVisualisatie = false;
@@ -3407,7 +4587,7 @@ class LaadSignaleringsbeeldenEffect {
3407
4587
  addNextNonVisibleDto(lastIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
3408
4588
  if (lastIdx <= ritdelen.length - 1) {
3409
4589
  const pplg = ritdelen[lastIdx].getPplg();
3410
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4590
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3411
4591
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
3412
4592
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
3413
4593
  d.metVisualisatie = false;
@@ -3476,7 +4656,7 @@ class LaadSignaleringsbeeldenEffect {
3476
4656
  }
3477
4657
  }
3478
4658
  }
3479
- this.updateZichtbaarheidAangrezendeRitdelen(min, max, ritdelen, visibleDtos);
4659
+ this.updateZichtbaarheidAangrenzendeRitdelen(min, max, ritdelen, visibleDtos);
3480
4660
  return this.updateZichtbaarheidBuitenWindow(ritdelen, visibleDtos);
3481
4661
  }
3482
4662
  updateZichtbaarheidBuitenWindow(nieuweRitdelen, visibleDtos) {
@@ -3492,7 +4672,7 @@ class LaadSignaleringsbeeldenEffect {
3492
4672
  }
3493
4673
  return nieuweRitdelen;
3494
4674
  }
3495
- updateZichtbaarheidAangrezendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
4675
+ updateZichtbaarheidAangrenzendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
3496
4676
  let i = min - 1;
3497
4677
  while (i >= 0) {
3498
4678
  i = this.updateZichtbaarHeid(i, 0, visibleDtos, nieuweRitdelen) - 1;
@@ -3528,9 +4708,11 @@ class LaadSignaleringsbeeldenEffect {
3528
4708
  }
3529
4709
  bevatGevisualiseerdePplg(visibleDtos, pplg) {
3530
4710
  for (const dto of visibleDtos) {
3531
- for (const dtopplg of dto.pplgs) {
3532
- if (dtopplg === pplg) {
3533
- return true;
4711
+ if (dto.pplgs) {
4712
+ for (const dtopplg of dto.pplgs) {
4713
+ if (dtopplg === pplg) {
4714
+ return true;
4715
+ }
3534
4716
  }
3535
4717
  }
3536
4718
  }
@@ -3580,7 +4762,7 @@ class LaadSignaleringsbeeldenEffect {
3580
4762
  pplgsWindow.push(itemPplg);
3581
4763
  }
3582
4764
  const pplgDtos = [];
3583
- dtos.filter(dto => dto.pplgs.includes(itemPplg)).forEach(dto => {
4765
+ dtos.filter(dto => dto.pplgs?.includes(itemPplg)).forEach(dto => {
3584
4766
  if (!pplgDtos.includes(dto)) {
3585
4767
  pplgDtos.push(dto);
3586
4768
  }
@@ -3627,11 +4809,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3627
4809
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: BewegingVerrijkerService }] });
3628
4810
 
3629
4811
  class RitdelenEffect {
3630
- constructor(actions$, store, sbmService, rijwegPlanEditorService) {
4812
+ constructor(actions$, store, sbmService, editorService) {
3631
4813
  this.actions$ = actions$;
3632
4814
  this.store = store;
3633
4815
  this.sbmService = sbmService;
3634
- this.rijwegPlanEditorService = rijwegPlanEditorService;
4816
+ this.editorService = editorService;
3635
4817
  this.updateRitDelen$ = createEffect(() => this.actions$.pipe(ofType(updateRitDelen), withLatestFrom(this.store), map(([actie, _storeState]) => {
3636
4818
  const nieuweRitDelen = actie.ritDelen.map(ritDeel => ritDeel.isZichtbaar() ?
3637
4819
  ritDeel.copyMetAlternatieveRoutes(this.sbmService.bepaalAlternativeRoutes(ritDeel.getRijweg())) : ritDeel);
@@ -3649,25 +4831,25 @@ class RitdelenEffect {
3649
4831
  return setRitdelenAfterUpdate(ritDelen);
3650
4832
  })));
3651
4833
  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);
4834
+ const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute);
3653
4835
  return setRitdelenAfterUpdate(ritDelen);
3654
4836
  })));
3655
4837
  }
3656
- ritdeelInvoegenFunc(ritDelen, nieuweRoute, rijwegPlanEditorService, sbmService) {
4838
+ ritdeelInvoegenFunc(ritDelen, nieuweRoute) {
3657
4839
  const origineelRitdeel = nieuweRoute.beginSeinOpRitdeel.ritdeel;
3658
4840
  const beginSein = nieuweRoute.beginSeinOpRitdeel.sein;
3659
- const rijwegplan = rijwegPlanEditorService.getRijwegplan(beginSein.getPPLG());
4841
+ const rijwegplan = this.editorService.getRijwegplan(beginSein.getPPLG());
3660
4842
  const dwangen = JsJavaUtil.listToArray(rijwegplan.getOnderliggendeDwangenTotEnVanSein(origineelRitdeel.getDwang(), beginSein));
3661
4843
  const isSamengesteldeRoute = dwangen[0] && dwangen[1];
3662
4844
  let newRitdeel1 = origineelRitdeel;
3663
4845
  if (isSamengesteldeRoute) {
3664
- newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen);
4846
+ newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen);
3665
4847
  }
3666
- if (nieuweRoute.combinatieVoorEindsein.isVrijeBaanRijweg()) {
3667
- this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService);
4848
+ if (nieuweRoute.combinatieVoorEindsein?.isVrijeBaanRijweg()) {
4849
+ this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute);
3668
4850
  }
3669
4851
  else {
3670
- this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen);
4852
+ this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen);
3671
4853
  }
3672
4854
  if (isSamengesteldeRoute) {
3673
4855
  ritDelen.splice(ritDelen.indexOf(origineelRitdeel), 1);
@@ -3682,38 +4864,39 @@ class RitdelenEffect {
3682
4864
  }
3683
4865
  }
3684
4866
  }
3685
- verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen) {
4867
+ verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen) {
3686
4868
  // dwangen in 2 nieuwe ritdelen verwerken voor de knip
3687
4869
  const nieuweRijweg1 = rijwegplan.getRijwegVoorSeinen(dwangen[0].getRoute().getBeginSein(), dwangen[0].getRoute().getEindSein());
3688
4870
  const dwangInfo1 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg1, dwangen[0]);
3689
- const newRitdeel1 = new Ritdeel(dwangInfo1, [], null, null, null, []);
4871
+ const newRitdeel1 = new Ritdeel(dwangInfo1, [], undefined, undefined, undefined, []);
3690
4872
  // remove vrijbaan info uit ritdeel
3691
- newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = null;
3692
- newRitdeel1.vervolgSpoor = null;
3693
- newRitdeel1.bepaalTopologieElementen(sbmService);
4873
+ newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = undefined;
4874
+ newRitdeel1.vervolgSpoor = undefined;
4875
+ newRitdeel1.bepaalTopologieElementen(this.sbmService);
3694
4876
  this.insertRitdeel(ritDelen, origineelRitdeel, newRitdeel1);
3695
4877
  const nieuweRijweg2 = rijwegplan.getRijwegVoorSeinen(dwangen[1].getRoute().getBeginSein(), dwangen[1].getRoute().getEindSein());
3696
4878
  const dwangInfo2 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg2, dwangen[1]);
3697
- const newRitdeel2 = new Ritdeel(dwangInfo2, [], null, null, null, []);
3698
- newRitdeel2.bepaalTopologieElementen(sbmService);
4879
+ const newRitdeel2 = new Ritdeel(dwangInfo2, [], undefined, undefined, undefined, []);
4880
+ newRitdeel2.bepaalTopologieElementen(this.sbmService);
3699
4881
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel2);
3700
4882
  return newRitdeel1;
3701
4883
  }
3702
- extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService) {
4884
+ extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute) {
3703
4885
  newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = nieuweRoute.combinatieVoorEindsein;
3704
- const vbrwp = nieuweRoute.combinatieVoorEindsein.rijwegplan;
3705
- newRitdeel1.vervolgSpoor = vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein.rijweg);
3706
- newRitdeel1.bepaalTopologieElementen(sbmService);
4886
+ const vbrwp = nieuweRoute.combinatieVoorEindsein?.rijwegplan;
4887
+ newRitdeel1.vervolgSpoor = nieuweRoute.combinatieVoorEindsein ?
4888
+ vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein?.rijweg) : undefined;
4889
+ newRitdeel1.bepaalTopologieElementen(this.sbmService);
3707
4890
  }
3708
- maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen) {
4891
+ maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen) {
3709
4892
  let newRitdeel = this.createRitdeel(nieuweRoute);
3710
- const altRoutes = sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
4893
+ const altRoutes = this.sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
3711
4894
  newRitdeel = newRitdeel.copyMetAlternatieveRoutes(altRoutes);
3712
- newRitdeel.bepaalTopologieElementen(sbmService);
4895
+ newRitdeel.bepaalTopologieElementen(this.sbmService);
3713
4896
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel);
3714
4897
  }
3715
4898
  createRitdeel(nieuweRoute) {
3716
- return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], null, null, null, []);
4899
+ return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], undefined, undefined, undefined, []);
3717
4900
  }
3718
4901
  insertRitdeel(ritdelen, naRitdeelPositie, newRitdeel) {
3719
4902
  const idx = ritdelen.indexOf(naRitdeelPositie);
@@ -3764,13 +4947,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3764
4947
  type: Injectable
3765
4948
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: i4.SignaleringsbeeldSvgUtilityService }] });
3766
4949
 
4950
+ class ProgressIndicator {
4951
+ constructor(lowerText, upperText, iconClass) {
4952
+ this.lowerText = '';
4953
+ this.upperText = '';
4954
+ this.iconClass = '';
4955
+ this.lowerText = lowerText ?? this.lowerText;
4956
+ this.upperText = upperText ?? this.upperText;
4957
+ this.iconClass = iconClass ?? this.iconClass;
4958
+ }
4959
+ }
4960
+
3767
4961
  class NieuweRoute {
3768
4962
  constructor(beginSeinOpRitdeel, combinatieVoorEindsein) {
3769
4963
  this.beginSeinOpRitdeel = beginSeinOpRitdeel;
3770
4964
  this.combinatieVoorEindsein = combinatieVoorEindsein;
3771
4965
  }
3772
4966
  isValid() {
3773
- return this.combinatieVoorEindsein !== null;
4967
+ return !!this.combinatieVoorEindsein;
3774
4968
  }
3775
4969
  }
3776
4970
 
@@ -3836,7 +5030,7 @@ function addRitdeelActieFunc(ritDelen, { ritDeel, actie }) {
3836
5030
  const onIdsActionHandler = (action) => on(action, (_, { ids }) => ids);
3837
5031
  const createIdsReducer = (action) => createReducer([], onIdsActionHandler(action));
3838
5032
  const editableReducer = createReducer(true, on(setEditable, (_, { editable }) => editable));
3839
- const progressIndicatorReducer = createReducer(undefined, on(ShowProgress, () => ({ progressIndicator: {} })), on(ClearProgress, () => undefined));
5033
+ const progressIndicatorReducer = createReducer({}, on(ShowProgress, () => ({ progressIndicator: new ProgressIndicator() })), on(ClearProgress, () => ({})));
3840
5034
  const svgInfoReducer = createReducer([], on(SetSvgInfos, (_, { svgInfos }) => svgInfos));
3841
5035
  const debugReducer = createReducer(false, on(SetDebug, (_, { debug }) => debug));
3842
5036
  const ritSelectieIdsReducer = createIdsReducer(SetRitSelectieIds);
@@ -3862,12 +5056,10 @@ const ongeplandeActieReducer = createReducer(new ArrayMultimap(), on(SetOngeplan
3862
5056
  ongeplandeActie.puics.forEach(puic => ongeplandeActies.delete(puic, ongeplandeActie));
3863
5057
  return new ArrayMultimap(ongeplandeActies);
3864
5058
  }));
3865
- const ongeplandeActieSelectieIdsReducer = createReducer([],
3866
- // on(MstActions.SetOngeplandeActieSelectieIds, (_, { ids }) => ids),
3867
- onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
5059
+ const ongeplandeActieSelectieIdsReducer = createReducer([], onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
3868
5060
  ongeplandeActie.puics.filter(puic => !ids.includes(puic)).forEach(puic => ids.push(puic));
3869
5061
  return [...ids];
3870
- }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => [].concat(ids.includes(id) ? ids.filter(_id => _id !== id) : ids)));
5062
+ }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => ids.includes(id) ? ids.filter(_id => _id !== id) : ids));
3871
5063
  const gebrokenRitSelectieIdsReducer = createIdsReducer(SetGebrokenRitSelectieIds);
3872
5064
  const alternatievenSelectieIdsReducer = createIdsReducer(SetAlternatievenSelectieIds);
3873
5065
  const beginSeinSelectieIdsReducer = createIdsReducer(SetBeginSeinSelectieIds);
@@ -3876,16 +5068,15 @@ const alternatievenClickableIdsReducer = createIdsReducer(SetAlternatievenClicka
3876
5068
  const eindSeinenClickableIdsReducer = createIdsReducer(SetEindSeinenClickableIds);
3877
5069
  const connectorClickableIdsReducer = createIdsReducer(SetConnectorenClickableIds);
3878
5070
  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)));
5071
+ 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
5072
  const signaleringsbeeldInfoDtosReducer = createReducer([], on(SetSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
3881
5073
  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));
5074
+ const iaVersieReducer = createReducer({ versie: 'unknown', ingangsDatum: new Date() }, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
5075
+ const algemeneRitInfoDtoReducer = createReducer({}, on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
3884
5076
  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));
5077
+ const nieuweBewegingReducer = createReducer([], on(UpdateRit, (_, { bewegingen }) => bewegingen));
5078
+ const baseUrlReducer = createReducer('', on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
5079
+ const focusIdsReducer = createReducer([], on(focusOpIds, (_, { puics }) => puics));
3889
5080
  const storeReducers = {
3890
5081
  ritDelen: ritdelenReducer,
3891
5082
  ritSelectieIds: ritSelectieIdsReducer,
@@ -3914,9 +5105,9 @@ const storeReducers = {
3914
5105
  nieuweBewegingen: nieuweBewegingReducer,
3915
5106
  baseUrl: baseUrlReducer,
3916
5107
  focusIds: focusIdsReducer,
3917
- selectedRitdeelId: selectedRitdeelIdReducer
3918
5108
  };
3919
5109
 
5110
+ // @ts-nocheck
3920
5111
  class ZoneUtil {
3921
5112
  constructor(ngZone) {
3922
5113
  this.ngZone = ngZone;
@@ -3979,6 +5170,7 @@ class MstViewerModule {
3979
5170
  constructor(service, zoneUtil) {
3980
5171
  this.service = service;
3981
5172
  // maak de EditorService toegankelijk voor GWT code
5173
+ // @ts-ignore
3982
5174
  window['rpe'] = {
3983
5175
  EditorService: zoneUtil.proxy(service)
3984
5176
  };
@@ -3996,7 +5188,7 @@ class MstViewerModule {
3996
5188
  SvgVisualisatieComponent,
3997
5189
  MessagesComponent], imports: [CommonModule,
3998
5190
  ImxViewerModule,
3999
- RijwegenModule, i1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
5191
+ RijwegenModule, i1$1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
4000
5192
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, providers: [
4001
5193
  ZoneUtil,
4002
5194
  SignaleringsbeeldInfoResource,
@@ -4061,5 +5253,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4061
5253
  * Generated bundle index. Do not edit.
4062
5254
  */
4063
5255
 
4064
- export { MeldingEvent, MstViewerModule, MstviewerComponent, STORE_CONFIG, SignaleringsbeeldInfoDto, SignaleringsbeeldInfoResource };
5256
+ export { MeldingEvent, MstViewerModule, MstviewerComponent, STORE_CONFIG, SignaleringsbeeldInfoResource };
4065
5257
  //# sourceMappingURL=loxia-mst-viewer.mjs.map