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

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/lib/atomic-components/message/message.component.mjs +3 -3
  2. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.entity.mjs +4 -7
  3. package/esm2022/lib/components/carousel-controls/carousel-controls.component.mjs +6 -5
  4. package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +7 -13
  5. package/esm2022/lib/components/ritdelen-lijst/ritdelen-lijst.component.mjs +12 -18
  6. package/esm2022/lib/components/rpe/rpe.component.mjs +2 -6
  7. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +7 -8
  8. package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +13 -16
  9. package/esm2022/lib/model/km-range.mjs +2 -2
  10. package/esm2022/lib/model/nieuwe-route.mjs +2 -2
  11. package/esm2022/lib/model/ritdeel.mjs +10 -10
  12. package/esm2022/lib/mst-viewer.module.mjs +5 -6
  13. package/esm2022/lib/resources/mstlogging.resource.mjs +145 -12
  14. package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +12 -16
  15. package/esm2022/lib/services/base-rest.service.mjs +1 -3
  16. package/esm2022/lib/services/beweging-utils.service.mjs +6 -6
  17. package/esm2022/lib/services/debug.service.mjs +3 -3
  18. package/esm2022/lib/services/editor.service.mjs +1 -3
  19. package/esm2022/lib/services/print-beweging.service.mjs +20 -23
  20. package/esm2022/lib/services/rit-lezer.service.mjs +4 -4
  21. package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +1 -1
  22. package/esm2022/lib/services/viewer-control.service.mjs +9 -10
  23. package/esm2022/lib/state/actions/actions.mjs +5 -2
  24. package/esm2022/lib/state/actions/ritdelen.actions.mjs +4 -4
  25. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +7 -8
  26. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +2 -2
  27. package/esm2022/lib/state/effect/beweging-invoegen.effect.mjs +1 -1
  28. package/esm2022/lib/state/effect/delete-ongeplande-actie.effect.mjs +1 -1
  29. package/esm2022/lib/state/effect/focus-effect.mjs +2 -2
  30. package/esm2022/lib/state/effect/laad-route-files.effect.mjs +8 -8
  31. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +27 -25
  32. package/esm2022/lib/state/effect/ritdelen.effect.mjs +25 -26
  33. package/esm2022/lib/state/mst-editor-state.mjs +15 -11
  34. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +1 -1
  35. package/esm2022/lib/util/actie-helper.mjs +25 -29
  36. package/esm2022/lib/util/actie-popover-bepaler.mjs +2 -2
  37. package/esm2022/lib/util/logging-helper.mjs +41 -36
  38. package/esm2022/lib/util/multi-map.mjs +3 -2
  39. package/esm2022/lib/util/utils.mjs +5 -5
  40. package/esm2022/lib/util/zone-util.mjs +1 -2
  41. package/fesm2022/loxia-mst-viewer.mjs +643 -1864
  42. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  43. package/lib/atomic-components/message/message.component.d.ts +2 -2
  44. package/lib/atomic-components/progress-indicator/progress-indicator.entity.d.ts +1 -1
  45. package/lib/components/carousel-controls/carousel-controls.component.d.ts +3 -1
  46. package/lib/components/mstviewer/mstviewer.component.d.ts +2 -2
  47. package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +2 -2
  48. package/lib/components/rpe/rpe.component.d.ts +1 -1
  49. package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +1 -1
  50. package/lib/components/viewer-controls/viewer-controls.component.d.ts +4 -3
  51. package/lib/model/km-range.d.ts +1 -1
  52. package/lib/model/nieuwe-route.d.ts +2 -2
  53. package/lib/model/ritdeel.d.ts +10 -11
  54. package/lib/resources/mstlogging.resource.d.ts +95 -6
  55. package/lib/resources/signaleringsbeeldinfo.resource.d.ts +15 -10
  56. package/lib/services/editor.service.d.ts +2 -2
  57. package/lib/services/print-beweging.service.d.ts +6 -4
  58. package/lib/services/rit-lezer.service.d.ts +1 -1
  59. package/lib/services/signalerings-beeld-manager.service.d.ts +2 -2
  60. package/lib/services/viewer-control.service.d.ts +2 -0
  61. package/lib/state/actions/actions.d.ts +24 -17
  62. package/lib/state/actions/ritdelen.actions.d.ts +7 -3
  63. package/lib/state/effect/bepaal-ongeplande-acties.effect.d.ts +1 -2
  64. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +1 -1
  65. package/lib/state/effect/laad-route-files.effect.d.ts +5 -4
  66. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +13 -13
  67. package/lib/state/effect/ritdelen.effect.d.ts +6 -7
  68. package/lib/state/mst-editor-state.d.ts +91 -27
  69. package/lib/util/actie-helper.d.ts +4 -4
  70. package/lib/util/logging-helper.d.ts +6 -5
  71. package/lib/util/utils.d.ts +1 -0
  72. package/package.json +1 -7
  73. package/esm2022/generated/openapi/api/api.mjs +0 -23
  74. package/esm2022/generated/openapi/api/appConfigController.service.mjs +0 -140
  75. package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  76. package/esm2022/generated/openapi/api/bewegingController.service.mjs +0 -155
  77. package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  78. package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  79. package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  80. package/esm2022/generated/openapi/api/connectorController.service.mjs +0 -146
  81. package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  82. package/esm2022/generated/openapi/api/logController.service.mjs +0 -150
  83. package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  84. package/esm2022/generated/openapi/api/p21Controller.service.mjs +0 -236
  85. package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  86. package/esm2022/generated/openapi/api/sbController.service.mjs +0 -203
  87. package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  88. package/esm2022/generated/openapi/api.module.mjs +0 -40
  89. package/esm2022/generated/openapi/configuration.mjs +0 -99
  90. package/esm2022/generated/openapi/encoder.mjs +0 -19
  91. package/esm2022/generated/openapi/index.mjs +0 -7
  92. package/esm2022/generated/openapi/model/actieDto.mjs +0 -13
  93. package/esm2022/generated/openapi/model/algemeneRitDto.mjs +0 -13
  94. package/esm2022/generated/openapi/model/bewegingDto.mjs +0 -2
  95. package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  96. package/esm2022/generated/openapi/model/frontendProperties.mjs +0 -2
  97. package/esm2022/generated/openapi/model/logDto.mjs +0 -2
  98. package/esm2022/generated/openapi/model/models.mjs +0 -9
  99. package/esm2022/generated/openapi/model/ritRequestDto.mjs +0 -2
  100. package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  101. package/esm2022/generated/openapi/param.mjs +0 -2
  102. package/esm2022/generated/openapi/variables.mjs +0 -9
  103. package/esm2022/src/generated/openapi/api/api.mjs +0 -23
  104. package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +0 -140
  105. package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  106. package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +0 -155
  107. package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  108. package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  109. package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  110. package/esm2022/src/generated/openapi/api/connectorController.service.mjs +0 -146
  111. package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  112. package/esm2022/src/generated/openapi/api/logController.service.mjs +0 -150
  113. package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  114. package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +0 -236
  115. package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  116. package/esm2022/src/generated/openapi/api/sbController.service.mjs +0 -203
  117. package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  118. package/esm2022/src/generated/openapi/api.module.mjs +0 -40
  119. package/esm2022/src/generated/openapi/configuration.mjs +0 -99
  120. package/esm2022/src/generated/openapi/encoder.mjs +0 -19
  121. package/esm2022/src/generated/openapi/index.mjs +0 -7
  122. package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +0 -5
  123. package/esm2022/src/generated/openapi/model/actieDto.mjs +0 -13
  124. package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +0 -13
  125. package/esm2022/src/generated/openapi/model/bewegingDto.mjs +0 -2
  126. package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  127. package/esm2022/src/generated/openapi/model/frontendProperties.mjs +0 -2
  128. package/esm2022/src/generated/openapi/model/logDto.mjs +0 -2
  129. package/esm2022/src/generated/openapi/model/models.mjs +0 -9
  130. package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +0 -2
  131. package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  132. package/esm2022/src/generated/openapi/param.mjs +0 -2
  133. package/esm2022/src/generated/openapi/variables.mjs +0 -9
  134. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +0 -1330
  135. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +0 -1
  136. package/generated/openapi/api/api.d.ts +0 -22
  137. package/generated/openapi/api/appConfigController.service.d.ts +0 -38
  138. package/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  139. package/generated/openapi/api/bewegingController.service.d.ts +0 -40
  140. package/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  141. package/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  142. package/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  143. package/generated/openapi/api/connectorController.service.d.ts +0 -38
  144. package/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  145. package/generated/openapi/api/logController.service.d.ts +0 -38
  146. package/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  147. package/generated/openapi/api/p21Controller.service.d.ts +0 -62
  148. package/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  149. package/generated/openapi/api/sbController.service.d.ts +0 -60
  150. package/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  151. package/generated/openapi/api.module.d.ts +0 -11
  152. package/generated/openapi/configuration.d.ts +0 -104
  153. package/generated/openapi/encoder.d.ts +0 -11
  154. package/generated/openapi/index.d.ts +0 -6
  155. package/generated/openapi/model/actieDto.d.ts +0 -35
  156. package/generated/openapi/model/algemeneRitDto.d.ts +0 -20
  157. package/generated/openapi/model/bewegingDto.d.ts +0 -37
  158. package/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  159. package/generated/openapi/model/frontendProperties.d.ts +0 -15
  160. package/generated/openapi/model/logDto.d.ts +0 -22
  161. package/generated/openapi/model/models.d.ts +0 -8
  162. package/generated/openapi/model/ritRequestDto.d.ts +0 -17
  163. package/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  164. package/generated/openapi/param.d.ts +0 -37
  165. package/generated/openapi/variables.d.ts +0 -8
  166. package/src/generated/openapi/README.md +0 -226
  167. package/src/generated/openapi/api/api.d.ts +0 -22
  168. package/src/generated/openapi/api/appConfigController.service.d.ts +0 -38
  169. package/src/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  170. package/src/generated/openapi/api/bewegingController.service.d.ts +0 -40
  171. package/src/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  172. package/src/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  173. package/src/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  174. package/src/generated/openapi/api/connectorController.service.d.ts +0 -38
  175. package/src/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  176. package/src/generated/openapi/api/logController.service.d.ts +0 -38
  177. package/src/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  178. package/src/generated/openapi/api/p21Controller.service.d.ts +0 -62
  179. package/src/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  180. package/src/generated/openapi/api/sbController.service.d.ts +0 -60
  181. package/src/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  182. package/src/generated/openapi/api.module.d.ts +0 -11
  183. package/src/generated/openapi/configuration.d.ts +0 -104
  184. package/src/generated/openapi/encoder.d.ts +0 -11
  185. package/src/generated/openapi/index.d.ts +0 -6
  186. package/src/generated/openapi/model/actieDto.d.ts +0 -35
  187. package/src/generated/openapi/model/algemeneRitDto.d.ts +0 -20
  188. package/src/generated/openapi/model/bewegingDto.d.ts +0 -37
  189. package/src/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  190. package/src/generated/openapi/model/frontendProperties.d.ts +0 -15
  191. package/src/generated/openapi/model/logDto.d.ts +0 -22
  192. package/src/generated/openapi/model/models.d.ts +0 -8
  193. package/src/generated/openapi/model/ritRequestDto.d.ts +0 -17
  194. package/src/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  195. package/src/generated/openapi/param.d.ts +0 -37
  196. package/src/generated/openapi/variables.d.ts +0 -8
@@ -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, InjectionToken, Optional, Inject, SkipSelf, NgModule, HostListener } from '@angular/core';
4
+ import { EventEmitter, Output, Input, Component, Injectable, ChangeDetectionStrategy, ViewChild, HostListener, NgModule } from '@angular/core';
5
5
  import * as i7 from '@loxia/imx-viewer';
6
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, from, Subscription, combineLatest, forkJoin, of, throwError } from 'rxjs';
15
- import { filter, map, take, tap, catchError, withLatestFrom, switchMap } from 'rxjs/operators';
16
- import * as i1 from '@angular/common/http';
17
- import { HttpHeaders, HttpContext, HttpParams } from '@angular/common/http';
14
+ import { BehaviorSubject, Subscription, from, combineLatest, of, throwError } from 'rxjs';
18
15
  import { __decorate } from 'tslib';
19
- import * as i1$1 from '@ngx-resource/core';
20
- import { Resource, ResourceAction, ResourceParams, ResourceModel } from '@ngx-resource/core';
16
+ import * as i1 from '@ngx-resource/core';
17
+ import { Resource, ResourceAction, ResourceRequestMethod, ResourceParams, ResourceModel } from '@ngx-resource/core';
18
+ import { take, filter, map, catchError, withLatestFrom, switchMap, tap } from 'rxjs/operators';
19
+ import * as i1$1 from '@angular/common/http';
20
+ import { HttpHeaders } from '@angular/common/http';
21
21
 
22
22
  class Message {
23
23
  constructor(severity, text, timeout = 0) {
@@ -41,7 +41,7 @@ class MessageComponent {
41
41
  this.onClearMessage = new EventEmitter();
42
42
  }
43
43
  ngOnInit() {
44
- if (this.message && this.message.timeout > 0) {
44
+ if (this.message.timeout > 0) {
45
45
  setTimeout(() => {
46
46
  this.closeMessage({ stopPropagation: () => null });
47
47
  }, this.message.timeout);
@@ -53,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,83 +124,6 @@ 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
-
204
127
  const version = '8.1.3-SNAPSHOT';
205
128
 
206
129
  const SET_EDITABLE = '[mst] SetEditable';
@@ -246,6 +169,7 @@ const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignaleringsb
246
169
  const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
247
170
  const FOCUS_OP_IDS = '[mst] focusOpIds';
248
171
  const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
172
+ const SET_SELECTED_RITDEEL = '[mst] SetSelectedRitdeel';
249
173
  const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
250
174
  const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
251
175
  const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
@@ -289,6 +213,7 @@ const navigeerBuitenRit = createAction(NAVIGEER_BUITEN_RIT, (randPuic) => ({ ran
289
213
  const focusOpRitdeel = createAction(FOCUS_OP_RITDEEL, (ritdeel, paginationSize, iaVersieInfo) => ({ ritdeel, paginationSize, iaVersieInfo }));
290
214
  const focusOpIds = createAction(FOCUS_OP_IDS, (puics) => ({ puics }));
291
215
  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 }));
292
217
  // do not export return value
293
218
  const mstActions = union({
294
219
  setEditable,
@@ -326,9 +251,239 @@ const mstActions = union({
326
251
  ClearProgress,
327
252
  BewegingInvoegen,
328
253
  KeurAlleActiesGoed,
329
- UpdateRit
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
330
300
  });
331
301
 
302
+ let MstLoggingResource = class MstLoggingResource extends Resource {
303
+ constructor(restHandler, store) {
304
+ super(restHandler);
305
+ this.store = store;
306
+ this.subscriptions = new Subscription();
307
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.$setUrl(baseUrl)));
308
+ }
309
+ ngOnDestroy() {
310
+ this.subscriptions.unsubscribe();
311
+ }
312
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, deps: [{ token: i1.ResourceHandler }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
313
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource }); }
314
+ };
315
+ __decorate([
316
+ ResourceAction({
317
+ path: '/',
318
+ method: ResourceRequestMethod.Post
319
+ })
320
+ ], MstLoggingResource.prototype, "logErrorMessages", void 0);
321
+ MstLoggingResource = __decorate([
322
+ ResourceParams({
323
+ pathPrefix: '/mst/services/rest/logging'
324
+ })
325
+ ], MstLoggingResource);
326
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, decorators: [{
327
+ type: Injectable
328
+ }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { logErrorMessages: [] } });
329
+ class MstLoggingDto extends ResourceModel {
330
+ constructor(data) {
331
+ super();
332
+ this.$resource = MstLoggingResource;
333
+ this.$setData(data);
334
+ }
335
+ toJSON() {
336
+ return {
337
+ iaVersie: this.iaVersie,
338
+ meldingLevel: this.meldingLevel,
339
+ meldingMessage: this.meldingMessage,
340
+ algemeneRitInfoDto: this.algemeneRitInfoDto,
341
+ actieDto: this.actieDto,
342
+ sbinfoDtos: this.sbinfoDtos
343
+ };
344
+ }
345
+ toString() {
346
+ return `${this.iaVersie},${this.meldingLevel},${this.meldingMessage},${this.algemeneRitInfoDto},
347
+ ${this.actieDto},${this.sbinfoDtos}`;
348
+ }
349
+ $setData(data) {
350
+ if (data) {
351
+ this.iaVersie = data.iaVersie;
352
+ this.meldingLevel = data.meldingLevel;
353
+ this.meldingMessage = data.meldingMessage;
354
+ this.algemeneRitInfoDto = data.algemeneRitInfoDto;
355
+ this.actieDto = data.actieDto;
356
+ this.sbinfoDtos = data.sbinfoDtos;
357
+ }
358
+ return this;
359
+ }
360
+ }
361
+ class ActieDto {
362
+ constructor(data) {
363
+ this.$setData(data);
364
+ }
365
+ toJSON() {
366
+ return {
367
+ pplgNaam: this.pplgNaam,
368
+ ritActieTypeOmschrijving: this.ritActieTypeOmschrijving,
369
+ ritActieStatus: this.ritActieStatus,
370
+ bewegingId: this.bewegingId,
371
+ wisselType: this.wisselType,
372
+ wisselNaam: this.wisselNaam,
373
+ wisselKantCode: this.wisselKantCode,
374
+ vanKilometerlint: this.vanKilometerlint,
375
+ vanKilometrering: this.vanKilometrering,
376
+ totKilometerlint: this.totKilometerlint,
377
+ totKilometrering: this.totKilometrering
378
+ };
379
+ }
380
+ toString() {
381
+ return `${this.pplgNaam},${this.ritActieTypeOmschrijving},${this.ritActieStatus},
382
+ ${this.bewegingId},${this.wisselType},${this.wisselNaam},${this.wisselKantCode},
383
+ ${this.vanKilometerlint},${this.vanKilometrering},${this.totKilometerlint},${this.totKilometrering}`;
384
+ }
385
+ $setData(data) {
386
+ if (data) {
387
+ this.pplgNaam = data.pplgNaam;
388
+ this.ritActieTypeOmschrijving = data.ritActieTypeOmschrijving;
389
+ this.ritActieStatus = data.ritActieStatus;
390
+ this.bewegingId = data.bewegingId;
391
+ this.wisselType = data.wisselType;
392
+ this.wisselNaam = data.wisselNaam;
393
+ this.wisselKantCode = data.wisselKantCode;
394
+ this.vanKilometerlint = data.vanKilometerlint;
395
+ this.vanKilometrering = data.vanKilometrering;
396
+ this.totKilometerlint = data.totKilometerlint;
397
+ this.totKilometrering = data.totKilometrering;
398
+ }
399
+ return this;
400
+ }
401
+ }
402
+ class AlgemeneRitInfoDto {
403
+ constructor(data) {
404
+ this.$setData(data);
405
+ }
406
+ toJSON() {
407
+ return {
408
+ id: this.id,
409
+ jaarplanId: this.jaarplanId,
410
+ volgnummer: this.volgnummer,
411
+ machineTypeId: this.machineTypeId,
412
+ machineTypeOmschrijving: this.machineTypeOmschrijving,
413
+ ritDatum: this.ritDatum,
414
+ startDatum: this.startDatum,
415
+ eindDatum: this.eindDatum,
416
+ ritNaam: this.ritNaam,
417
+ startLocatie: this.startLocatie,
418
+ eindLocatie: this.eindLocatie,
419
+ ritStatus: this.ritStatus,
420
+ modified: this.modified,
421
+ modifiedBy: this.modifiedBy,
422
+ planJobId: this.planJobId
423
+ };
424
+ }
425
+ toString() {
426
+ return `${this.id},${this.jaarplanId},${this.volgnummer},${this.machineTypeId},${this.machineTypeOmschrijving}
427
+ ,${this.ritDatum},${this.startDatum},${this.eindDatum},${this.ritNaam},${this.startLocatie}
428
+ ,${this.eindLocatie},${this.ritStatus},${this.modified},${this.modifiedBy},${this.planJobId}`;
429
+ }
430
+ $setData(data) {
431
+ if (data) {
432
+ this.id = data.id;
433
+ this.jaarplanId = data.jaarplanId;
434
+ this.volgnummer = data.volgnummer;
435
+ this.machineTypeId = data.machineTypeId;
436
+ this.machineTypeOmschrijving = data.machineTypeOmschrijving;
437
+ this.ritDatum = data.ritDatum;
438
+ this.startDatum = data.startDatum;
439
+ this.eindDatum = data.eindDatum;
440
+ this.ritNaam = data.ritNaam;
441
+ this.startLocatie = data.startLocatie;
442
+ this.eindLocatie = data.eindLocatie;
443
+ this.ritStatus = data.ritStatus;
444
+ this.modified = data.modified;
445
+ this.modifiedBy = data.modifiedBy;
446
+ this.planJobId = data.planJobId;
447
+ }
448
+ return this;
449
+ }
450
+ }
451
+
452
+ class Utils {
453
+ static flatMap(xs, f) {
454
+ return xs.reduce((acc, x) => acc.concat(f(x)), []);
455
+ }
456
+ static getValidErorrMessage(err) {
457
+ let errorMsg = '';
458
+ if (err.msg) {
459
+ errorMsg += err.msg;
460
+ }
461
+ if (Array.isArray(err.body)) {
462
+ err.body.forEach(x => errorMsg += x);
463
+ }
464
+ else if (err.body) {
465
+ if (err.body instanceof ProgressEvent) {
466
+ errorMsg = 'Kon geen verbinding maken met de server';
467
+ }
468
+ else if (err.body.text) {
469
+ errorMsg += err.body.text;
470
+ }
471
+ else {
472
+ errorMsg += err.body;
473
+ }
474
+ }
475
+ if (err.message) {
476
+ errorMsg += err.message;
477
+ }
478
+ if (typeof err === 'string' || err instanceof String) {
479
+ errorMsg += err;
480
+ }
481
+ if (errorMsg !== '') {
482
+ return errorMsg;
483
+ }
484
+ }
485
+ }
486
+
332
487
  /**
333
488
  * https://gist.github.com/jordanluyke/609a4fffb69d1ebafdadd313ee2ee804
334
489
  *
@@ -392,7 +547,7 @@ class ArrayMultimap {
392
547
  return Array.from(new Set(this._entries.map(entry => entry.key)));
393
548
  }
394
549
  values() {
395
- return this._entries.reduce((acc, x) => acc.concat(x.value), []);
550
+ return Utils.flatMap(this._entries, x => x.value);
396
551
  }
397
552
  put(key, value) {
398
553
  this._entries.push(new MultimapEntry(key, value));
@@ -498,7 +653,6 @@ class EditorService {
498
653
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
499
654
  this.initReadyPromise();
500
655
  }
501
- // Called from GWT only, can be removed when GWT is gone. any is used because it will be removed with GWT
502
656
  setEditor(editor) {
503
657
  this.editor = editor;
504
658
  this.resolveReadyPromise();
@@ -506,7 +660,6 @@ class EditorService {
506
660
  isReady() {
507
661
  return this.promise;
508
662
  }
509
- // Called from GWT only, can be removed when GWT is gone
510
663
  setSignaleringsBeeldManager(signaleringsBeeldManager) {
511
664
  this.signaleringsBeeldManagerService.set(signaleringsBeeldManager);
512
665
  }
@@ -552,7 +705,7 @@ class BewegingUtils {
552
705
  const retval = [];
553
706
  retval.length = ritDelen.length;
554
707
  const origineleBewegingMap = this.bepaalOrigineleBewegingMap(origineleBewegingen);
555
- let vorigeBeweging = undefined;
708
+ let vorigeBeweging = null;
556
709
  for (let i = 0; i < ritDelen.length; i++) {
557
710
  const ritdeel = ritDelen[i];
558
711
  if (ritdeel.beweging) {
@@ -582,7 +735,7 @@ class BewegingUtils {
582
735
  }
583
736
  static bewegingenZijnGewijzigd(ritDelen, origineleBewegingen) {
584
737
  const ritDelenArray = ritDelen
585
- .filter(r => r.beweging?.id)
738
+ .filter(r => r.beweging)
586
739
  .map(r => r.beweging.id)
587
740
  .sort((a, b) => a - b);
588
741
  const bewegingenIdArray = origineleBewegingen.map(b => b.id).sort((a, b) => a - b);
@@ -598,9 +751,9 @@ class BewegingUtils {
598
751
  return stringToCheck.indexOf(match) !== -1;
599
752
  }
600
753
  static isGewijzigd(ritdeel, nieuwDwangNummer, origineleBewegingenMap) {
601
- const dwangGewijzigd = ritdeel.beweging?.dwangNummer !== nieuwDwangNummer;
754
+ const dwangGewijzigd = ritdeel.beweging.dwangNummer !== nieuwDwangNummer;
602
755
  let gewijzigd = false;
603
- if (ritdeel.beweging?.wijzigStatus === this.NORMAAL) {
756
+ if (ritdeel.beweging.wijzigStatus === this.NORMAAL) {
604
757
  const origineleBewegingActies = origineleBewegingenMap.get(ritdeel.beweging.id);
605
758
  const huidigeActies = this.createSortedActieIdList(ritdeel.acties);
606
759
  gewijzigd = JSON.stringify(huidigeActies) !== JSON.stringify(origineleBewegingActies);
@@ -624,7 +777,7 @@ class BewegingUtils {
624
777
  let naarSeinPplg;
625
778
  let naarSpoor = newRitdeel.getNaarPrlSpoor();
626
779
  if (eindSein.getTypeAlsString() === BewegingUtils.SEIN_TYPE_FICTIEF) {
627
- if (newRitdeel.heeftVrijebaanInfo() && newRitdeel.getVrijebaanRijweg()) {
780
+ if (newRitdeel.heeftVrijebaanInfo()) {
628
781
  const vbEindSein = newRitdeel.getVrijebaanRijweg().getEindSein();
629
782
  naarSeinNaam = vbEindSein.getName();
630
783
  naarSeinPplg = vbEindSein.getPPLG();
@@ -683,8 +836,6 @@ class ViewerControlService {
683
836
  this.printing$ = new BehaviorSubject(false);
684
837
  this.sideNavOpen = false;
685
838
  this.sideNavOpen$ = new BehaviorSubject(this.sideNavOpen);
686
- this.selectieInfos = [];
687
- this.origineelTreinPad = {};
688
839
  this.subscriptions.add(combineLatest([
689
840
  store.select('ritSelectieIds'),
690
841
  store.select('actieOpRitSelectieIds'),
@@ -704,18 +855,19 @@ class ViewerControlService {
704
855
  selectie.push(new SelectieInfo(eind, 'zigzagNaar'));
705
856
  this.selectieInfos = selectie;
706
857
  }));
858
+ this.subscriptions.add(store.select('ritDelen').subscribe(ritdelen => this.ritdelen = ritdelen));
707
859
  }
708
860
  toggleSideNavVisible() {
709
861
  this.sideNavOpen = !this.sideNavOpen;
710
862
  this.sideNavOpen$.next(this.sideNavOpen);
711
863
  }
712
864
  keurAlleActiesGoed(ongeplandeActies) {
713
- this.store.select('ritDelen').pipe(take(1), filter(ritdelen => !!ritdelen), tap(ritdelen => {
865
+ if (this.ritdelen) {
714
866
  this.store.dispatch(ShowProgress());
715
- const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritdelen, this.origineelTreinPad.bewegingen);
716
- const alleActies = this.verzamelAlleActies(ritdelen, ongeplandeActies);
867
+ const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(this.ritdelen, this.origineelTreinPad.bewegingen);
868
+ const alleActies = this.verzamelAlleActies(this.ritdelen, ongeplandeActies);
717
869
  this.store.dispatch(KeurAlleActiesGoed(this.getBewegingenZonderActies(bewegingen), alleActies));
718
- })).subscribe();
870
+ }
719
871
  }
720
872
  setValideRit(valideRit) {
721
873
  this.valideRit$.next(valideRit);
@@ -737,7 +889,7 @@ class ViewerControlService {
737
889
  }
738
890
  setOrigineelTreinPad(treinpad) {
739
891
  const rit = JSON.parse(JSON.stringify(treinpad));
740
- this.store.dispatch(SetAlgemeneRitInfo({
892
+ this.store.dispatch(SetAlgemeneRitInfo(new AlgemeneRitInfoDto({
741
893
  id: rit.id,
742
894
  jaarplanId: rit.jaarplanId,
743
895
  volgnummer: rit.volgnummer,
@@ -753,7 +905,7 @@ class ViewerControlService {
753
905
  modified: rit.modified,
754
906
  modifiedBy: rit.modifiedBy,
755
907
  planJobId: rit.planJobId
756
- }));
908
+ })));
757
909
  this.origineelTreinPad = rit;
758
910
  }
759
911
  isValideRit$() {
@@ -781,10 +933,10 @@ class DebugService {
781
933
  setDebugFlag(debug) {
782
934
  this.store.dispatch(SetDebug(debug));
783
935
  if (debug) {
784
- document.getElementById('svgContainer')?.addEventListener('mouseover', this.listener);
936
+ document.getElementById('svgContainer').addEventListener('mouseover', this.listener);
785
937
  }
786
938
  else {
787
- document.getElementById('svgContainer')?.removeEventListener('mouseover', this.listener);
939
+ document.getElementById('svgContainer').removeEventListener('mouseover', this.listener);
788
940
  }
789
941
  }
790
942
  debugEventListener() {
@@ -830,1605 +982,229 @@ class PrintBewegingService {
830
982
  this.store = store;
831
983
  this.viewerControlService = viewerControlService;
832
984
  this.sbmService = sbmService;
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';
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);
2208
1001
  }
2209
1002
  else {
2210
- responseType_ = 'blob';
1003
+ this.focusOpBeweging(ritdeel, resolve);
2211
1004
  }
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
1005
  });
2224
1006
  }
2225
- valideerIaVersie(versie, observe = 'body', reportProgress = false, options) {
2226
- if (versie === null || versie === undefined) {
2227
- throw new Error('Required parameter versie was null or undefined when calling valideerIaVersie.');
2228
- }
2229
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
2230
- if (versie !== undefined && versie !== null) {
2231
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, versie, 'versie');
2232
- }
2233
- let localVarHeaders = this.defaultHeaders;
2234
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2235
- if (localVarHttpHeaderAcceptSelected === undefined) {
2236
- // to determine the Accept header
2237
- const httpHeaderAccepts = [];
2238
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2239
- }
2240
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2241
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2242
- }
2243
- let localVarHttpContext = options && options.context;
2244
- if (localVarHttpContext === undefined) {
2245
- localVarHttpContext = new HttpContext();
2246
- }
2247
- let localVarTransferCache = options && options.transferCache;
2248
- if (localVarTransferCache === undefined) {
2249
- localVarTransferCache = true;
2250
- }
2251
- let responseType_ = 'json';
2252
- if (localVarHttpHeaderAcceptSelected) {
2253
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2254
- responseType_ = 'text';
2255
- }
2256
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2257
- responseType_ = 'json';
2258
- }
2259
- else {
2260
- responseType_ = 'blob';
2261
- }
2262
- }
2263
- let localVarPath = `/rest/signaleringsbeeldeninfo/valideeriaversie`;
2264
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2265
- context: localVarHttpContext,
2266
- params: localVarQueryParameters,
2267
- responseType: responseType_,
2268
- withCredentials: this.configuration.withCredentials,
2269
- headers: localVarHeaders,
2270
- observe: observe,
2271
- transferCache: localVarTransferCache,
2272
- reportProgress: reportProgress
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);
2273
1023
  });
2274
1024
  }
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' }); }
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' }); }
2277
1030
  }
2278
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SbControllerService, decorators: [{
1031
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, decorators: [{
2279
1032
  type: Injectable,
2280
1033
  args: [{
2281
1034
  providedIn: 'root'
2282
1035
  }]
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
- }] }] });
1036
+ }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: SignaleringsBeeldManagerService }] });
2291
1037
 
2292
- const APIS = [AppConfigControllerService, BewegingControllerService, Class0BuildPropertiesService, ConnectorControllerService, LogControllerService, P21ControllerService, SbControllerService];
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
+ }] } });
2293
1068
 
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
- */
1069
+ class OngeplandeActie {
1070
+ constructor(actie, puics) {
1071
+ this.actie = actie;
1072
+ this.puics = puics;
1073
+ }
1074
+ }
2305
1075
 
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
- */
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
+ }
2317
1113
 
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
- */
1114
+ class WisselKantCode {
1115
+ constructor(naam, kantCode) {
1116
+ this.naam = naam;
1117
+ this.kantCode = kantCode;
1118
+ }
1119
+ }
2329
1120
 
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
- */
1121
+ class MeldingEvent {
1122
+ constructor(meldingMessage, meldingLevel) {
1123
+ this.meldingMessage = meldingMessage;
1124
+ this.meldingLevel = meldingLevel;
1125
+ }
1126
+ }
2341
1127
 
2342
- class ApiModule {
2343
- static forRoot(configurationFactory) {
2344
- return {
2345
- ngModule: ApiModule,
2346
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
2347
- };
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);
2348
1134
  }
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
- }
1135
+ static actieHighlightError(actieZonderElementen) {
1136
+ return new MeldingEvent('Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen, MELDING_LEVEL_ERROR);
2357
1137
  }
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 }); }
2361
1138
  }
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
- }] }] });
2377
1139
 
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'));
1140
+ class MessageBuilder {
1141
+ static rwpDataNietGevonden(err) {
1142
+ return new Message(Severity.ERROR, 'Error bij ophalen van rijwegplan data: ' + err);
2384
1143
  }
2385
- ngOnDestroy() {
2386
- this.subscriptions.unsubscribe();
1144
+ static rijwegNietGevonden(beweging) {
1145
+ return new Message(Severity.ERROR, `Rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
2387
1146
  }
2388
- logMessages(logDto) {
2389
- this.controller.log(logDto).subscribe();
1147
+ static rijwegplanNietGevonden(beweging) {
1148
+ return new Message(Severity.ERROR, `Rijwegplan van PPLG ${beweging.vanPplg} niet gevonden`);
1149
+ }
1150
+ static dwangNietGevonden(beweging) {
1151
+ return new Message(Severity.ERROR, `Dwang ${beweging.dwangNummer} voor rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1152
+ }
1153
+ static nietGevondenSBI(err) {
1154
+ return new Message(Severity.ERROR, 'Error bij het ophalen van signaleringsbeeldinfo: ' + Utils.getValidErorrMessage(err));
1155
+ }
1156
+ static actieHighlightError(actieZonderElementen) {
1157
+ return new Message(Severity.ERROR, 'Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen);
1158
+ }
1159
+ static ritFileAlGewijzigdError(beweging) {
1160
+ return new Message(Severity.ERROR, 'Rit bevat een beweging met status \'Gewijzigd\': Beweging met ID:' + beweging.id);
1161
+ }
1162
+ static meerDan12BladenGevonden(bladAmount) {
1163
+ return new Message(Severity.WARNING, 'Warning, Rit bevat ' + bladAmount + ' bladen. Er worden maximaal 12 bladen ondersteund.');
1164
+ }
1165
+ static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1166
+ return new Message(Severity.INFORMATION, 'Info, Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken);
2390
1167
  }
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 }); }
2393
1168
  }
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 }] });
2397
1169
 
2398
1170
  class LoggingHelper {
2399
- constructor(store) {
1171
+ constructor(sbmService, store) {
1172
+ this.sbmService = sbmService;
2400
1173
  this.store = store;
2401
1174
  }
2402
1175
  maakLogDTO(melding, actie) {
2403
- return combineLatest([
2404
- this.store.select('algemeneRitInfoDto'),
2405
- this.store.select('iaVersie')
2406
- ]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie]) => {
2407
- let actieDto = null;
2408
- if (actie) {
2409
- actieDto = {
2410
- pplgNaam: actie.pplgNaam,
2411
- ritActieTypeOmschrijving: actie.ritActieTypeOmschrijving,
2412
- ritActieStatus: actie.ritActieStatus,
2413
- bewegingId: actie.bewegingId,
2414
- wisselType: actie.wisselType,
2415
- wisselNaam: actie.wisselNaam,
2416
- wisselKantCode: actie.wisselKantCode,
2417
- vanKilometerlint: actie.vanKilometerlint,
2418
- vanKilometrering: actie.vanKilometrering,
2419
- totKilometerlint: actie.totKilometerlint,
2420
- totKilometrering: actie.totKilometrering
2421
- };
2422
- }
2423
- return {
2424
- iaVersie: iaVersie.versie,
2425
- meldingLevel: melding.meldingLevel,
2426
- meldingMessage: melding.meldingMessage,
2427
- actieDto,
2428
- algemeneRitInfoDto,
2429
- sbinfoDtos: this.getSbInfoDtos()
2430
- };
2431
- }));
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
+ });
2432
1208
  }
2433
1209
  getSbInfoDtos() {
2434
1210
  const sbInfoDtos = [];
@@ -2439,12 +1215,12 @@ class LoggingHelper {
2439
1215
  });
2440
1216
  return sbInfoDtos;
2441
1217
  }
2442
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
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 }); }
2443
1219
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper }); }
2444
1220
  }
2445
1221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, decorators: [{
2446
1222
  type: Injectable
2447
- }], ctorParameters: () => [{ type: i2$1.Store }] });
1223
+ }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }, { type: i2$1.Store }] });
2448
1224
 
2449
1225
  /**
2450
1226
  * export const RIT_ACTIE_1 = 1;
@@ -2540,7 +1316,6 @@ class ActieHelper {
2540
1316
  this.messagesService = messagesService;
2541
1317
  this.store = store;
2542
1318
  this.loggingHelper = loggingHelper;
2543
- this.debug = false;
2544
1319
  this.store.select('debug').subscribe(debug => this.debug = debug);
2545
1320
  }
2546
1321
  static getActieTopoElements(ritDeel, sbmService) {
@@ -2574,10 +1349,10 @@ class ActieHelper {
2574
1349
  }
2575
1350
  }
2576
1351
  static actieComparator(actie1, actie2) {
2577
- if (actie1.vanKilometrering && actie2.vanKilometrering && actie1.vanKilometrering !== actie2.vanKilometrering) {
1352
+ if (actie1.vanKilometrering !== actie2.vanKilometrering) {
2578
1353
  return actie1.vanKilometrering > actie2.vanKilometrering ? 1 : -1;
2579
1354
  }
2580
- if (actie1.ritActieTypeOmschrijving && actie2.ritActieTypeOmschrijving && actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
1355
+ if (actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
2581
1356
  return actie1.ritActieTypeOmschrijving > actie2.ritActieTypeOmschrijving ? 1 : -1;
2582
1357
  }
2583
1358
  if (actie1.wisselNaam !== actie2.wisselNaam) {
@@ -2617,9 +1392,9 @@ class ActieHelper {
2617
1392
  // make sure the elems are sorted in ascending order
2618
1393
  static sorteerTopoElementen(topoElems) {
2619
1394
  const topoElementen = topoElems.slice();
2620
- let lint = undefined;
2621
- let first;
2622
- let second;
1395
+ let lint = null;
1396
+ let first = null;
1397
+ let second = null;
2623
1398
  for (const topoElement of topoElementen) {
2624
1399
  let kilometreringen = null;
2625
1400
  const kms = JsJavaUtil.listToArray(topoElement.getKilometreringen());
@@ -2651,11 +1426,11 @@ class ActieHelper {
2651
1426
  if (!totKilometreringen && vanKilometreringen) {
2652
1427
  totKilometreringen = [new MstKilometrering(vanKilometreringen[0].getKmLint(), 100000)];
2653
1428
  }
2654
- if (vanKilometreringen && totKilometreringen && vanKilometreringen[0] > totKilometreringen[0]) {
1429
+ if (vanKilometreringen[0] > totKilometreringen[0]) {
2655
1430
  kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, -1), this.addKm(totKilometreringen, 1)));
2656
1431
  }
2657
1432
  else {
2658
- kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen ?? [], 1), this.addKm(totKilometreringen ?? [], -1)));
1433
+ kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, 1), this.addKm(totKilometreringen, -1)));
2659
1434
  }
2660
1435
  });
2661
1436
  }
@@ -2746,23 +1521,21 @@ class ActieHelper {
2746
1521
  else {
2747
1522
  const puics = [];
2748
1523
  kmRanges.forEach(kmRange => {
2749
- if (actie.vanKilometrering && actie.vanKilometerlint && actie.totKilometrering && actie.totKilometerlint) {
2750
- let vanKilometrering = new MstKilometrering(actie.vanKilometerlint, actie.vanKilometrering);
2751
- let totKilometrering = new MstKilometrering(actie.totKilometerlint, actie.totKilometrering);
2752
- if (actie.vanKilometrering > actie.totKilometrering) {
2753
- const temp = { van: vanKilometrering, tot: totKilometrering };
2754
- vanKilometrering = temp.tot;
2755
- totKilometrering = temp.van;
2756
- }
2757
- if (kmRange.heeftOverlap(vanKilometrering, totKilometrering)) {
2758
- puics.push(kmRange.topologyElement.getPuic());
2759
- }
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());
2760
1533
  }
2761
1534
  });
2762
1535
  if (puics.length === 0) {
2763
1536
  actieZonderElementen.push(actie.id);
2764
1537
  const melding = MeldingBuilder.actieHighlightError(actieZonderElementen);
2765
- this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(dto => logMeldingDTOs.push(dto))).subscribe();
1538
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
2766
1539
  }
2767
1540
  retval.putAll(actie, puics);
2768
1541
  }
@@ -2770,15 +1543,15 @@ class ActieHelper {
2770
1543
  this.logLegeMeldingDto(logMeldingDTOs);
2771
1544
  return retval;
2772
1545
  }
2773
- logLegeMeldingDto(logDto) {
2774
- if (logDto.length > 0) {
2775
- return this.mstLogResource.logMessages(logDto);
1546
+ logLegeMeldingDto(logMeldingDTOs) {
1547
+ if (logMeldingDTOs.length > 0) {
1548
+ this.mstLogResource.logErrorMessages(logMeldingDTOs);
2776
1549
  }
2777
1550
  }
2778
1551
  verwerkTopoElementen(topoElementen) {
2779
1552
  const kmRanges = [];
2780
1553
  let topoElementenZonderKms = [];
2781
- let laatstePuntKms = undefined;
1554
+ let laatstePuntKms = null;
2782
1555
  topoElementen.forEach(elem => {
2783
1556
  const kms = JsJavaUtil.listToArray(elem.getKilometreringen());
2784
1557
  if (kms.length > 0) {
@@ -2792,7 +1565,7 @@ class ActieHelper {
2792
1565
  }
2793
1566
  });
2794
1567
  if (topoElementenZonderKms.length > 0 && laatstePuntKms) {
2795
- ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, undefined, kmRanges);
1568
+ ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, null, kmRanges);
2796
1569
  }
2797
1570
  return kmRanges;
2798
1571
  }
@@ -2855,14 +1628,14 @@ class ActieHelper {
2855
1628
  if (ActieHelper.isKantCodeLinks(kantcode)) {
2856
1629
  return wissel.getLeft();
2857
1630
  }
2858
- return undefined;
1631
+ return null;
2859
1632
  }
2860
1633
  bepaalPuicVoorWisselSlijpenActie(actie) {
2861
1634
  const storingsSymboolPuic = this.sbmService.getSBWissel(actie.wisselNaam, actie.pplgNaam)?.getStoringSymboolPuic();
2862
1635
  if (!storingsSymboolPuic && this.debug) {
2863
1636
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
2864
1637
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
2865
- this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(logDto => this.mstLogResource.logMessages([logDto]))).subscribe();
1638
+ this.mstLogResource.logErrorMessages([this.loggingHelper.maakLogDTO(melding, actie)]);
2866
1639
  }
2867
1640
  return storingsSymboolPuic ? [storingsSymboolPuic] : [];
2868
1641
  }
@@ -2877,16 +1650,10 @@ class RitdelenLijstComponent {
2877
1650
  constructor(store, sbmService) {
2878
1651
  this.store = store;
2879
1652
  this.sbmService = sbmService;
2880
- this.nietGeplandeActies = [];
2881
1653
  this.focusEmitter = new EventEmitter();
2882
1654
  this.keurAlleActiesGoed = new EventEmitter();
2883
- this.ritdeelViewModels = [];
2884
1655
  this.selectedRitdeelActies = [];
2885
1656
  this.selectedRitdeelOngeplandeActies = [];
2886
- this.disableActieKnoppenVanRitdeel = true;
2887
- this.editable = false;
2888
- this.ongeplandeActiesMap = new ArrayMultimap();
2889
- this.geplandeActies = new ArrayMultimap();
2890
1657
  this.NG_ACTIE_PREFIX = '* ';
2891
1658
  this.subscriptions = [];
2892
1659
  this.subscriptions.push(store.select('ritDelen').subscribe((ritdelen) => {
@@ -2897,6 +1664,9 @@ class RitdelenLijstComponent {
2897
1664
  this.subscriptions.push(store.select('ongeplandeActies').subscribe(acties => this.ongeplandeActiesMap = acties));
2898
1665
  this.subscriptions.push(store.select('geplandeActies').subscribe(acties => this.geplandeActies = acties));
2899
1666
  this.subscriptions.push(store.select('editable').subscribe(editable => this.editable = editable));
1667
+ // listen to changes from svg-viewer-component, saving ritdeel in store isn't cool because of all the gwt in it. This is
1668
+ // just to make changes within the angular lifecycle.
1669
+ this.subscriptions.push(store.select('selectedRitdeelId').pipe(filter(id => !id)).subscribe(this.deselectRitdeel));
2900
1670
  this.subscriptions.push(combineLatest([
2901
1671
  this.store.select('ritDelen'),
2902
1672
  this.store.select('ongeplandeActies')
@@ -2933,14 +1703,12 @@ class RitdelenLijstComponent {
2933
1703
  this.store.dispatch(deleteRitdeel(ritdeel));
2934
1704
  }
2935
1705
  deleteActiesUitRit() {
2936
- this.selectedRitdeel?.acties.slice().forEach(actie => {
1706
+ this.selectedRitdeel.acties.slice().forEach(actie => {
2937
1707
  this.deleteActieUitRit(actie);
2938
1708
  });
2939
1709
  }
2940
1710
  deleteActieUitRit(actie) {
2941
- if (!this.selectedRitdeel)
2942
- return;
2943
- const acties = this.selectedRitdeel.acties ?? [];
1711
+ const acties = this.selectedRitdeel.acties;
2944
1712
  const idx = acties.indexOf(actie);
2945
1713
  if (idx >= 0) {
2946
1714
  this.verhuisActieNaarOngepland(actie);
@@ -2966,7 +1734,7 @@ class RitdelenLijstComponent {
2966
1734
  }
2967
1735
  voegActieToeAanRit(ongeplandeActie) {
2968
1736
  const idx = this.selectedRitdeelOngeplandeActies.indexOf(ongeplandeActie);
2969
- if (idx >= 0 && this.selectedRitdeel) {
1737
+ if (idx >= 0) {
2970
1738
  this.store.dispatch(addRitdeelActie(this.selectedRitdeel, this.selectedRitdeelOngeplandeActies[idx].actie));
2971
1739
  this.store.dispatch(AddGeplandeActie(ongeplandeActie.actie, ongeplandeActie.puics));
2972
1740
  this.store.dispatch(DeleteOngeplandeActie(ongeplandeActie));
@@ -3068,13 +1836,13 @@ class RitdelenLijstComponent {
3068
1836
  return `${prefix}${ActieHelper.getVSTActieOmschrijving(actie)}`;
3069
1837
  }
3070
1838
  bepaalPrefixVoorActieOmschrijving(actie) {
3071
- const noPrefix = '';
3072
- if (this.selectedRitdeel?.acties.includes(actie)) {
1839
+ const prefix = '';
1840
+ if (this.selectedRitdeel.acties.includes(actie)) {
3073
1841
  // Afwijkende naam bij niet gevisualiseerde actie in rit
3074
1842
  const puics = this.geplandeActies.get(actie);
3075
- return puics.length > 0 ? noPrefix : this.NG_ACTIE_PREFIX;
1843
+ return puics.length > 0 ? prefix : this.NG_ACTIE_PREFIX;
3076
1844
  }
3077
- return noPrefix;
1845
+ return prefix;
3078
1846
  }
3079
1847
  actieVanKmTekst(actie) {
3080
1848
  if (ActieHelper.isWisselSlijpenActie(actie)) {
@@ -3095,7 +1863,6 @@ class RitdelenLijstComponent {
3095
1863
  return ritdeel.getPplgString();
3096
1864
  }
3097
1865
  getKantCode(stand) {
3098
- // @ts-ignore
3099
1866
  if (stand === window['domein'].Stand.LINKS) {
3100
1867
  return 'L';
3101
1868
  }
@@ -3232,18 +1999,49 @@ class RitdeelViewModel {
3232
1999
  }
3233
2000
  }
3234
2001
 
2002
+ class CarouselControlsComponent {
2003
+ constructor(store) {
2004
+ this.store = store;
2005
+ this.paginationSize = 4;
2006
+ this.ritdelen$ = this.store.select('ritDelen').pipe(filter(r => r?.length > 0));
2007
+ this.kanLinks$ = this.ritdelen$.pipe(map(r => this.kanLinksNavigeren(r)));
2008
+ this.kanRechts$ = this.ritdelen$.pipe(map(r => this.kanRechtsNavigeren(r)));
2009
+ }
2010
+ kanLinksNavigeren(ritDelen) {
2011
+ return ritDelen.length > this.paginationSize && !ritDelen[0].isBinnenWindow();
2012
+ }
2013
+ kanRechtsNavigeren(ritDelen) {
2014
+ return ritDelen.length > this.paginationSize && !ritDelen[ritDelen.length - 1].isBinnenWindow();
2015
+ }
2016
+ navigeerNaarLinks(event) {
2017
+ this.store.dispatch(navigeer(event?.ctrlKey ? -1 : -(this.paginationSize - 1), this.paginationSize, this.iaversieinfo));
2018
+ }
2019
+ navigeerNaarRechts(event) {
2020
+ this.store.dispatch(navigeer(event?.ctrlKey ? 1 : this.paginationSize - 1, this.paginationSize, this.iaversieinfo));
2021
+ }
2022
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CarouselControlsComponent, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
2023
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CarouselControlsComponent, selector: "carousel-controls", inputs: { paginationSize: "paginationSize", iaversieinfo: "iaversieinfo", sideNavOpen: "sideNavOpen" }, ngImport: i0, template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
2024
+ }
2025
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CarouselControlsComponent, decorators: [{
2026
+ type: Component,
2027
+ args: [{ selector: 'carousel-controls', template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"] }]
2028
+ }], ctorParameters: () => [{ type: i2$1.Store }], propDecorators: { paginationSize: [{
2029
+ type: Input
2030
+ }], iaversieinfo: [{
2031
+ type: Input
2032
+ }], sideNavOpen: [{
2033
+ type: Input
2034
+ }] } });
2035
+
3235
2036
  class ViewerControlsComponent {
3236
2037
  constructor(store, viewerControlsService, bewegingUtils) {
3237
2038
  this.store = store;
3238
2039
  this.viewerControlsService = viewerControlsService;
3239
2040
  this.bewegingUtils = bewegingUtils;
3240
2041
  this.paginationSize = 4;
3241
- this.treinpad = undefined;
3242
- this.goedgekeurd = new EventEmitter();
3243
2042
  this.printing$ = this.viewerControlsService.isPrinting$();
3244
2043
  this.valideRit$ = this.viewerControlsService.isValideRit$();
3245
2044
  this.subscriptions = new Subscription();
3246
- this.editable = false;
3247
2045
  this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
3248
2046
  }
3249
2047
  ngOnChanges({ treinpad }) {
@@ -3255,23 +2053,24 @@ class ViewerControlsComponent {
3255
2053
  return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
3256
2054
  }
3257
2055
  goedkeurenClick() {
3258
- this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
3259
- if (this.treinpad) {
3260
- delete this.treinpad.aantalRitActies;
3261
- this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
3262
- this.goedgekeurd.emit(this.treinpad);
3263
- this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
3264
- }
3265
- })).subscribe();
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
+ }
3266
2063
  }
3267
2064
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: BewegingUtils }], target: i0.ɵɵFactoryTarget.Component }); }
3268
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ViewerControlsComponent, selector: "viewer-controls", inputs: { paginationSize: "paginationSize", treinpad: "treinpad", goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CarouselControlsComponent, selector: "carousel-controls", inputs: ["paginationSize", "sideNavOpen"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
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" }] }); }
3269
2066
  }
3270
2067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
3271
2068
  type: Component,
3272
- args: [{ selector: 'viewer-controls', template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"] }]
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"] }]
3273
2070
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: BewegingUtils }], propDecorators: { paginationSize: [{
3274
2071
  type: Input
2072
+ }], iaversieinfo: [{
2073
+ type: Input
3275
2074
  }], treinpad: [{
3276
2075
  type: Input
3277
2076
  }], goedgekeurd: [{
@@ -3326,7 +2125,7 @@ class ActiePopoverBepaler {
3326
2125
  ongeplandeActies.entries.forEach(entry => {
3327
2126
  const treinNummerActieInfos = puicNaarOngeplandeActieMap.get(entry.key);
3328
2127
  if (!treinNummerActieInfos?.map(({ actie }) => actie).includes(entry.value.actie)) {
3329
- puicNaarOngeplandeActieMap.put(entry.key, { actie: entry.value.actie });
2128
+ puicNaarOngeplandeActieMap.put(entry.key, { treinNummer: undefined, actie: entry.value.actie });
3330
2129
  }
3331
2130
  });
3332
2131
  }
@@ -3386,15 +2185,12 @@ class SvgVisualisatieComponent {
3386
2185
  this.actieHelper = actieHelper;
3387
2186
  this.sbmService = sbmService;
3388
2187
  this.editorService = editorService;
3389
- this.nietGeplandeActies = [];
3390
- this.useClickArea = false;
3391
2188
  this.svgInfos$ = this.store.select('svgInfos');
3392
2189
  this.popoverInfos = [];
3393
2190
  this.clickableIds = [];
3394
2191
  this.rightClickableIds = [];
3395
2192
  this.contextMenuActions = [];
3396
2193
  this.contextMenuStyle = { display: 'none' };
3397
- this.editable = false;
3398
2194
  this.puicNaarBeginSeinRitdeel = new Map();
3399
2195
  this.puicNaarEindSeinCombinatie = new Map();
3400
2196
  this.puicNaarAlternatieveRoute = new Map();
@@ -3418,7 +2214,7 @@ class SvgVisualisatieComponent {
3418
2214
  }));
3419
2215
  }
3420
2216
  ngOnInit() {
3421
- document.getElementById('contextMenu')?.addEventListener('mouseleave', () => this.hideContextMenu());
2217
+ document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
3422
2218
  }
3423
2219
  ngOnDestroy() {
3424
2220
  this.subscriptions.forEach(s => s.unsubscribe());
@@ -3445,6 +2241,7 @@ class SvgVisualisatieComponent {
3445
2241
  this.store.dispatch(navigeerBuitenRit(puic));
3446
2242
  }
3447
2243
  }
2244
+ this.store.dispatch(SetSelectedRitdeel(undefined));
3448
2245
  }
3449
2246
  handleImxviewRightClick(evt) {
3450
2247
  const fn = () => {
@@ -3475,7 +2272,7 @@ class SvgVisualisatieComponent {
3475
2272
  handleNieuweRouteToegevoegd() {
3476
2273
  this.store.select('nieuweRoute')
3477
2274
  .subscribe((nieuweRoute) => {
3478
- if (nieuweRoute?.isValid()) {
2275
+ if (nieuweRoute.isValid()) {
3479
2276
  this.store.dispatch(ResetNieuweRoute());
3480
2277
  this.store.dispatch(ritdeelInvoegen(nieuweRoute));
3481
2278
  }
@@ -3588,7 +2385,7 @@ class SvgVisualisatieComponent {
3588
2385
  });
3589
2386
  this.viewerControlsService.setValideRit(!gebrokenRit);
3590
2387
  this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
3591
- const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).flat();
2388
+ const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
3592
2389
  this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
3593
2390
  ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
3594
2391
  this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
@@ -3644,9 +2441,6 @@ class MstviewerComponent {
3644
2441
  this.printBewegingService = printBewegingService;
3645
2442
  this.paginationSize = 4;
3646
2443
  this.baseurl = 'https://acceptatie.raildesign.nl';
3647
- this.debug = false;
3648
- this.viewer = false;
3649
- this.useClickArea = false;
3650
2444
  this.goedgekeurd = new EventEmitter();
3651
2445
  this.subscriptions = new Subscription();
3652
2446
  this.subscriptions.add(this.store.select('nieuweBewegingen').subscribe(nieuweRit => {
@@ -3697,26 +2491,23 @@ class MstviewerComponent {
3697
2491
  }
3698
2492
  }
3699
2493
  printFocusBeweging(bewegingId) {
3700
- return this.printBewegingService.printBeweging(bewegingId, this.paginationSize);
2494
+ return this.printBewegingService.printBeweging(bewegingId, this.paginationSize, this.iaversieinfo);
3701
2495
  }
3702
2496
  keurAlleActiesGoed() {
3703
2497
  this.viewerControlsService.keurAlleActiesGoed(this.ongeplandeActies);
3704
2498
  }
3705
2499
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: DebugService }, { token: PrintBewegingService }], target: i0.ɵɵFactoryTarget.Component }); }
3706
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MstviewerComponent, selector: "mst-viewer", inputs: { iaversieinfo: "iaversieinfo", treinpad: "treinpad", ongeplandeActies: "ongeplandeActies", paginationSize: "paginationSize", baseurl: "baseurl", debug: "debug", viewer: "viewer", useClickArea: "useClickArea" }, outputs: { goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">&times;</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverlayComponent, selector: "loxia-overlay" }, { kind: "component", type: ProgressIndicatorComponent, selector: "loxia-progress-indicator" }, { kind: "component", type: RpeComponent, selector: "rpe-component", inputs: ["baseurl", "path"] }, { kind: "component", type: RitdelenLijstComponent, selector: "ritdelen-lijst", inputs: ["nietGeplandeActies"], outputs: ["focusEmitter", "keurAlleActiesGoed"] }, { kind: "component", type: RitdelenViewComponent, selector: "ritdelen-view", outputs: ["focusEmitter"] }, { kind: "component", type: ViewerControlsComponent, selector: "viewer-controls", inputs: ["paginationSize", "treinpad", "goedgekeurd"] }, { kind: "component", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: ["nietGeplandeActies", "useClickArea"] }, { kind: "component", type: MessagesComponent, selector: "loxia-messages" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
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" }] }); }
3707
2501
  }
3708
2502
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, decorators: [{
3709
2503
  type: Component,
3710
- args: [{ selector: 'mst-viewer', template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">&times;</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"] }]
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"] }]
3711
2505
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: DebugService }, { type: PrintBewegingService }], propDecorators: { iaversieinfo: [{
3712
- type: Input,
3713
- args: [{ required: true }]
2506
+ type: Input
3714
2507
  }], treinpad: [{
3715
- type: Input,
3716
- args: [{ required: true }]
2508
+ type: Input
3717
2509
  }], ongeplandeActies: [{
3718
- type: Input,
3719
- args: [{ required: true }]
2510
+ type: Input
3720
2511
  }], paginationSize: [{
3721
2512
  type: Input
3722
2513
  }], baseurl: [{
@@ -3732,26 +2523,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3732
2523
  }] } });
3733
2524
 
3734
2525
  let SignaleringsbeeldInfoResource = class SignaleringsbeeldInfoResource extends Resource {
3735
- constructor(restHandler, store, sbControllerService) {
2526
+ constructor(restHandler, store) {
3736
2527
  super(restHandler);
3737
- this.restHandler = restHandler;
3738
2528
  this.store = store;
3739
- this.sbControllerService = sbControllerService;
3740
2529
  this.subscriptions = new Subscription();
3741
- this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => {
3742
- this.$setUrl(baseUrl);
3743
- sbControllerService.configuration.basePath = baseUrl + '/mst';
3744
- }));
2530
+ this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.$setUrl(baseUrl)));
3745
2531
  }
3746
2532
  ngOnDestroy() {
3747
2533
  this.subscriptions.unsubscribe();
3748
2534
  }
3749
- laadSignaleringsbeeldInfo(versie, pplgs) {
3750
- return this.sbControllerService.getSignaleringsbeelden(versie, pplgs);
3751
- }
3752
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, deps: [{ token: i1$1.ResourceHandler }, { token: i2$1.Store }, { token: SbControllerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
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 }); }
3753
2536
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource }); }
3754
2537
  };
2538
+ __decorate([
2539
+ ResourceAction({
2540
+ path: '/',
2541
+ method: ResourceRequestMethod.Post
2542
+ })
2543
+ ], SignaleringsbeeldInfoResource.prototype, "laadSignaleringsbeeldInfo", void 0);
3755
2544
  __decorate([
3756
2545
  ResourceAction({
3757
2546
  path: '/valideeriaversie'
@@ -3764,7 +2553,7 @@ SignaleringsbeeldInfoResource = __decorate([
3764
2553
  ], SignaleringsbeeldInfoResource);
3765
2554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
3766
2555
  type: Injectable
3767
- }], ctorParameters: () => [{ type: i1$1.ResourceHandler }, { type: i2$1.Store }, { type: SbControllerService }], propDecorators: { getBestaatIALevering: [] } });
2556
+ }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { laadSignaleringsbeeldInfo: [], getBestaatIALevering: [] } });
3768
2557
  class SignaleringsbeeldInfoDto extends ResourceModel {
3769
2558
  constructor(data) {
3770
2559
  super();
@@ -3792,15 +2581,13 @@ class BaseRestService {
3792
2581
  this.httpClient = httpClient;
3793
2582
  this.store = store;
3794
2583
  this.subscriptions = new Subscription();
3795
- this.baseUrl = '';
3796
- this.iaVersie = '';
3797
2584
  this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.baseUrl = baseUrl));
3798
2585
  this.subscriptions.add(this.store.select('iaVersie').subscribe(iaVersie => this.iaVersie = iaVersie.versie));
3799
2586
  }
3800
2587
  ngOnDestroy() {
3801
2588
  this.subscriptions.unsubscribe();
3802
2589
  }
3803
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, deps: [{ token: i1.HttpClient }, { token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
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 }); }
3804
2591
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, providedIn: 'root' }); }
3805
2592
  }
3806
2593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, decorators: [{
@@ -3808,7 +2595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3808
2595
  args: [{
3809
2596
  providedIn: 'root'
3810
2597
  }]
3811
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.Store }] });
2598
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.Store }] });
3812
2599
 
3813
2600
  class BewegingVerrijkerService extends BaseRestService {
3814
2601
  getBewegingen(bewegingen, ongeplandeActies) {
@@ -3969,13 +2756,13 @@ class Ritdeel {
3969
2756
  return retval;
3970
2757
  }
3971
2758
  getVrijebaanRijwegplan() {
3972
- return this.vrijebaanRijwegplanRijwegDwangCombi?.rijwegplan;
2759
+ return this.vrijebaanRijwegplanRijwegDwangCombi.rijwegplan;
3973
2760
  }
3974
2761
  getVrijebaanRijweg() {
3975
- return this.vrijebaanRijwegplanRijwegDwangCombi?.rijweg;
2762
+ return this.vrijebaanRijwegplanRijwegDwangCombi.rijweg;
3976
2763
  }
3977
2764
  getVrijebaanDwang() {
3978
- return this.vrijebaanRijwegplanRijwegDwangCombi?.dwang;
2765
+ return this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
3979
2766
  }
3980
2767
  getDwangNummer() {
3981
2768
  return this.rijwegplanRijwegDwangCombi.getDwangNummer();
@@ -3992,7 +2779,7 @@ class Ritdeel {
3992
2779
  isBinnenWindow() {
3993
2780
  return (this.zichtbaarheid === RitdeelZichtbaarheid.ZICHTBAAR ||
3994
2781
  this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_GEBRUIKER)
3995
- && !this.zichtbaarBuitenPaginatie;
2782
+ && this.zichtbaarBuitenPaginatie === false;
3996
2783
  }
3997
2784
  isNietBeschikbaar() {
3998
2785
  return this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_SYSTEEM;
@@ -4015,10 +2802,10 @@ class Ritdeel {
4015
2802
  }
4016
2803
  }
4017
2804
  heeftVrijebaanInfo() {
4018
- return !!this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
2805
+ return this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
4019
2806
  }
4020
2807
  getVrijebaanPrlRoute() {
4021
- return this.vrijebaanRijwegplanRijwegDwangCombi?.getRoute();
2808
+ return this.vrijebaanRijwegplanRijwegDwangCombi.getRoute();
4022
2809
  }
4023
2810
  getTopologieElementen() {
4024
2811
  return this.topoElementen;
@@ -4050,10 +2837,10 @@ class Ritdeel {
4050
2837
  getZichtbaarheidBuitenPaginatie() {
4051
2838
  return this.zichtbaarBuitenPaginatie;
4052
2839
  }
4053
- bepaalTopologieElementen(sbmService) {
4054
- const topoElementen = sbmService.bepaalRouteElementen(this.getRoute());
2840
+ bepaalTopologieElementen(signaleringsBeeldManagerService) {
2841
+ const topoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getRoute());
4055
2842
  if (this.heeftVrijebaanInfo()) {
4056
- const vrijebaanTopoElementen = sbmService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
2843
+ const vrijebaanTopoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
4057
2844
  topoElementen.push(...vrijebaanTopoElementen);
4058
2845
  }
4059
2846
  this.topoElementen = topoElementen;
@@ -4099,7 +2886,7 @@ class RitLezerService {
4099
2886
  ritDelen.push(new Ritdeel(dwangInfo, beweging.ritActies, beweging, vrijebaanDwangInfo, vervolgSpoor, []));
4100
2887
  }
4101
2888
  extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg) {
4102
- let vrijebaanDwangInfo = undefined;
2889
+ let vrijebaanDwangInfo = null;
4103
2890
  let vervolgSpoor;
4104
2891
  if (beweging.naarSpoor.endsWith(SPOOR_NAAR_VRIJEBAAN_POSTFIX) ||
4105
2892
  beweging.naarSpoor.endsWith(SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX)) {
@@ -4113,9 +2900,9 @@ class RitLezerService {
4113
2900
  vrijebaanRijweg = vrijebaanRijwegen[0];
4114
2901
  vrijebaanDwang = vrijebaanRijweg.getDwangVoorDwangNummer(0);
4115
2902
  vervolgSpoor = vrijebaanRijwegplan.getVervolgSpoor(vrijebaanRijweg);
4116
- vrijebaanDwangInfo =
4117
- new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
4118
2903
  }
2904
+ vrijebaanDwangInfo =
2905
+ new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
4119
2906
  }
4120
2907
  }
4121
2908
  return { vrijebaanDwangInfo, vervolgSpoor };
@@ -4168,7 +2955,7 @@ class BepaalOngeplandeActiesEffect {
4168
2955
  this.bepaalOngeplandeActies$ = createEffect(() => this.actions$.pipe(ofType(BepaalOngeplandeActies), withLatestFrom(this.store), map(([action, store]) => {
4169
2956
  const puicActieMap = new ArrayMultimap();
4170
2957
  const nietGevondenTakken = [];
4171
- const logMeldingDTOs$ = [];
2958
+ const logMeldingDTOs = [];
4172
2959
  const acties = store.ritDelen.flatMap(rd => rd.acties);
4173
2960
  action.ongeplandeActies.forEach(actie => {
4174
2961
  const alreadyAdded = acties.filter(a => a.id === actie.id).length > 0;
@@ -4184,11 +2971,11 @@ class BepaalOngeplandeActiesEffect {
4184
2971
  if (!spoortak && nietGevondenTakken.indexOf(takId) < 0) {
4185
2972
  nietGevondenTakken.push(takId);
4186
2973
  const melding = MeldingBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken);
4187
- logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2974
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4188
2975
  }
4189
2976
  else if (spoortak) {
4190
2977
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
4191
- logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2978
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4192
2979
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
4193
2980
  }
4194
2981
  }
@@ -4197,8 +2984,8 @@ class BepaalOngeplandeActiesEffect {
4197
2984
  if (nietGevondenTakken.length > 0) {
4198
2985
  this.messagesService.showMessage(MessageBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken));
4199
2986
  }
4200
- if (logMeldingDTOs$.length > 0) {
4201
- forkJoin(logMeldingDTOs$).pipe(tap(dtos => this.mstLogResource.logMessages(dtos))).subscribe();
2987
+ if (logMeldingDTOs.length > 0) {
2988
+ this.mstLogResource.logErrorMessages(logMeldingDTOs);
4202
2989
  }
4203
2990
  this.store.dispatch(SetOngeplandeActies(puicActieMap));
4204
2991
  this.store.dispatch(SetOngeplandeActieSelectieIds(Array.from(puicActieMap.keys())));
@@ -4268,7 +3055,7 @@ class BepaalSbInfosEffect {
4268
3055
  next: _res => this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan)),
4269
3056
  error: err => {
4270
3057
  this.messagesService.showMessage(new Message(Severity.INFORMATION, Utils.getValidErorrMessage(err)));
4271
- const iaVersieInfo = { versie: 'DONNA_97207_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
3058
+ const iaVersieInfo = { versie: 'DONNA_77136_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
4272
3059
  this.store.dispatch(SetIaVersie(iaVersieInfo));
4273
3060
  this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan));
4274
3061
  }
@@ -4391,7 +3178,7 @@ class FocusEffect {
4391
3178
  const dwangPuics = this.getPuics(topoElementen);
4392
3179
  if (ritdeel.isNietBeschikbaar()) {
4393
3180
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
4394
- this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
3181
+ this.store.dispatch(navigeerVanaf(actie.paginationSize, actie.iaVersieInfo, ritdeel));
4395
3182
  }
4396
3183
  return focusOpIds(dwangPuics);
4397
3184
  })));
@@ -4413,16 +3200,16 @@ class LaadRouteFilesEffect {
4413
3200
  this.ritLezer = ritLezer;
4414
3201
  this.editorService = editorService;
4415
3202
  this.messagesService = messagesService;
4416
- this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), withLatestFrom(this.store), map(([action, storeState]) => this.laadRouteFiles(action, storeState.iaVersie.versie))), { dispatch: false });
3203
+ this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), map(action => this.laadRouteFiles(action))), { dispatch: false });
4417
3204
  }
4418
- laadRouteFiles(actie, iaVersie) {
3205
+ laadRouteFiles(actie) {
4419
3206
  const isReady = this.editorService.isReady();
4420
3207
  isReady.then(() => {
4421
3208
  const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
4422
- const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
3209
+ const promise = this.editorService.laadRouteFiles(actie.iaversieinfo.versie, pplgs);
4423
3210
  promise.then(() => {
4424
3211
  this.updateRitdelen(actie);
4425
- }, (err) => {
3212
+ }, err => {
4426
3213
  this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4427
3214
  });
4428
3215
  });
@@ -4433,7 +3220,7 @@ class LaadRouteFilesEffect {
4433
3220
  if (ritdelen.length === 0) {
4434
3221
  ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
4435
3222
  }
4436
- this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize));
3223
+ this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize, actie.iaversieinfo));
4437
3224
  this.store.dispatch(setEditable(actie.treinpad.ritStatus !== 'Definitief'));
4438
3225
  });
4439
3226
  }, 0);
@@ -4441,7 +3228,7 @@ class LaadRouteFilesEffect {
4441
3228
  bepaalSbDtoPplgs(dtos) {
4442
3229
  const pplgs = [];
4443
3230
  dtos.forEach(dto => {
4444
- dto.pplgs?.forEach(pplg => {
3231
+ dto.pplgs.forEach(pplg => {
4445
3232
  if (!pplgs.includes(pplg)) {
4446
3233
  pplgs.push(pplg);
4447
3234
  }
@@ -4482,14 +3269,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4482
3269
  }] });
4483
3270
 
4484
3271
  class LaadSignaleringsbeeldenEffect {
4485
- constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesService) {
3272
+ constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesSerivce) {
4486
3273
  this.actions$ = actions$;
4487
3274
  this.store = store;
4488
3275
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
4489
3276
  this.editorService = editorService;
4490
3277
  this.sbiResource = sbiResource;
4491
3278
  this.connectorService = connectorService;
4492
- this.messagesService = messagesService;
3279
+ this.messagesSerivce = messagesSerivce;
4493
3280
  this.SVG_PIXEL_RUIMTE = 30;
4494
3281
  this.verwerkRitdelen$ = createEffect(() => this.actions$.pipe(ofType(setRitDelen, navigeer, navigeerVanaf), withLatestFrom(this.store), map(([actie, storeState]) => {
4495
3282
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
@@ -4503,14 +3290,14 @@ class LaadSignaleringsbeeldenEffect {
4503
3290
  }).pipe(switchMap(this.getOtherRand.bind(this)), switchMap(this.loadRouteFilesAndSignaleringsbeeldInfo.bind(this)), switchMap(this.loadSignaleringsbeelden.bind(this)), map(this.processSvgsAndUpdateRitdelen.bind(this))))), { dispatch: false });
4504
3291
  }
4505
3292
  handleSignaleringsbeeldInfo({ actie, storeState }) {
4506
- return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, actie.pplgs).pipe(take(1), tap((dtos) => this.processResponse({ dtos, storeState, actie })), catchError((err) => {
4507
- this.messagesService.showMessage(MessageBuilder.nietGevondenSBI(err));
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));
4508
3295
  return throwError(() => err);
4509
3296
  }));
4510
3297
  }
4511
3298
  processResponse({ dtos, storeState, actie }) {
4512
3299
  if (dtos && dtos.filter(dto => dto.metVisualisatie).length > 12) {
4513
- this.messagesService.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
3300
+ this.messagesSerivce.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
4514
3301
  }
4515
3302
  this.store.dispatch(SetSignaleringsbeeldInfoDtos(dtos, storeState.iaVersie, actie.rit, actie.paginationSize, actie.ritGewijzigdToegestaan));
4516
3303
  this.store.dispatch(SetVisibleSignaleringsbeeldInfoDtos(dtos));
@@ -4520,14 +3307,14 @@ class LaadSignaleringsbeeldenEffect {
4520
3307
  }
4521
3308
  loadRouteFilesAndSignaleringsbeeldInfo({ otherPplg, rand, storeState }) {
4522
3309
  this.editorService.laadRouteFiles(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]);
4523
- return this.sbiResource.laadSignaleringsbeeldInfo(storeState.iaVersie.versie, [rand.getPPLG(), otherPplg]).pipe(map(dtos => ({ dtos, storeState })));
3310
+ return this.sbiResource.laadSignaleringsbeeldInfo(this.createSignaleringsbeeldInfoQueryDto([rand.getPPLG(), otherPplg], storeState.iaVersie)).pipe(map(dtos => ({ dtos, storeState })));
4524
3311
  }
4525
3312
  loadSignaleringsbeelden({ dtos, storeState }) {
4526
- return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, ritDelen: storeState.ritDelen, dtos })));
3313
+ return this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, dtos).pipe(map(svgDataUrls => ({ svgDataUrls, storeState, dtos })));
4527
3314
  }
4528
- processSvgsAndUpdateRitdelen({ svgDataUrls, ritDelen, dtos }) {
3315
+ processSvgsAndUpdateRitdelen({ svgDataUrls, storeState, dtos }) {
4529
3316
  this.verwerkSvgs(svgDataUrls);
4530
- const nieuweRitdelen = this.updateRitdelen(ritDelen, dtos);
3317
+ const nieuweRitdelen = this.updateRitdelen(storeState.ritDelen, dtos);
4531
3318
  this.store.dispatch(UpdateVisibleSignaleringsbeeldInfoDtos(dtos));
4532
3319
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
4533
3320
  }
@@ -4540,11 +3327,11 @@ class LaadSignaleringsbeeldenEffect {
4540
3327
  const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
4541
3328
  const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
4542
3329
  const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
4543
- this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
3330
+ this.editorService.laadSignaleringsbeelden(actie.iaversieinfo.versie, loadingDtos).pipe(tap(svgDataUrls => {
4544
3331
  this.verwerkSvgs(svgDataUrls);
4545
3332
  this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
4546
3333
  }), catchError(err => {
4547
- this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3334
+ this.messagesSerivce.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4548
3335
  throw err;
4549
3336
  })).subscribe();
4550
3337
  }
@@ -4559,6 +3346,10 @@ class LaadSignaleringsbeeldenEffect {
4559
3346
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
4560
3347
  }, 0);
4561
3348
  }
3349
+ createSignaleringsbeeldInfoQueryDto(pplgs, iainfo) {
3350
+ const datum = iainfo.ingangsDatum && !isNaN(iainfo.ingangsDatum.getTime()) ? iainfo.ingangsDatum.toISOString() : undefined;
3351
+ return { pplgs, versie: iainfo.versie, ingangsDatum: datum };
3352
+ }
4562
3353
  verwerkSvgs(svgDataUrls) {
4563
3354
  this.store.dispatch(SetSvgInfos(this.bepaalSvgInfos(svgDataUrls)));
4564
3355
  }
@@ -4585,7 +3376,7 @@ class LaadSignaleringsbeeldenEffect {
4585
3376
  bepaalZichtbareDtos(visibleRitPplgs, dtos) {
4586
3377
  const visibleDtos = [];
4587
3378
  visibleRitPplgs.forEach(pplg => {
4588
- dtos.filter(dto => dto.pplgs?.includes(pplg)).forEach(dto => {
3379
+ dtos.filter(dto => dto.pplgs.includes(pplg)).forEach(dto => {
4589
3380
  if (!visibleDtos.includes(dto)) {
4590
3381
  visibleDtos.push(dto);
4591
3382
  }
@@ -4595,13 +3386,13 @@ class LaadSignaleringsbeeldenEffect {
4595
3386
  dtos.filter(d => !visibleDtos.includes(d)).forEach(d => d.metVisualisatie = false);
4596
3387
  return visibleDtos;
4597
3388
  }
4598
- distinct(value, index, values) {
4599
- return values.indexOf(value) === index;
3389
+ distinct(value, index, self) {
3390
+ return self.indexOf(value) === index;
4600
3391
  }
4601
3392
  addPrevNonVisibleDto(firstIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
4602
3393
  if (firstIdx >= 0) {
4603
3394
  const pplg = ritdelen[firstIdx].getPplg();
4604
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3395
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4605
3396
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
4606
3397
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
4607
3398
  d.metVisualisatie = false;
@@ -4616,7 +3407,7 @@ class LaadSignaleringsbeeldenEffect {
4616
3407
  addNextNonVisibleDto(lastIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
4617
3408
  if (lastIdx <= ritdelen.length - 1) {
4618
3409
  const pplg = ritdelen[lastIdx].getPplg();
4619
- const ritdeelDtos = allDtos.filter(dto => dto.pplgs?.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
3410
+ const ritdeelDtos = allDtos.filter(dto => dto.pplgs.includes(pplg)).filter(dto => !loadingDtos.includes(dto));
4620
3411
  if (!visibleRitPplgs.includes(pplg) && ritdeelDtos.length > 0) {
4621
3412
  ritdeelDtos.filter(d => !loadingDtos.includes(d)).forEach(d => {
4622
3413
  d.metVisualisatie = false;
@@ -4685,7 +3476,7 @@ class LaadSignaleringsbeeldenEffect {
4685
3476
  }
4686
3477
  }
4687
3478
  }
4688
- this.updateZichtbaarheidAangrenzendeRitdelen(min, max, ritdelen, visibleDtos);
3479
+ this.updateZichtbaarheidAangrezendeRitdelen(min, max, ritdelen, visibleDtos);
4689
3480
  return this.updateZichtbaarheidBuitenWindow(ritdelen, visibleDtos);
4690
3481
  }
4691
3482
  updateZichtbaarheidBuitenWindow(nieuweRitdelen, visibleDtos) {
@@ -4701,7 +3492,7 @@ class LaadSignaleringsbeeldenEffect {
4701
3492
  }
4702
3493
  return nieuweRitdelen;
4703
3494
  }
4704
- updateZichtbaarheidAangrenzendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
3495
+ updateZichtbaarheidAangrezendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
4705
3496
  let i = min - 1;
4706
3497
  while (i >= 0) {
4707
3498
  i = this.updateZichtbaarHeid(i, 0, visibleDtos, nieuweRitdelen) - 1;
@@ -4737,11 +3528,9 @@ class LaadSignaleringsbeeldenEffect {
4737
3528
  }
4738
3529
  bevatGevisualiseerdePplg(visibleDtos, pplg) {
4739
3530
  for (const dto of visibleDtos) {
4740
- if (dto.pplgs) {
4741
- for (const dtopplg of dto.pplgs) {
4742
- if (dtopplg === pplg) {
4743
- return true;
4744
- }
3531
+ for (const dtopplg of dto.pplgs) {
3532
+ if (dtopplg === pplg) {
3533
+ return true;
4745
3534
  }
4746
3535
  }
4747
3536
  }
@@ -4791,7 +3580,7 @@ class LaadSignaleringsbeeldenEffect {
4791
3580
  pplgsWindow.push(itemPplg);
4792
3581
  }
4793
3582
  const pplgDtos = [];
4794
- dtos.filter(dto => dto.pplgs?.includes(itemPplg)).forEach(dto => {
3583
+ dtos.filter(dto => dto.pplgs.includes(itemPplg)).forEach(dto => {
4795
3584
  if (!pplgDtos.includes(dto)) {
4796
3585
  pplgDtos.push(dto);
4797
3586
  }
@@ -4838,11 +3627,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4838
3627
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: BewegingVerrijkerService }] });
4839
3628
 
4840
3629
  class RitdelenEffect {
4841
- constructor(actions$, store, sbmService, editorService) {
3630
+ constructor(actions$, store, sbmService, rijwegPlanEditorService) {
4842
3631
  this.actions$ = actions$;
4843
3632
  this.store = store;
4844
3633
  this.sbmService = sbmService;
4845
- this.editorService = editorService;
3634
+ this.rijwegPlanEditorService = rijwegPlanEditorService;
4846
3635
  this.updateRitDelen$ = createEffect(() => this.actions$.pipe(ofType(updateRitDelen), withLatestFrom(this.store), map(([actie, _storeState]) => {
4847
3636
  const nieuweRitDelen = actie.ritDelen.map(ritDeel => ritDeel.isZichtbaar() ?
4848
3637
  ritDeel.copyMetAlternatieveRoutes(this.sbmService.bepaalAlternativeRoutes(ritDeel.getRijweg())) : ritDeel);
@@ -4860,25 +3649,25 @@ class RitdelenEffect {
4860
3649
  return setRitdelenAfterUpdate(ritDelen);
4861
3650
  })));
4862
3651
  this.ritdeelInvoegen$ = createEffect(() => this.actions$.pipe(ofType(ritdeelInvoegen), withLatestFrom(this.store), map(([actie, storeState]) => {
4863
- const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute);
3652
+ const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute, this.rijwegPlanEditorService, this.sbmService);
4864
3653
  return setRitdelenAfterUpdate(ritDelen);
4865
3654
  })));
4866
3655
  }
4867
- ritdeelInvoegenFunc(ritDelen, nieuweRoute) {
3656
+ ritdeelInvoegenFunc(ritDelen, nieuweRoute, rijwegPlanEditorService, sbmService) {
4868
3657
  const origineelRitdeel = nieuweRoute.beginSeinOpRitdeel.ritdeel;
4869
3658
  const beginSein = nieuweRoute.beginSeinOpRitdeel.sein;
4870
- const rijwegplan = this.editorService.getRijwegplan(beginSein.getPPLG());
3659
+ const rijwegplan = rijwegPlanEditorService.getRijwegplan(beginSein.getPPLG());
4871
3660
  const dwangen = JsJavaUtil.listToArray(rijwegplan.getOnderliggendeDwangenTotEnVanSein(origineelRitdeel.getDwang(), beginSein));
4872
3661
  const isSamengesteldeRoute = dwangen[0] && dwangen[1];
4873
3662
  let newRitdeel1 = origineelRitdeel;
4874
3663
  if (isSamengesteldeRoute) {
4875
- newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen);
3664
+ newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen);
4876
3665
  }
4877
- if (nieuweRoute.combinatieVoorEindsein?.isVrijeBaanRijweg()) {
4878
- this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute);
3666
+ if (nieuweRoute.combinatieVoorEindsein.isVrijeBaanRijweg()) {
3667
+ this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService);
4879
3668
  }
4880
3669
  else {
4881
- this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen);
3670
+ this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen);
4882
3671
  }
4883
3672
  if (isSamengesteldeRoute) {
4884
3673
  ritDelen.splice(ritDelen.indexOf(origineelRitdeel), 1);
@@ -4893,39 +3682,38 @@ class RitdelenEffect {
4893
3682
  }
4894
3683
  }
4895
3684
  }
4896
- verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen) {
3685
+ verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen) {
4897
3686
  // dwangen in 2 nieuwe ritdelen verwerken voor de knip
4898
3687
  const nieuweRijweg1 = rijwegplan.getRijwegVoorSeinen(dwangen[0].getRoute().getBeginSein(), dwangen[0].getRoute().getEindSein());
4899
3688
  const dwangInfo1 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg1, dwangen[0]);
4900
- const newRitdeel1 = new Ritdeel(dwangInfo1, [], undefined, undefined, undefined, []);
3689
+ const newRitdeel1 = new Ritdeel(dwangInfo1, [], null, null, null, []);
4901
3690
  // remove vrijbaan info uit ritdeel
4902
- newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = undefined;
4903
- newRitdeel1.vervolgSpoor = undefined;
4904
- newRitdeel1.bepaalTopologieElementen(this.sbmService);
3691
+ newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = null;
3692
+ newRitdeel1.vervolgSpoor = null;
3693
+ newRitdeel1.bepaalTopologieElementen(sbmService);
4905
3694
  this.insertRitdeel(ritDelen, origineelRitdeel, newRitdeel1);
4906
3695
  const nieuweRijweg2 = rijwegplan.getRijwegVoorSeinen(dwangen[1].getRoute().getBeginSein(), dwangen[1].getRoute().getEindSein());
4907
3696
  const dwangInfo2 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg2, dwangen[1]);
4908
- const newRitdeel2 = new Ritdeel(dwangInfo2, [], undefined, undefined, undefined, []);
4909
- newRitdeel2.bepaalTopologieElementen(this.sbmService);
3697
+ const newRitdeel2 = new Ritdeel(dwangInfo2, [], null, null, null, []);
3698
+ newRitdeel2.bepaalTopologieElementen(sbmService);
4910
3699
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel2);
4911
3700
  return newRitdeel1;
4912
3701
  }
4913
- extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute) {
3702
+ extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService) {
4914
3703
  newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = nieuweRoute.combinatieVoorEindsein;
4915
- const vbrwp = nieuweRoute.combinatieVoorEindsein?.rijwegplan;
4916
- newRitdeel1.vervolgSpoor = nieuweRoute.combinatieVoorEindsein ?
4917
- vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein?.rijweg) : undefined;
4918
- newRitdeel1.bepaalTopologieElementen(this.sbmService);
3704
+ const vbrwp = nieuweRoute.combinatieVoorEindsein.rijwegplan;
3705
+ newRitdeel1.vervolgSpoor = vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein.rijweg);
3706
+ newRitdeel1.bepaalTopologieElementen(sbmService);
4919
3707
  }
4920
- maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen) {
3708
+ maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen) {
4921
3709
  let newRitdeel = this.createRitdeel(nieuweRoute);
4922
- const altRoutes = this.sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
3710
+ const altRoutes = sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
4923
3711
  newRitdeel = newRitdeel.copyMetAlternatieveRoutes(altRoutes);
4924
- newRitdeel.bepaalTopologieElementen(this.sbmService);
3712
+ newRitdeel.bepaalTopologieElementen(sbmService);
4925
3713
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel);
4926
3714
  }
4927
3715
  createRitdeel(nieuweRoute) {
4928
- return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], undefined, undefined, undefined, []);
3716
+ return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], null, null, null, []);
4929
3717
  }
4930
3718
  insertRitdeel(ritdelen, naRitdeelPositie, newRitdeel) {
4931
3719
  const idx = ritdelen.indexOf(naRitdeelPositie);
@@ -4976,24 +3764,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4976
3764
  type: Injectable
4977
3765
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: i4.SignaleringsbeeldSvgUtilityService }] });
4978
3766
 
4979
- class ProgressIndicator {
4980
- constructor(lowerText, upperText, iconClass) {
4981
- this.lowerText = '';
4982
- this.upperText = '';
4983
- this.iconClass = '';
4984
- this.lowerText = lowerText ?? this.lowerText;
4985
- this.upperText = upperText ?? this.upperText;
4986
- this.iconClass = iconClass ?? this.iconClass;
4987
- }
4988
- }
4989
-
4990
3767
  class NieuweRoute {
4991
3768
  constructor(beginSeinOpRitdeel, combinatieVoorEindsein) {
4992
3769
  this.beginSeinOpRitdeel = beginSeinOpRitdeel;
4993
3770
  this.combinatieVoorEindsein = combinatieVoorEindsein;
4994
3771
  }
4995
3772
  isValid() {
4996
- return !!this.combinatieVoorEindsein;
3773
+ return this.combinatieVoorEindsein !== null;
4997
3774
  }
4998
3775
  }
4999
3776
 
@@ -5059,7 +3836,7 @@ function addRitdeelActieFunc(ritDelen, { ritDeel, actie }) {
5059
3836
  const onIdsActionHandler = (action) => on(action, (_, { ids }) => ids);
5060
3837
  const createIdsReducer = (action) => createReducer([], onIdsActionHandler(action));
5061
3838
  const editableReducer = createReducer(true, on(setEditable, (_, { editable }) => editable));
5062
- const progressIndicatorReducer = createReducer({}, on(ShowProgress, () => ({ progressIndicator: new ProgressIndicator() })), on(ClearProgress, () => ({})));
3839
+ const progressIndicatorReducer = createReducer(undefined, on(ShowProgress, () => ({ progressIndicator: {} })), on(ClearProgress, () => undefined));
5063
3840
  const svgInfoReducer = createReducer([], on(SetSvgInfos, (_, { svgInfos }) => svgInfos));
5064
3841
  const debugReducer = createReducer(false, on(SetDebug, (_, { debug }) => debug));
5065
3842
  const ritSelectieIdsReducer = createIdsReducer(SetRitSelectieIds);
@@ -5085,10 +3862,12 @@ const ongeplandeActieReducer = createReducer(new ArrayMultimap(), on(SetOngeplan
5085
3862
  ongeplandeActie.puics.forEach(puic => ongeplandeActies.delete(puic, ongeplandeActie));
5086
3863
  return new ArrayMultimap(ongeplandeActies);
5087
3864
  }));
5088
- const ongeplandeActieSelectieIdsReducer = createReducer([], onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
3865
+ const ongeplandeActieSelectieIdsReducer = createReducer([],
3866
+ // on(MstActions.SetOngeplandeActieSelectieIds, (_, { ids }) => ids),
3867
+ onIdsActionHandler(SetOngeplandeActieSelectieIds), on(AddOngeplandeActie, (ids, { ongeplandeActie }) => {
5089
3868
  ongeplandeActie.puics.filter(puic => !ids.includes(puic)).forEach(puic => ids.push(puic));
5090
3869
  return [...ids];
5091
- }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => ids.includes(id) ? ids.filter(_id => _id !== id) : ids));
3870
+ }), on(DeleteOngeplandeActieSelectieId, (ids, { id }) => [].concat(ids.includes(id) ? ids.filter(_id => _id !== id) : ids)));
5092
3871
  const gebrokenRitSelectieIdsReducer = createIdsReducer(SetGebrokenRitSelectieIds);
5093
3872
  const alternatievenSelectieIdsReducer = createIdsReducer(SetAlternatievenSelectieIds);
5094
3873
  const beginSeinSelectieIdsReducer = createIdsReducer(SetBeginSeinSelectieIds);
@@ -5097,15 +3876,16 @@ const alternatievenClickableIdsReducer = createIdsReducer(SetAlternatievenClicka
5097
3876
  const eindSeinenClickableIdsReducer = createIdsReducer(SetEindSeinenClickableIds);
5098
3877
  const connectorClickableIdsReducer = createIdsReducer(SetConnectorenClickableIds);
5099
3878
  const beginSeinRightClickableIdsReducer = createIdsReducer(SetBeginSeinRightClickableIds);
5100
- const nieuweRouteReducer = createReducer(undefined, on(SetNieuwRouteBeginSein, (_, { startSeinOpRitdeel }) => new NieuweRoute(startSeinOpRitdeel, undefined)), on(SetNieuwRouteEindSein, (nieuweRoute, { combinatieVoorEindsein }) => nieuweRoute ? new NieuweRoute(nieuweRoute.beginSeinOpRitdeel, combinatieVoorEindsein) : undefined), on(ResetNieuweRoute, () => undefined));
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)));
5101
3880
  const signaleringsbeeldInfoDtosReducer = createReducer([], on(SetSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
5102
3881
  const visibleSbInfoDtosReducer = createReducer([], on(SetVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
5103
- const iaVersieReducer = createReducer({ versie: 'unknown', ingangsDatum: new Date() }, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
5104
- const algemeneRitInfoDtoReducer = createReducer({}, on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
3882
+ const iaVersieReducer = createReducer({}, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
3883
+ const algemeneRitInfoDtoReducer = createReducer(new AlgemeneRitInfoDto(), on(SetAlgemeneRitInfo, (_, { algemeneRitInfoDto }) => algemeneRitInfoDto));
5105
3884
  const ongeplandeActiesBepaaldReducer = createReducer(false, on(SetOngeplandeActiesBepaald, (_, { bepaald }) => bepaald));
5106
- const nieuweBewegingReducer = createReducer([], on(UpdateRit, (_, { bewegingen }) => bewegingen));
5107
- const baseUrlReducer = createReducer('', on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
5108
- const focusIdsReducer = createReducer([], on(focusOpIds, (_, { puics }) => puics));
3885
+ const nieuweBewegingReducer = createReducer({}, on(UpdateRit, (_, { bewegingen }) => bewegingen));
3886
+ const baseUrlReducer = createReducer(undefined, on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
3887
+ const focusIdsReducer = createReducer({}, on(focusOpIds, (_, { puics }) => puics));
3888
+ const selectedRitdeelIdReducer = createReducer({}, on(SetSelectedRitdeel, (_, { id }) => id));
5109
3889
  const storeReducers = {
5110
3890
  ritDelen: ritdelenReducer,
5111
3891
  ritSelectieIds: ritSelectieIdsReducer,
@@ -5134,9 +3914,9 @@ const storeReducers = {
5134
3914
  nieuweBewegingen: nieuweBewegingReducer,
5135
3915
  baseUrl: baseUrlReducer,
5136
3916
  focusIds: focusIdsReducer,
3917
+ selectedRitdeelId: selectedRitdeelIdReducer
5137
3918
  };
5138
3919
 
5139
- // @ts-nocheck
5140
3920
  class ZoneUtil {
5141
3921
  constructor(ngZone) {
5142
3922
  this.ngZone = ngZone;
@@ -5199,7 +3979,6 @@ class MstViewerModule {
5199
3979
  constructor(service, zoneUtil) {
5200
3980
  this.service = service;
5201
3981
  // maak de EditorService toegankelijk voor GWT code
5202
- // @ts-ignore
5203
3982
  window['rpe'] = {
5204
3983
  EditorService: zoneUtil.proxy(service)
5205
3984
  };
@@ -5217,7 +3996,7 @@ class MstViewerModule {
5217
3996
  SvgVisualisatieComponent,
5218
3997
  MessagesComponent], imports: [CommonModule,
5219
3998
  ImxViewerModule,
5220
- RijwegenModule, i1$1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
3999
+ RijwegenModule, i1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
5221
4000
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, providers: [
5222
4001
  ZoneUtil,
5223
4002
  SignaleringsbeeldInfoResource,