@loxia/mst-viewer 8.1.3-202512201923 → 8.1.3-202512220251

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