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

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 (198) 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 +1 -2
  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 +7 -7
  31. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +14 -14
  32. package/esm2022/lib/state/effect/ritdelen.effect.mjs +25 -26
  33. package/esm2022/lib/state/mst-editor-state.mjs +15 -11
  34. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +1 -1
  35. package/esm2022/lib/util/actie-helper.mjs +25 -29
  36. package/esm2022/lib/util/actie-popover-bepaler.mjs +2 -2
  37. package/esm2022/lib/util/logging-helper.mjs +41 -36
  38. package/esm2022/lib/util/multi-map.mjs +3 -2
  39. package/esm2022/lib/util/utils.mjs +5 -5
  40. package/esm2022/lib/util/zone-util.mjs +1 -2
  41. package/fesm2022/loxia-mst-viewer.mjs +622 -1854
  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/services/print-beweging.service.d.ts +6 -4
  56. package/lib/services/rit-lezer.service.d.ts +1 -1
  57. package/lib/services/signalerings-beeld-manager.service.d.ts +2 -2
  58. package/lib/services/viewer-control.service.d.ts +2 -0
  59. package/lib/state/actions/actions.d.ts +11 -5
  60. package/lib/state/actions/ritdelen.actions.d.ts +7 -3
  61. package/lib/state/effect/bepaal-ongeplande-acties.effect.d.ts +1 -2
  62. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +1 -1
  63. package/lib/state/effect/laad-route-files.effect.d.ts +3 -2
  64. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +10 -10
  65. package/lib/state/effect/ritdelen.effect.d.ts +6 -7
  66. package/lib/state/mst-editor-state.d.ts +86 -23
  67. package/lib/util/actie-helper.d.ts +4 -4
  68. package/lib/util/logging-helper.d.ts +6 -5
  69. package/lib/util/utils.d.ts +1 -0
  70. package/package.json +1 -7
  71. package/esm2022/generated/openapi/api/api.mjs +0 -23
  72. package/esm2022/generated/openapi/api/appConfigController.service.mjs +0 -140
  73. package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  74. package/esm2022/generated/openapi/api/bewegingController.service.mjs +0 -155
  75. package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  76. package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  77. package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  78. package/esm2022/generated/openapi/api/connectorController.service.mjs +0 -146
  79. package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  80. package/esm2022/generated/openapi/api/logController.service.mjs +0 -150
  81. package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  82. package/esm2022/generated/openapi/api/p21Controller.service.mjs +0 -236
  83. package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  84. package/esm2022/generated/openapi/api/sbController.service.mjs +0 -202
  85. package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  86. package/esm2022/generated/openapi/api.module.mjs +0 -40
  87. package/esm2022/generated/openapi/configuration.mjs +0 -99
  88. package/esm2022/generated/openapi/encoder.mjs +0 -19
  89. package/esm2022/generated/openapi/index.mjs +0 -7
  90. package/esm2022/generated/openapi/model/actieDto.mjs +0 -13
  91. package/esm2022/generated/openapi/model/algemeneRitDto.mjs +0 -13
  92. package/esm2022/generated/openapi/model/bewegingDto.mjs +0 -2
  93. package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  94. package/esm2022/generated/openapi/model/frontendProperties.mjs +0 -2
  95. package/esm2022/generated/openapi/model/logDto.mjs +0 -2
  96. package/esm2022/generated/openapi/model/models.mjs +0 -10
  97. package/esm2022/generated/openapi/model/ritRequestDto.mjs +0 -2
  98. package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  99. package/esm2022/generated/openapi/model/signaleringsbeeldRequestDto.mjs +0 -13
  100. package/esm2022/generated/openapi/param.mjs +0 -2
  101. package/esm2022/generated/openapi/variables.mjs +0 -9
  102. package/esm2022/src/generated/openapi/api/api.mjs +0 -23
  103. package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +0 -140
  104. package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  105. package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +0 -155
  106. package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  107. package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  108. package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  109. package/esm2022/src/generated/openapi/api/connectorController.service.mjs +0 -146
  110. package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  111. package/esm2022/src/generated/openapi/api/logController.service.mjs +0 -150
  112. package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  113. package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +0 -236
  114. package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  115. package/esm2022/src/generated/openapi/api/sbController.service.mjs +0 -202
  116. package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  117. package/esm2022/src/generated/openapi/api.module.mjs +0 -40
  118. package/esm2022/src/generated/openapi/configuration.mjs +0 -99
  119. package/esm2022/src/generated/openapi/encoder.mjs +0 -19
  120. package/esm2022/src/generated/openapi/index.mjs +0 -7
  121. package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +0 -5
  122. package/esm2022/src/generated/openapi/model/actieDto.mjs +0 -13
  123. package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +0 -13
  124. package/esm2022/src/generated/openapi/model/bewegingDto.mjs +0 -2
  125. package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  126. package/esm2022/src/generated/openapi/model/frontendProperties.mjs +0 -2
  127. package/esm2022/src/generated/openapi/model/logDto.mjs +0 -2
  128. package/esm2022/src/generated/openapi/model/models.mjs +0 -10
  129. package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +0 -2
  130. package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  131. package/esm2022/src/generated/openapi/model/signaleringsbeeldRequestDto.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 -1341
  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 -28
  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 -9
  162. package/generated/openapi/model/ritRequestDto.d.ts +0 -17
  163. package/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  164. package/generated/openapi/model/signaleringsbeeldRequestDto.d.ts +0 -16
  165. package/generated/openapi/param.d.ts +0 -37
  166. package/generated/openapi/variables.d.ts +0 -8
  167. package/src/generated/openapi/README.md +0 -226
  168. package/src/generated/openapi/api/api.d.ts +0 -22
  169. package/src/generated/openapi/api/appConfigController.service.d.ts +0 -38
  170. package/src/generated/openapi/api/appConfigController.serviceInterface.d.ts +0 -24
  171. package/src/generated/openapi/api/bewegingController.service.d.ts +0 -40
  172. package/src/generated/openapi/api/bewegingController.serviceInterface.d.ts +0 -27
  173. package/src/generated/openapi/api/class0BuildProperties.service.d.ts +0 -36
  174. package/src/generated/openapi/api/class0BuildProperties.serviceInterface.d.ts +0 -23
  175. package/src/generated/openapi/api/connectorController.service.d.ts +0 -38
  176. package/src/generated/openapi/api/connectorController.serviceInterface.d.ts +0 -25
  177. package/src/generated/openapi/api/logController.service.d.ts +0 -38
  178. package/src/generated/openapi/api/logController.serviceInterface.d.ts +0 -25
  179. package/src/generated/openapi/api/p21Controller.service.d.ts +0 -62
  180. package/src/generated/openapi/api/p21Controller.serviceInterface.d.ts +0 -30
  181. package/src/generated/openapi/api/sbController.service.d.ts +0 -60
  182. package/src/generated/openapi/api/sbController.serviceInterface.d.ts +0 -32
  183. package/src/generated/openapi/api.module.d.ts +0 -11
  184. package/src/generated/openapi/configuration.d.ts +0 -104
  185. package/src/generated/openapi/encoder.d.ts +0 -11
  186. package/src/generated/openapi/index.d.ts +0 -6
  187. package/src/generated/openapi/model/actieDto.d.ts +0 -35
  188. package/src/generated/openapi/model/algemeneRitDto.d.ts +0 -28
  189. package/src/generated/openapi/model/bewegingDto.d.ts +0 -37
  190. package/src/generated/openapi/model/frontendKeycloakConfig.d.ts +0 -16
  191. package/src/generated/openapi/model/frontendProperties.d.ts +0 -15
  192. package/src/generated/openapi/model/logDto.d.ts +0 -22
  193. package/src/generated/openapi/model/models.d.ts +0 -9
  194. package/src/generated/openapi/model/ritRequestDto.d.ts +0 -17
  195. package/src/generated/openapi/model/signaleringsbeeldDto.d.ts +0 -16
  196. package/src/generated/openapi/model/signaleringsbeeldRequestDto.d.ts +0 -16
  197. package/src/generated/openapi/param.d.ts +0 -37
  198. 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';
16
+ import * as i1 from '@ngx-resource/core';
20
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() {
@@ -828,1618 +980,231 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
828
980
  class PrintBewegingService {
829
981
  constructor(store, viewerControlService, sbmService) {
830
982
  this.store = store;
831
- this.viewerControlService = viewerControlService;
832
- 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(signaleringsbeeldRequestDto, observe = 'body', reportProgress = false, options) {
2169
- if (signaleringsbeeldRequestDto === null || signaleringsbeeldRequestDto === undefined) {
2170
- throw new Error('Required parameter signaleringsbeeldRequestDto was null or undefined when calling getSignaleringsbeelden.');
2171
- }
2172
- let localVarHeaders = this.defaultHeaders;
2173
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2174
- if (localVarHttpHeaderAcceptSelected === undefined) {
2175
- // to determine the Accept header
2176
- const httpHeaderAccepts = [
2177
- '*/*'
2178
- ];
2179
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2180
- }
2181
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2182
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2183
- }
2184
- let localVarHttpContext = options && options.context;
2185
- if (localVarHttpContext === undefined) {
2186
- localVarHttpContext = new HttpContext();
2187
- }
2188
- let localVarTransferCache = options && options.transferCache;
2189
- if (localVarTransferCache === undefined) {
2190
- localVarTransferCache = true;
2191
- }
2192
- // to determine the Content-Type header
2193
- const consumes = [
2194
- 'application/json'
2195
- ];
2196
- const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
2197
- if (httpContentTypeSelected !== undefined) {
2198
- localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
2199
- }
2200
- let responseType_ = 'json';
2201
- if (localVarHttpHeaderAcceptSelected) {
2202
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2203
- responseType_ = 'text';
2204
- }
2205
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2206
- responseType_ = 'json';
983
+ this.viewerControlService = viewerControlService;
984
+ this.sbmService = sbmService;
985
+ this.store.select(s => s.ritDelen).subscribe(ritdelen => this.ritdelen = ritdelen);
986
+ }
987
+ printBeweging(bewegingId, paginationSize, iaVersieInfo) {
988
+ const gevondenRitdeel = this.ritdelen.filter(r => parseInt(r.getBewegingId(), 10) === bewegingId);
989
+ // hide/show de knoppen
990
+ const printing = !!bewegingId && gevondenRitdeel.length === 1;
991
+ this.viewerControlService.setPrinting(printing);
992
+ if (!printing) {
993
+ return Promise.reject(new Error('Geen beweging gevonden voor ' + bewegingId));
994
+ }
995
+ return new Promise((resolve) => {
996
+ const ritdeel = gevondenRitdeel[0];
997
+ if (ritdeel.isNietBeschikbaar()) {
998
+ this.store.dispatch(navigeerVanaf(paginationSize, iaVersieInfo, ritdeel));
999
+ this.store.dispatch(ShowProgress());
1000
+ setTimeout(() => this.focusOpBeweging(ritdeel, resolve), 1000);
2207
1001
  }
2208
1002
  else {
2209
- responseType_ = 'blob';
1003
+ this.focusOpBeweging(ritdeel, resolve);
2210
1004
  }
2211
- }
2212
- let localVarPath = `/rest/signaleringsbeeldeninfo`;
2213
- return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
2214
- context: localVarHttpContext,
2215
- body: signaleringsbeeldRequestDto,
2216
- responseType: responseType_,
2217
- withCredentials: this.configuration.withCredentials,
2218
- headers: localVarHeaders,
2219
- observe: observe,
2220
- transferCache: localVarTransferCache,
2221
- reportProgress: reportProgress
2222
1005
  });
2223
1006
  }
2224
- valideerIaVersie(versie, observe = 'body', reportProgress = false, options) {
2225
- if (versie === null || versie === undefined) {
2226
- throw new Error('Required parameter versie was null or undefined when calling valideerIaVersie.');
2227
- }
2228
- let localVarQueryParameters = new HttpParams({ encoder: this.encoder });
2229
- if (versie !== undefined && versie !== null) {
2230
- localVarQueryParameters = this.addToHttpParams(localVarQueryParameters, versie, 'versie');
2231
- }
2232
- let localVarHeaders = this.defaultHeaders;
2233
- let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
2234
- if (localVarHttpHeaderAcceptSelected === undefined) {
2235
- // to determine the Accept header
2236
- const httpHeaderAccepts = [];
2237
- localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
2238
- }
2239
- if (localVarHttpHeaderAcceptSelected !== undefined) {
2240
- localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
2241
- }
2242
- let localVarHttpContext = options && options.context;
2243
- if (localVarHttpContext === undefined) {
2244
- localVarHttpContext = new HttpContext();
2245
- }
2246
- let localVarTransferCache = options && options.transferCache;
2247
- if (localVarTransferCache === undefined) {
2248
- localVarTransferCache = true;
2249
- }
2250
- let responseType_ = 'json';
2251
- if (localVarHttpHeaderAcceptSelected) {
2252
- if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
2253
- responseType_ = 'text';
2254
- }
2255
- else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
2256
- responseType_ = 'json';
2257
- }
2258
- else {
2259
- responseType_ = 'blob';
2260
- }
2261
- }
2262
- let localVarPath = `/rest/signaleringsbeeldeninfo/valideeriaversie`;
2263
- return this.httpClient.request('get', `${this.configuration.basePath}${localVarPath}`, {
2264
- context: localVarHttpContext,
2265
- params: localVarQueryParameters,
2266
- responseType: responseType_,
2267
- withCredentials: this.configuration.withCredentials,
2268
- headers: localVarHeaders,
2269
- observe: observe,
2270
- transferCache: localVarTransferCache,
2271
- reportProgress: reportProgress
1007
+ focusOpBeweging(ritdeel, resolve) {
1008
+ // deselecteer alles
1009
+ this.store.dispatch(setZichtbaarheidAlleRitdelen(false));
1010
+ // enable ritacties (checkbox) voor alle ritdelen met beweging die matched met bewegingId(s)
1011
+ this.store.dispatch(toggleZichtbaarheidVoorBewegingen([parseInt(ritdeel.getBewegingId(), 10)]));
1012
+ setTimeout(() => {
1013
+ // dit neemt niet de vrijebaan elementen mee
1014
+ const topoElementen = this.sbmService.bepaalRouteElementen(ritdeel.getRoute());
1015
+ const dwangPuics = this.getPuics(topoElementen);
1016
+ this.store.dispatch(focusOpIds(dwangPuics));
1017
+ setTimeout(() => {
1018
+ // resolve de promise, om aan te geven dat focus klaar is
1019
+ resolve(true);
1020
+ this.viewerControlService.setPrinting(false);
1021
+ this.store.dispatch(ClearProgress());
1022
+ }, 1000);
2272
1023
  });
2273
1024
  }
2274
- 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 }); }
2275
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SbControllerService, providedIn: 'root' }); }
1025
+ getPuics(topoElementen) {
1026
+ return topoElementen.map(e => e.getPuic());
1027
+ }
1028
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: SignaleringsBeeldManagerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
1029
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: PrintBewegingService, providedIn: 'root' }); }
2276
1030
  }
2277
- 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: [{
2278
1032
  type: Injectable,
2279
1033
  args: [{
2280
1034
  providedIn: 'root'
2281
1035
  }]
2282
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
2283
- type: Optional
2284
- }, {
2285
- type: Inject,
2286
- args: [BASE_PATH]
2287
- }] }, { type: Configuration, decorators: [{
2288
- type: Optional
2289
- }] }] });
2290
-
2291
- const APIS = [AppConfigControllerService, BewegingControllerService, Class0BuildPropertiesService, ConnectorControllerService, LogControllerService, P21ControllerService, SbControllerService];
1036
+ }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: SignaleringsBeeldManagerService }] });
2292
1037
 
2293
- /**
2294
- * MST
2295
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2296
- *
2297
- * The version of the OpenAPI document: 1
2298
- *
2299
- *
2300
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2301
- * https://openapi-generator.tech
2302
- * Do not edit the class manually.
2303
- */
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
+ }] } });
2304
1068
 
2305
- /**
2306
- * MST
2307
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2308
- *
2309
- * The version of the OpenAPI document: 1
2310
- *
2311
- *
2312
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2313
- * https://openapi-generator.tech
2314
- * Do not edit the class manually.
2315
- */
1069
+ class OngeplandeActie {
1070
+ constructor(actie, puics) {
1071
+ this.actie = actie;
1072
+ this.puics = puics;
1073
+ }
1074
+ }
2316
1075
 
2317
- /**
2318
- * MST
2319
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2320
- *
2321
- * The version of the OpenAPI document: 1
2322
- *
2323
- *
2324
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2325
- * https://openapi-generator.tech
2326
- * Do not edit the class manually.
2327
- */
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
+ }
2328
1113
 
2329
- /**
2330
- * MST
2331
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2332
- *
2333
- * The version of the OpenAPI document: 1
2334
- *
2335
- *
2336
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2337
- * https://openapi-generator.tech
2338
- * Do not edit the class manually.
2339
- */
1114
+ class WisselKantCode {
1115
+ constructor(naam, kantCode) {
1116
+ this.naam = naam;
1117
+ this.kantCode = kantCode;
1118
+ }
1119
+ }
2340
1120
 
2341
- /**
2342
- * MST
2343
- * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
2344
- *
2345
- * The version of the OpenAPI document: 1
2346
- *
2347
- *
2348
- * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
2349
- * https://openapi-generator.tech
2350
- * Do not edit the class manually.
2351
- */
1121
+ class MeldingEvent {
1122
+ constructor(meldingMessage, meldingLevel) {
1123
+ this.meldingMessage = meldingMessage;
1124
+ this.meldingLevel = meldingLevel;
1125
+ }
1126
+ }
2352
1127
 
2353
- class ApiModule {
2354
- static forRoot(configurationFactory) {
2355
- return {
2356
- ngModule: ApiModule,
2357
- providers: [{ provide: Configuration, useFactory: configurationFactory }]
2358
- };
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);
2359
1134
  }
2360
- constructor(parentModule, http) {
2361
- if (parentModule) {
2362
- throw new Error('ApiModule is already loaded. Import in your base AppModule only.');
2363
- }
2364
- if (!http) {
2365
- throw new Error('You need to import the HttpClientModule in your AppModule! \n' +
2366
- 'See also https://github.com/angular/angular/issues/20575');
2367
- }
1135
+ static actieHighlightError(actieZonderElementen) {
1136
+ return new MeldingEvent('Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen, MELDING_LEVEL_ERROR);
2368
1137
  }
2369
- 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 }); }
2370
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.7", ngImport: i0, type: ApiModule }); }
2371
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiModule }); }
2372
1138
  }
2373
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ApiModule, decorators: [{
2374
- type: NgModule,
2375
- args: [{
2376
- imports: [],
2377
- declarations: [],
2378
- exports: [],
2379
- providers: []
2380
- }]
2381
- }], ctorParameters: () => [{ type: ApiModule, decorators: [{
2382
- type: Optional
2383
- }, {
2384
- type: SkipSelf
2385
- }] }, { type: i1.HttpClient, decorators: [{
2386
- type: Optional
2387
- }] }] });
2388
1139
 
2389
- class MstLoggingResource {
2390
- constructor(controller, store) {
2391
- this.controller = controller;
2392
- this.store = store;
2393
- this.subscriptions = new Subscription();
2394
- 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);
2395
1143
  }
2396
- ngOnDestroy() {
2397
- 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`);
2398
1146
  }
2399
- logMessages(logDto) {
2400
- this.controller.log(logDto).subscribe();
1147
+ static rijwegplanNietGevonden(beweging) {
1148
+ return new Message(Severity.ERROR, `Rijwegplan van PPLG ${beweging.vanPplg} niet gevonden`);
1149
+ }
1150
+ static dwangNietGevonden(beweging) {
1151
+ return new Message(Severity.ERROR, `Dwang ${beweging.dwangNummer} voor rijweg van ${beweging.vanSpoor} in PPLG ${beweging.vanPplg} naar ${beweging.naarSpoor} niet gevonden`);
1152
+ }
1153
+ static nietGevondenSBI(err) {
1154
+ return new Message(Severity.ERROR, 'Error bij het ophalen van signaleringsbeeldinfo: ' + Utils.getValidErorrMessage(err));
1155
+ }
1156
+ static actieHighlightError(actieZonderElementen) {
1157
+ return new Message(Severity.ERROR, 'Highlight error. Geen elementen kunnen vinden voor actie(s) met id: ' + actieZonderElementen);
1158
+ }
1159
+ static ritFileAlGewijzigdError(beweging) {
1160
+ return new Message(Severity.ERROR, 'Rit bevat een beweging met status \'Gewijzigd\': Beweging met ID:' + beweging.id);
1161
+ }
1162
+ static meerDan12BladenGevonden(bladAmount) {
1163
+ return new Message(Severity.WARNING, 'Warning, Rit bevat ' + bladAmount + ' bladen. Er worden maximaal 12 bladen ondersteund.');
1164
+ }
1165
+ static nietGevondenTakkenOngeplandeActies(nietGevondenTakken) {
1166
+ return new Message(Severity.INFORMATION, 'Info, Niet gevonden takken uit \'OngeplandeActies\': ' + nietGevondenTakken);
2401
1167
  }
2402
- 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 }); }
2403
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource }); }
2404
1168
  }
2405
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstLoggingResource, decorators: [{
2406
- type: Injectable
2407
- }], ctorParameters: () => [{ type: LogControllerService }, { type: i2$1.Store }] });
2408
1169
 
2409
1170
  class LoggingHelper {
2410
- constructor(store) {
1171
+ constructor(sbmService, store) {
1172
+ this.sbmService = sbmService;
2411
1173
  this.store = store;
2412
1174
  }
2413
1175
  maakLogDTO(melding, actie) {
2414
- return combineLatest([
2415
- this.store.select('algemeneRitInfoDto'),
2416
- this.store.select('iaVersie')
2417
- ]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie]) => {
2418
- let actieDto = null;
2419
- if (actie) {
2420
- actieDto = {
2421
- pplgNaam: actie.pplgNaam,
2422
- ritActieTypeOmschrijving: actie.ritActieTypeOmschrijving,
2423
- ritActieStatus: actie.ritActieStatus,
2424
- bewegingId: actie.bewegingId,
2425
- wisselType: actie.wisselType,
2426
- wisselNaam: actie.wisselNaam,
2427
- wisselKantCode: actie.wisselKantCode,
2428
- vanKilometerlint: actie.vanKilometerlint,
2429
- vanKilometrering: actie.vanKilometrering,
2430
- totKilometerlint: actie.totKilometerlint,
2431
- totKilometrering: actie.totKilometrering
2432
- };
2433
- }
2434
- return {
2435
- iaVersie: iaVersie.versie,
2436
- meldingLevel: melding.meldingLevel,
2437
- meldingMessage: melding.meldingMessage,
2438
- actieDto,
2439
- algemeneRitInfoDto,
2440
- sbinfoDtos: this.getSbInfoDtos()
2441
- };
2442
- }));
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
+ });
2443
1208
  }
2444
1209
  getSbInfoDtos() {
2445
1210
  const sbInfoDtos = [];
@@ -2450,12 +1215,12 @@ class LoggingHelper {
2450
1215
  });
2451
1216
  return sbInfoDtos;
2452
1217
  }
2453
- 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 }); }
2454
1219
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper }); }
2455
1220
  }
2456
1221
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, decorators: [{
2457
1222
  type: Injectable
2458
- }], ctorParameters: () => [{ type: i2$1.Store }] });
1223
+ }], ctorParameters: () => [{ type: SignaleringsBeeldManagerService }, { type: i2$1.Store }] });
2459
1224
 
2460
1225
  /**
2461
1226
  * export const RIT_ACTIE_1 = 1;
@@ -2551,7 +1316,6 @@ class ActieHelper {
2551
1316
  this.messagesService = messagesService;
2552
1317
  this.store = store;
2553
1318
  this.loggingHelper = loggingHelper;
2554
- this.debug = false;
2555
1319
  this.store.select('debug').subscribe(debug => this.debug = debug);
2556
1320
  }
2557
1321
  static getActieTopoElements(ritDeel, sbmService) {
@@ -2585,10 +1349,10 @@ class ActieHelper {
2585
1349
  }
2586
1350
  }
2587
1351
  static actieComparator(actie1, actie2) {
2588
- if (actie1.vanKilometrering && actie2.vanKilometrering && actie1.vanKilometrering !== actie2.vanKilometrering) {
1352
+ if (actie1.vanKilometrering !== actie2.vanKilometrering) {
2589
1353
  return actie1.vanKilometrering > actie2.vanKilometrering ? 1 : -1;
2590
1354
  }
2591
- if (actie1.ritActieTypeOmschrijving && actie2.ritActieTypeOmschrijving && actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
1355
+ if (actie1.ritActieTypeOmschrijving !== actie2.ritActieTypeOmschrijving) {
2592
1356
  return actie1.ritActieTypeOmschrijving > actie2.ritActieTypeOmschrijving ? 1 : -1;
2593
1357
  }
2594
1358
  if (actie1.wisselNaam !== actie2.wisselNaam) {
@@ -2628,9 +1392,9 @@ class ActieHelper {
2628
1392
  // make sure the elems are sorted in ascending order
2629
1393
  static sorteerTopoElementen(topoElems) {
2630
1394
  const topoElementen = topoElems.slice();
2631
- let lint = undefined;
2632
- let first;
2633
- let second;
1395
+ let lint = null;
1396
+ let first = null;
1397
+ let second = null;
2634
1398
  for (const topoElement of topoElementen) {
2635
1399
  let kilometreringen = null;
2636
1400
  const kms = JsJavaUtil.listToArray(topoElement.getKilometreringen());
@@ -2662,11 +1426,11 @@ class ActieHelper {
2662
1426
  if (!totKilometreringen && vanKilometreringen) {
2663
1427
  totKilometreringen = [new MstKilometrering(vanKilometreringen[0].getKmLint(), 100000)];
2664
1428
  }
2665
- if (vanKilometreringen && totKilometreringen && vanKilometreringen[0] > totKilometreringen[0]) {
1429
+ if (vanKilometreringen[0] > totKilometreringen[0]) {
2666
1430
  kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, -1), this.addKm(totKilometreringen, 1)));
2667
1431
  }
2668
1432
  else {
2669
- 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)));
2670
1434
  }
2671
1435
  });
2672
1436
  }
@@ -2757,23 +1521,21 @@ class ActieHelper {
2757
1521
  else {
2758
1522
  const puics = [];
2759
1523
  kmRanges.forEach(kmRange => {
2760
- if (actie.vanKilometrering && actie.vanKilometerlint && actie.totKilometrering && actie.totKilometerlint) {
2761
- let vanKilometrering = new MstKilometrering(actie.vanKilometerlint, actie.vanKilometrering);
2762
- let totKilometrering = new MstKilometrering(actie.totKilometerlint, actie.totKilometrering);
2763
- if (actie.vanKilometrering > actie.totKilometrering) {
2764
- const temp = { van: vanKilometrering, tot: totKilometrering };
2765
- vanKilometrering = temp.tot;
2766
- totKilometrering = temp.van;
2767
- }
2768
- if (kmRange.heeftOverlap(vanKilometrering, totKilometrering)) {
2769
- puics.push(kmRange.topologyElement.getPuic());
2770
- }
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());
2771
1533
  }
2772
1534
  });
2773
1535
  if (puics.length === 0) {
2774
1536
  actieZonderElementen.push(actie.id);
2775
1537
  const melding = MeldingBuilder.actieHighlightError(actieZonderElementen);
2776
- this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(dto => logMeldingDTOs.push(dto))).subscribe();
1538
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
2777
1539
  }
2778
1540
  retval.putAll(actie, puics);
2779
1541
  }
@@ -2781,15 +1543,15 @@ class ActieHelper {
2781
1543
  this.logLegeMeldingDto(logMeldingDTOs);
2782
1544
  return retval;
2783
1545
  }
2784
- logLegeMeldingDto(logDto) {
2785
- if (logDto.length > 0) {
2786
- return this.mstLogResource.logMessages(logDto);
1546
+ logLegeMeldingDto(logMeldingDTOs) {
1547
+ if (logMeldingDTOs.length > 0) {
1548
+ this.mstLogResource.logErrorMessages(logMeldingDTOs);
2787
1549
  }
2788
1550
  }
2789
1551
  verwerkTopoElementen(topoElementen) {
2790
1552
  const kmRanges = [];
2791
1553
  let topoElementenZonderKms = [];
2792
- let laatstePuntKms = undefined;
1554
+ let laatstePuntKms = null;
2793
1555
  topoElementen.forEach(elem => {
2794
1556
  const kms = JsJavaUtil.listToArray(elem.getKilometreringen());
2795
1557
  if (kms.length > 0) {
@@ -2803,7 +1565,7 @@ class ActieHelper {
2803
1565
  }
2804
1566
  });
2805
1567
  if (topoElementenZonderKms.length > 0 && laatstePuntKms) {
2806
- ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, undefined, kmRanges);
1568
+ ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, null, kmRanges);
2807
1569
  }
2808
1570
  return kmRanges;
2809
1571
  }
@@ -2866,14 +1628,14 @@ class ActieHelper {
2866
1628
  if (ActieHelper.isKantCodeLinks(kantcode)) {
2867
1629
  return wissel.getLeft();
2868
1630
  }
2869
- return undefined;
1631
+ return null;
2870
1632
  }
2871
1633
  bepaalPuicVoorWisselSlijpenActie(actie) {
2872
1634
  const storingsSymboolPuic = this.sbmService.getSBWissel(actie.wisselNaam, actie.pplgNaam)?.getStoringSymboolPuic();
2873
1635
  if (!storingsSymboolPuic && this.debug) {
2874
1636
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
2875
1637
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
2876
- this.loggingHelper.maakLogDTO(melding, actie).pipe(tap(logDto => this.mstLogResource.logMessages([logDto]))).subscribe();
1638
+ this.mstLogResource.logErrorMessages([this.loggingHelper.maakLogDTO(melding, actie)]);
2877
1639
  }
2878
1640
  return storingsSymboolPuic ? [storingsSymboolPuic] : [];
2879
1641
  }
@@ -2888,16 +1650,10 @@ class RitdelenLijstComponent {
2888
1650
  constructor(store, sbmService) {
2889
1651
  this.store = store;
2890
1652
  this.sbmService = sbmService;
2891
- this.nietGeplandeActies = [];
2892
1653
  this.focusEmitter = new EventEmitter();
2893
1654
  this.keurAlleActiesGoed = new EventEmitter();
2894
- this.ritdeelViewModels = [];
2895
1655
  this.selectedRitdeelActies = [];
2896
1656
  this.selectedRitdeelOngeplandeActies = [];
2897
- this.disableActieKnoppenVanRitdeel = true;
2898
- this.editable = false;
2899
- this.ongeplandeActiesMap = new ArrayMultimap();
2900
- this.geplandeActies = new ArrayMultimap();
2901
1657
  this.NG_ACTIE_PREFIX = '* ';
2902
1658
  this.subscriptions = [];
2903
1659
  this.subscriptions.push(store.select('ritDelen').subscribe((ritdelen) => {
@@ -2908,6 +1664,9 @@ class RitdelenLijstComponent {
2908
1664
  this.subscriptions.push(store.select('ongeplandeActies').subscribe(acties => this.ongeplandeActiesMap = acties));
2909
1665
  this.subscriptions.push(store.select('geplandeActies').subscribe(acties => this.geplandeActies = acties));
2910
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));
2911
1670
  this.subscriptions.push(combineLatest([
2912
1671
  this.store.select('ritDelen'),
2913
1672
  this.store.select('ongeplandeActies')
@@ -2944,14 +1703,12 @@ class RitdelenLijstComponent {
2944
1703
  this.store.dispatch(deleteRitdeel(ritdeel));
2945
1704
  }
2946
1705
  deleteActiesUitRit() {
2947
- this.selectedRitdeel?.acties.slice().forEach(actie => {
1706
+ this.selectedRitdeel.acties.slice().forEach(actie => {
2948
1707
  this.deleteActieUitRit(actie);
2949
1708
  });
2950
1709
  }
2951
1710
  deleteActieUitRit(actie) {
2952
- if (!this.selectedRitdeel)
2953
- return;
2954
- const acties = this.selectedRitdeel.acties ?? [];
1711
+ const acties = this.selectedRitdeel.acties;
2955
1712
  const idx = acties.indexOf(actie);
2956
1713
  if (idx >= 0) {
2957
1714
  this.verhuisActieNaarOngepland(actie);
@@ -2977,7 +1734,7 @@ class RitdelenLijstComponent {
2977
1734
  }
2978
1735
  voegActieToeAanRit(ongeplandeActie) {
2979
1736
  const idx = this.selectedRitdeelOngeplandeActies.indexOf(ongeplandeActie);
2980
- if (idx >= 0 && this.selectedRitdeel) {
1737
+ if (idx >= 0) {
2981
1738
  this.store.dispatch(addRitdeelActie(this.selectedRitdeel, this.selectedRitdeelOngeplandeActies[idx].actie));
2982
1739
  this.store.dispatch(AddGeplandeActie(ongeplandeActie.actie, ongeplandeActie.puics));
2983
1740
  this.store.dispatch(DeleteOngeplandeActie(ongeplandeActie));
@@ -3079,13 +1836,13 @@ class RitdelenLijstComponent {
3079
1836
  return `${prefix}${ActieHelper.getVSTActieOmschrijving(actie)}`;
3080
1837
  }
3081
1838
  bepaalPrefixVoorActieOmschrijving(actie) {
3082
- const noPrefix = '';
3083
- if (this.selectedRitdeel?.acties.includes(actie)) {
1839
+ const prefix = '';
1840
+ if (this.selectedRitdeel.acties.includes(actie)) {
3084
1841
  // Afwijkende naam bij niet gevisualiseerde actie in rit
3085
1842
  const puics = this.geplandeActies.get(actie);
3086
- return puics.length > 0 ? noPrefix : this.NG_ACTIE_PREFIX;
1843
+ return puics.length > 0 ? prefix : this.NG_ACTIE_PREFIX;
3087
1844
  }
3088
- return noPrefix;
1845
+ return prefix;
3089
1846
  }
3090
1847
  actieVanKmTekst(actie) {
3091
1848
  if (ActieHelper.isWisselSlijpenActie(actie)) {
@@ -3106,7 +1863,6 @@ class RitdelenLijstComponent {
3106
1863
  return ritdeel.getPplgString();
3107
1864
  }
3108
1865
  getKantCode(stand) {
3109
- // @ts-ignore
3110
1866
  if (stand === window['domein'].Stand.LINKS) {
3111
1867
  return 'L';
3112
1868
  }
@@ -3243,18 +1999,49 @@ class RitdeelViewModel {
3243
1999
  }
3244
2000
  }
3245
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
+
3246
2036
  class ViewerControlsComponent {
3247
2037
  constructor(store, viewerControlsService, bewegingUtils) {
3248
2038
  this.store = store;
3249
2039
  this.viewerControlsService = viewerControlsService;
3250
2040
  this.bewegingUtils = bewegingUtils;
3251
2041
  this.paginationSize = 4;
3252
- this.treinpad = undefined;
3253
- this.goedgekeurd = new EventEmitter();
3254
2042
  this.printing$ = this.viewerControlsService.isPrinting$();
3255
2043
  this.valideRit$ = this.viewerControlsService.isValideRit$();
3256
2044
  this.subscriptions = new Subscription();
3257
- this.editable = false;
3258
2045
  this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
3259
2046
  }
3260
2047
  ngOnChanges({ treinpad }) {
@@ -3266,23 +2053,24 @@ class ViewerControlsComponent {
3266
2053
  return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
3267
2054
  }
3268
2055
  goedkeurenClick() {
3269
- this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
3270
- if (this.treinpad) {
3271
- delete this.treinpad.aantalRitActies;
3272
- this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
3273
- this.goedgekeurd.emit(this.treinpad);
3274
- this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
3275
- }
3276
- })).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
+ }
3277
2063
  }
3278
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 }); }
3279
- 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" }] }); }
3280
2066
  }
3281
2067
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
3282
2068
  type: Component,
3283
- 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"] }]
3284
2070
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: BewegingUtils }], propDecorators: { paginationSize: [{
3285
2071
  type: Input
2072
+ }], iaversieinfo: [{
2073
+ type: Input
3286
2074
  }], treinpad: [{
3287
2075
  type: Input
3288
2076
  }], goedgekeurd: [{
@@ -3337,7 +2125,7 @@ class ActiePopoverBepaler {
3337
2125
  ongeplandeActies.entries.forEach(entry => {
3338
2126
  const treinNummerActieInfos = puicNaarOngeplandeActieMap.get(entry.key);
3339
2127
  if (!treinNummerActieInfos?.map(({ actie }) => actie).includes(entry.value.actie)) {
3340
- puicNaarOngeplandeActieMap.put(entry.key, { actie: entry.value.actie });
2128
+ puicNaarOngeplandeActieMap.put(entry.key, { treinNummer: undefined, actie: entry.value.actie });
3341
2129
  }
3342
2130
  });
3343
2131
  }
@@ -3397,15 +2185,12 @@ class SvgVisualisatieComponent {
3397
2185
  this.actieHelper = actieHelper;
3398
2186
  this.sbmService = sbmService;
3399
2187
  this.editorService = editorService;
3400
- this.nietGeplandeActies = [];
3401
- this.useClickArea = false;
3402
2188
  this.svgInfos$ = this.store.select('svgInfos');
3403
2189
  this.popoverInfos = [];
3404
2190
  this.clickableIds = [];
3405
2191
  this.rightClickableIds = [];
3406
2192
  this.contextMenuActions = [];
3407
2193
  this.contextMenuStyle = { display: 'none' };
3408
- this.editable = false;
3409
2194
  this.puicNaarBeginSeinRitdeel = new Map();
3410
2195
  this.puicNaarEindSeinCombinatie = new Map();
3411
2196
  this.puicNaarAlternatieveRoute = new Map();
@@ -3429,7 +2214,7 @@ class SvgVisualisatieComponent {
3429
2214
  }));
3430
2215
  }
3431
2216
  ngOnInit() {
3432
- document.getElementById('contextMenu')?.addEventListener('mouseleave', () => this.hideContextMenu());
2217
+ document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
3433
2218
  }
3434
2219
  ngOnDestroy() {
3435
2220
  this.subscriptions.forEach(s => s.unsubscribe());
@@ -3456,6 +2241,7 @@ class SvgVisualisatieComponent {
3456
2241
  this.store.dispatch(navigeerBuitenRit(puic));
3457
2242
  }
3458
2243
  }
2244
+ this.store.dispatch(SetSelectedRitdeel(undefined));
3459
2245
  }
3460
2246
  handleImxviewRightClick(evt) {
3461
2247
  const fn = () => {
@@ -3486,7 +2272,7 @@ class SvgVisualisatieComponent {
3486
2272
  handleNieuweRouteToegevoegd() {
3487
2273
  this.store.select('nieuweRoute')
3488
2274
  .subscribe((nieuweRoute) => {
3489
- if (nieuweRoute?.isValid()) {
2275
+ if (nieuweRoute.isValid()) {
3490
2276
  this.store.dispatch(ResetNieuweRoute());
3491
2277
  this.store.dispatch(ritdeelInvoegen(nieuweRoute));
3492
2278
  }
@@ -3599,7 +2385,7 @@ class SvgVisualisatieComponent {
3599
2385
  });
3600
2386
  this.viewerControlsService.setValideRit(!gebrokenRit);
3601
2387
  this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
3602
- const actieOpRitSelectiePuicsArray = Array.from(actieOpRitSelectiePuics.values()).flat();
2388
+ const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
3603
2389
  this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
3604
2390
  ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
3605
2391
  this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
@@ -3655,9 +2441,6 @@ class MstviewerComponent {
3655
2441
  this.printBewegingService = printBewegingService;
3656
2442
  this.paginationSize = 4;
3657
2443
  this.baseurl = 'https://acceptatie.raildesign.nl';
3658
- this.debug = false;
3659
- this.viewer = false;
3660
- this.useClickArea = false;
3661
2444
  this.goedgekeurd = new EventEmitter();
3662
2445
  this.subscriptions = new Subscription();
3663
2446
  this.subscriptions.add(this.store.select('nieuweBewegingen').subscribe(nieuweRit => {
@@ -3708,26 +2491,23 @@ class MstviewerComponent {
3708
2491
  }
3709
2492
  }
3710
2493
  printFocusBeweging(bewegingId) {
3711
- return this.printBewegingService.printBeweging(bewegingId, this.paginationSize);
2494
+ return this.printBewegingService.printBeweging(bewegingId, this.paginationSize, this.iaversieinfo);
3712
2495
  }
3713
2496
  keurAlleActiesGoed() {
3714
2497
  this.viewerControlsService.keurAlleActiesGoed(this.ongeplandeActies);
3715
2498
  }
3716
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 }); }
3717
- 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" }] }); }
3718
2501
  }
3719
2502
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, decorators: [{
3720
2503
  type: Component,
3721
- 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"] }]
3722
2505
  }], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: DebugService }, { type: PrintBewegingService }], propDecorators: { iaversieinfo: [{
3723
- type: Input,
3724
- args: [{ required: true }]
2506
+ type: Input
3725
2507
  }], treinpad: [{
3726
- type: Input,
3727
- args: [{ required: true }]
2508
+ type: Input
3728
2509
  }], ongeplandeActies: [{
3729
- type: Input,
3730
- args: [{ required: true }]
2510
+ type: Input
3731
2511
  }], paginationSize: [{
3732
2512
  type: Input
3733
2513
  }], baseurl: [{
@@ -3752,7 +2532,7 @@ let SignaleringsbeeldInfoResource = class SignaleringsbeeldInfoResource extends
3752
2532
  ngOnDestroy() {
3753
2533
  this.subscriptions.unsubscribe();
3754
2534
  }
3755
- 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 }], 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 }); }
3756
2536
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource }); }
3757
2537
  };
3758
2538
  __decorate([
@@ -3773,7 +2553,7 @@ SignaleringsbeeldInfoResource = __decorate([
3773
2553
  ], SignaleringsbeeldInfoResource);
3774
2554
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
3775
2555
  type: Injectable
3776
- }], ctorParameters: () => [{ type: i1$1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { laadSignaleringsbeeldInfo: [], getBestaatIALevering: [] } });
2556
+ }], ctorParameters: () => [{ type: i1.ResourceHandler }, { type: i2$1.Store }], propDecorators: { laadSignaleringsbeeldInfo: [], getBestaatIALevering: [] } });
3777
2557
  class SignaleringsbeeldInfoDto extends ResourceModel {
3778
2558
  constructor(data) {
3779
2559
  super();
@@ -3801,15 +2581,13 @@ class BaseRestService {
3801
2581
  this.httpClient = httpClient;
3802
2582
  this.store = store;
3803
2583
  this.subscriptions = new Subscription();
3804
- this.baseUrl = '';
3805
- this.iaVersie = '';
3806
2584
  this.subscriptions.add(this.store.select('baseUrl').subscribe(baseUrl => this.baseUrl = baseUrl));
3807
2585
  this.subscriptions.add(this.store.select('iaVersie').subscribe(iaVersie => this.iaVersie = iaVersie.versie));
3808
2586
  }
3809
2587
  ngOnDestroy() {
3810
2588
  this.subscriptions.unsubscribe();
3811
2589
  }
3812
- 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 }); }
3813
2591
  static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, providedIn: 'root' }); }
3814
2592
  }
3815
2593
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: BaseRestService, decorators: [{
@@ -3817,7 +2595,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
3817
2595
  args: [{
3818
2596
  providedIn: 'root'
3819
2597
  }]
3820
- }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2$1.Store }] });
2598
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }, { type: i2$1.Store }] });
3821
2599
 
3822
2600
  class BewegingVerrijkerService extends BaseRestService {
3823
2601
  getBewegingen(bewegingen, ongeplandeActies) {
@@ -3978,13 +2756,13 @@ class Ritdeel {
3978
2756
  return retval;
3979
2757
  }
3980
2758
  getVrijebaanRijwegplan() {
3981
- return this.vrijebaanRijwegplanRijwegDwangCombi?.rijwegplan;
2759
+ return this.vrijebaanRijwegplanRijwegDwangCombi.rijwegplan;
3982
2760
  }
3983
2761
  getVrijebaanRijweg() {
3984
- return this.vrijebaanRijwegplanRijwegDwangCombi?.rijweg;
2762
+ return this.vrijebaanRijwegplanRijwegDwangCombi.rijweg;
3985
2763
  }
3986
2764
  getVrijebaanDwang() {
3987
- return this.vrijebaanRijwegplanRijwegDwangCombi?.dwang;
2765
+ return this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
3988
2766
  }
3989
2767
  getDwangNummer() {
3990
2768
  return this.rijwegplanRijwegDwangCombi.getDwangNummer();
@@ -4001,7 +2779,7 @@ class Ritdeel {
4001
2779
  isBinnenWindow() {
4002
2780
  return (this.zichtbaarheid === RitdeelZichtbaarheid.ZICHTBAAR ||
4003
2781
  this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_GEBRUIKER)
4004
- && !this.zichtbaarBuitenPaginatie;
2782
+ && this.zichtbaarBuitenPaginatie === false;
4005
2783
  }
4006
2784
  isNietBeschikbaar() {
4007
2785
  return this.zichtbaarheid === RitdeelZichtbaarheid.ONZICHTBAAR_DOOR_SYSTEEM;
@@ -4024,10 +2802,10 @@ class Ritdeel {
4024
2802
  }
4025
2803
  }
4026
2804
  heeftVrijebaanInfo() {
4027
- return !!this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
2805
+ return this.vrijebaanRijwegplanRijwegDwangCombi && !!this.vrijebaanRijwegplanRijwegDwangCombi.dwang;
4028
2806
  }
4029
2807
  getVrijebaanPrlRoute() {
4030
- return this.vrijebaanRijwegplanRijwegDwangCombi?.getRoute();
2808
+ return this.vrijebaanRijwegplanRijwegDwangCombi.getRoute();
4031
2809
  }
4032
2810
  getTopologieElementen() {
4033
2811
  return this.topoElementen;
@@ -4059,10 +2837,10 @@ class Ritdeel {
4059
2837
  getZichtbaarheidBuitenPaginatie() {
4060
2838
  return this.zichtbaarBuitenPaginatie;
4061
2839
  }
4062
- bepaalTopologieElementen(sbmService) {
4063
- const topoElementen = sbmService.bepaalRouteElementen(this.getRoute());
2840
+ bepaalTopologieElementen(signaleringsBeeldManagerService) {
2841
+ const topoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getRoute());
4064
2842
  if (this.heeftVrijebaanInfo()) {
4065
- const vrijebaanTopoElementen = sbmService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
2843
+ const vrijebaanTopoElementen = signaleringsBeeldManagerService.bepaalRouteElementen(this.getVrijebaanPrlRoute());
4066
2844
  topoElementen.push(...vrijebaanTopoElementen);
4067
2845
  }
4068
2846
  this.topoElementen = topoElementen;
@@ -4108,7 +2886,7 @@ class RitLezerService {
4108
2886
  ritDelen.push(new Ritdeel(dwangInfo, beweging.ritActies, beweging, vrijebaanDwangInfo, vervolgSpoor, []));
4109
2887
  }
4110
2888
  extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg) {
4111
- let vrijebaanDwangInfo = undefined;
2889
+ let vrijebaanDwangInfo = null;
4112
2890
  let vervolgSpoor;
4113
2891
  if (beweging.naarSpoor.endsWith(SPOOR_NAAR_VRIJEBAAN_POSTFIX) ||
4114
2892
  beweging.naarSpoor.endsWith(SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX)) {
@@ -4122,9 +2900,9 @@ class RitLezerService {
4122
2900
  vrijebaanRijweg = vrijebaanRijwegen[0];
4123
2901
  vrijebaanDwang = vrijebaanRijweg.getDwangVoorDwangNummer(0);
4124
2902
  vervolgSpoor = vrijebaanRijwegplan.getVervolgSpoor(vrijebaanRijweg);
4125
- vrijebaanDwangInfo =
4126
- new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
4127
2903
  }
2904
+ vrijebaanDwangInfo =
2905
+ new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
4128
2906
  }
4129
2907
  }
4130
2908
  return { vrijebaanDwangInfo, vervolgSpoor };
@@ -4177,7 +2955,7 @@ class BepaalOngeplandeActiesEffect {
4177
2955
  this.bepaalOngeplandeActies$ = createEffect(() => this.actions$.pipe(ofType(BepaalOngeplandeActies), withLatestFrom(this.store), map(([action, store]) => {
4178
2956
  const puicActieMap = new ArrayMultimap();
4179
2957
  const nietGevondenTakken = [];
4180
- const logMeldingDTOs$ = [];
2958
+ const logMeldingDTOs = [];
4181
2959
  const acties = store.ritDelen.flatMap(rd => rd.acties);
4182
2960
  action.ongeplandeActies.forEach(actie => {
4183
2961
  const alreadyAdded = acties.filter(a => a.id === actie.id).length > 0;
@@ -4193,11 +2971,11 @@ class BepaalOngeplandeActiesEffect {
4193
2971
  if (!spoortak && nietGevondenTakken.indexOf(takId) < 0) {
4194
2972
  nietGevondenTakken.push(takId);
4195
2973
  const melding = MeldingBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken);
4196
- logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2974
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4197
2975
  }
4198
2976
  else if (spoortak) {
4199
2977
  const melding = MeldingBuilder.actieHighlightError([actie.id]);
4200
- logMeldingDTOs$.push(this.loggingHelper.maakLogDTO(melding, actie));
2978
+ logMeldingDTOs.push(this.loggingHelper.maakLogDTO(melding, actie));
4201
2979
  this.messagesService.showMessage(MessageBuilder.actieHighlightError([actie.id]));
4202
2980
  }
4203
2981
  }
@@ -4206,8 +2984,8 @@ class BepaalOngeplandeActiesEffect {
4206
2984
  if (nietGevondenTakken.length > 0) {
4207
2985
  this.messagesService.showMessage(MessageBuilder.nietGevondenTakkenOngeplandeActies(nietGevondenTakken));
4208
2986
  }
4209
- if (logMeldingDTOs$.length > 0) {
4210
- forkJoin(logMeldingDTOs$).pipe(tap(dtos => this.mstLogResource.logMessages(dtos))).subscribe();
2987
+ if (logMeldingDTOs.length > 0) {
2988
+ this.mstLogResource.logErrorMessages(logMeldingDTOs);
4211
2989
  }
4212
2990
  this.store.dispatch(SetOngeplandeActies(puicActieMap));
4213
2991
  this.store.dispatch(SetOngeplandeActieSelectieIds(Array.from(puicActieMap.keys())));
@@ -4277,7 +3055,7 @@ class BepaalSbInfosEffect {
4277
3055
  next: _res => this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan)),
4278
3056
  error: err => {
4279
3057
  this.messagesService.showMessage(new Message(Severity.INFORMATION, Utils.getValidErorrMessage(err)));
4280
- const iaVersieInfo = { versie: 'DONNA_97207_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
3058
+ const iaVersieInfo = { versie: 'DONNA_77136_VER_1', ingangsDatum: this.dateService.getCurrentDate() };
4281
3059
  this.store.dispatch(SetIaVersie(iaVersieInfo));
4282
3060
  this.store.dispatch(laadEnVerwerkSignaleringsbeeldInfo(treinpad, paginationSize, pplgs, ritGewijzigdToegestaan));
4283
3061
  }
@@ -4400,7 +3178,7 @@ class FocusEffect {
4400
3178
  const dwangPuics = this.getPuics(topoElementen);
4401
3179
  if (ritdeel.isNietBeschikbaar()) {
4402
3180
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
4403
- this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
3181
+ this.store.dispatch(navigeerVanaf(actie.paginationSize, actie.iaVersieInfo, ritdeel));
4404
3182
  }
4405
3183
  return focusOpIds(dwangPuics);
4406
3184
  })));
@@ -4422,16 +3200,16 @@ class LaadRouteFilesEffect {
4422
3200
  this.ritLezer = ritLezer;
4423
3201
  this.editorService = editorService;
4424
3202
  this.messagesService = messagesService;
4425
- 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 });
4426
3204
  }
4427
- laadRouteFiles(actie, iaVersie) {
3205
+ laadRouteFiles(actie) {
4428
3206
  const isReady = this.editorService.isReady();
4429
3207
  isReady.then(() => {
4430
3208
  const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
4431
- const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
3209
+ const promise = this.editorService.laadRouteFiles(actie.iaversieinfo.versie, pplgs);
4432
3210
  promise.then(() => {
4433
3211
  this.updateRitdelen(actie);
4434
- }, (err) => {
3212
+ }, err => {
4435
3213
  this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4436
3214
  });
4437
3215
  });
@@ -4442,7 +3220,7 @@ class LaadRouteFilesEffect {
4442
3220
  if (ritdelen.length === 0) {
4443
3221
  ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
4444
3222
  }
4445
- this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize));
3223
+ this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize, actie.iaversieinfo));
4446
3224
  this.store.dispatch(setEditable(actie.treinpad.ritStatus !== 'Definitief'));
4447
3225
  });
4448
3226
  }, 0);
@@ -4491,14 +3269,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4491
3269
  }] });
4492
3270
 
4493
3271
  class LaadSignaleringsbeeldenEffect {
4494
- constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesService) {
3272
+ constructor(actions$, store, signaleringsBeeldManagerService, editorService, sbiResource, connectorService, messagesSerivce) {
4495
3273
  this.actions$ = actions$;
4496
3274
  this.store = store;
4497
3275
  this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
4498
3276
  this.editorService = editorService;
4499
3277
  this.sbiResource = sbiResource;
4500
3278
  this.connectorService = connectorService;
4501
- this.messagesService = messagesService;
3279
+ this.messagesSerivce = messagesSerivce;
4502
3280
  this.SVG_PIXEL_RUIMTE = 30;
4503
3281
  this.verwerkRitdelen$ = createEffect(() => this.actions$.pipe(ofType(setRitDelen, navigeer, navigeerVanaf), withLatestFrom(this.store), map(([actie, storeState]) => {
4504
3282
  this.store.dispatch(SetOngeplandeActiesBepaald(false));
@@ -4513,13 +3291,13 @@ class LaadSignaleringsbeeldenEffect {
4513
3291
  }
4514
3292
  handleSignaleringsbeeldInfo({ actie, storeState }) {
4515
3293
  return this.sbiResource.laadSignaleringsbeeldInfo(this.createSignaleringsbeeldInfoQueryDto(actie.pplgs, storeState.iaVersie)).pipe(take(1), tap((dtos) => this.processResponse({ dtos, storeState, actie })), catchError((err) => {
4516
- this.messagesService.showMessage(MessageBuilder.nietGevondenSBI(err));
3294
+ this.messagesSerivce.showMessage(MessageBuilder.nietGevondenSBI(err));
4517
3295
  return throwError(() => err);
4518
3296
  }));
4519
3297
  }
4520
3298
  processResponse({ dtos, storeState, actie }) {
4521
3299
  if (dtos && dtos.filter(dto => dto.metVisualisatie).length > 12) {
4522
- this.messagesService.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
3300
+ this.messagesSerivce.showMessage(MessageBuilder.meerDan12BladenGevonden(dtos.length));
4523
3301
  }
4524
3302
  this.store.dispatch(SetSignaleringsbeeldInfoDtos(dtos, storeState.iaVersie, actie.rit, actie.paginationSize, actie.ritGewijzigdToegestaan));
4525
3303
  this.store.dispatch(SetVisibleSignaleringsbeeldInfoDtos(dtos));
@@ -4532,11 +3310,11 @@ class LaadSignaleringsbeeldenEffect {
4532
3310
  return this.sbiResource.laadSignaleringsbeeldInfo(this.createSignaleringsbeeldInfoQueryDto([rand.getPPLG(), otherPplg], storeState.iaVersie)).pipe(map(dtos => ({ dtos, storeState })));
4533
3311
  }
4534
3312
  loadSignaleringsbeelden({ dtos, storeState }) {
4535
- 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 })));
4536
3314
  }
4537
- processSvgsAndUpdateRitdelen({ svgDataUrls, ritDelen, dtos }) {
3315
+ processSvgsAndUpdateRitdelen({ svgDataUrls, storeState, dtos }) {
4538
3316
  this.verwerkSvgs(svgDataUrls);
4539
- const nieuweRitdelen = this.updateRitdelen(ritDelen, dtos);
3317
+ const nieuweRitdelen = this.updateRitdelen(storeState.ritDelen, dtos);
4540
3318
  this.store.dispatch(UpdateVisibleSignaleringsbeeldInfoDtos(dtos));
4541
3319
  this.store.dispatch(updateRitDelen(nieuweRitdelen));
4542
3320
  }
@@ -4549,11 +3327,11 @@ class LaadSignaleringsbeeldenEffect {
4549
3327
  const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
4550
3328
  const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
4551
3329
  const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
4552
- this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
3330
+ this.editorService.laadSignaleringsbeelden(actie.iaversieinfo.versie, loadingDtos).pipe(tap(svgDataUrls => {
4553
3331
  this.verwerkSvgs(svgDataUrls);
4554
3332
  this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
4555
3333
  }), catchError(err => {
4556
- this.messagesService.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
3334
+ this.messagesSerivce.showMessage(MessageBuilder.rwpDataNietGevonden(Utils.getValidErorrMessage(err)));
4557
3335
  throw err;
4558
3336
  })).subscribe();
4559
3337
  }
@@ -4608,8 +3386,8 @@ class LaadSignaleringsbeeldenEffect {
4608
3386
  dtos.filter(d => !visibleDtos.includes(d)).forEach(d => d.metVisualisatie = false);
4609
3387
  return visibleDtos;
4610
3388
  }
4611
- distinct(value, index, values) {
4612
- return values.indexOf(value) === index;
3389
+ distinct(value, index, self) {
3390
+ return self.indexOf(value) === index;
4613
3391
  }
4614
3392
  addPrevNonVisibleDto(firstIdx, ritdelen, loadingDtos, visibleRitPplgs, allDtos) {
4615
3393
  if (firstIdx >= 0) {
@@ -4698,7 +3476,7 @@ class LaadSignaleringsbeeldenEffect {
4698
3476
  }
4699
3477
  }
4700
3478
  }
4701
- this.updateZichtbaarheidAangrenzendeRitdelen(min, max, ritdelen, visibleDtos);
3479
+ this.updateZichtbaarheidAangrezendeRitdelen(min, max, ritdelen, visibleDtos);
4702
3480
  return this.updateZichtbaarheidBuitenWindow(ritdelen, visibleDtos);
4703
3481
  }
4704
3482
  updateZichtbaarheidBuitenWindow(nieuweRitdelen, visibleDtos) {
@@ -4714,7 +3492,7 @@ class LaadSignaleringsbeeldenEffect {
4714
3492
  }
4715
3493
  return nieuweRitdelen;
4716
3494
  }
4717
- updateZichtbaarheidAangrenzendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
3495
+ updateZichtbaarheidAangrezendeRitdelen(min, max, nieuweRitdelen, visibleDtos) {
4718
3496
  let i = min - 1;
4719
3497
  while (i >= 0) {
4720
3498
  i = this.updateZichtbaarHeid(i, 0, visibleDtos, nieuweRitdelen) - 1;
@@ -4849,11 +3627,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4849
3627
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: BewegingVerrijkerService }] });
4850
3628
 
4851
3629
  class RitdelenEffect {
4852
- constructor(actions$, store, sbmService, editorService) {
3630
+ constructor(actions$, store, sbmService, rijwegPlanEditorService) {
4853
3631
  this.actions$ = actions$;
4854
3632
  this.store = store;
4855
3633
  this.sbmService = sbmService;
4856
- this.editorService = editorService;
3634
+ this.rijwegPlanEditorService = rijwegPlanEditorService;
4857
3635
  this.updateRitDelen$ = createEffect(() => this.actions$.pipe(ofType(updateRitDelen), withLatestFrom(this.store), map(([actie, _storeState]) => {
4858
3636
  const nieuweRitDelen = actie.ritDelen.map(ritDeel => ritDeel.isZichtbaar() ?
4859
3637
  ritDeel.copyMetAlternatieveRoutes(this.sbmService.bepaalAlternativeRoutes(ritDeel.getRijweg())) : ritDeel);
@@ -4871,25 +3649,25 @@ class RitdelenEffect {
4871
3649
  return setRitdelenAfterUpdate(ritDelen);
4872
3650
  })));
4873
3651
  this.ritdeelInvoegen$ = createEffect(() => this.actions$.pipe(ofType(ritdeelInvoegen), withLatestFrom(this.store), map(([actie, storeState]) => {
4874
- const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute);
3652
+ const ritDelen = this.ritdeelInvoegenFunc(storeState.ritDelen, actie.nieuweRoute, this.rijwegPlanEditorService, this.sbmService);
4875
3653
  return setRitdelenAfterUpdate(ritDelen);
4876
3654
  })));
4877
3655
  }
4878
- ritdeelInvoegenFunc(ritDelen, nieuweRoute) {
3656
+ ritdeelInvoegenFunc(ritDelen, nieuweRoute, rijwegPlanEditorService, sbmService) {
4879
3657
  const origineelRitdeel = nieuweRoute.beginSeinOpRitdeel.ritdeel;
4880
3658
  const beginSein = nieuweRoute.beginSeinOpRitdeel.sein;
4881
- const rijwegplan = this.editorService.getRijwegplan(beginSein.getPPLG());
3659
+ const rijwegplan = rijwegPlanEditorService.getRijwegplan(beginSein.getPPLG());
4882
3660
  const dwangen = JsJavaUtil.listToArray(rijwegplan.getOnderliggendeDwangenTotEnVanSein(origineelRitdeel.getDwang(), beginSein));
4883
3661
  const isSamengesteldeRoute = dwangen[0] && dwangen[1];
4884
3662
  let newRitdeel1 = origineelRitdeel;
4885
3663
  if (isSamengesteldeRoute) {
4886
- newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen);
3664
+ newRitdeel1 = this.verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen);
4887
3665
  }
4888
- if (nieuweRoute.combinatieVoorEindsein?.isVrijeBaanRijweg()) {
4889
- this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute);
3666
+ if (nieuweRoute.combinatieVoorEindsein.isVrijeBaanRijweg()) {
3667
+ this.extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService);
4890
3668
  }
4891
3669
  else {
4892
- this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen);
3670
+ this.maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen);
4893
3671
  }
4894
3672
  if (isSamengesteldeRoute) {
4895
3673
  ritDelen.splice(ritDelen.indexOf(origineelRitdeel), 1);
@@ -4904,39 +3682,38 @@ class RitdelenEffect {
4904
3682
  }
4905
3683
  }
4906
3684
  }
4907
- verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, ritDelen) {
3685
+ verwerkSamengesteldeRoute(origineelRitdeel, rijwegplan, dwangen, sbmService, ritDelen) {
4908
3686
  // dwangen in 2 nieuwe ritdelen verwerken voor de knip
4909
3687
  const nieuweRijweg1 = rijwegplan.getRijwegVoorSeinen(dwangen[0].getRoute().getBeginSein(), dwangen[0].getRoute().getEindSein());
4910
3688
  const dwangInfo1 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg1, dwangen[0]);
4911
- const newRitdeel1 = new Ritdeel(dwangInfo1, [], undefined, undefined, undefined, []);
3689
+ const newRitdeel1 = new Ritdeel(dwangInfo1, [], null, null, null, []);
4912
3690
  // remove vrijbaan info uit ritdeel
4913
- newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = undefined;
4914
- newRitdeel1.vervolgSpoor = undefined;
4915
- newRitdeel1.bepaalTopologieElementen(this.sbmService);
3691
+ newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = null;
3692
+ newRitdeel1.vervolgSpoor = null;
3693
+ newRitdeel1.bepaalTopologieElementen(sbmService);
4916
3694
  this.insertRitdeel(ritDelen, origineelRitdeel, newRitdeel1);
4917
3695
  const nieuweRijweg2 = rijwegplan.getRijwegVoorSeinen(dwangen[1].getRoute().getBeginSein(), dwangen[1].getRoute().getEindSein());
4918
3696
  const dwangInfo2 = new RijwegplanRijwegDwangCombinatie(rijwegplan, nieuweRijweg2, dwangen[1]);
4919
- const newRitdeel2 = new Ritdeel(dwangInfo2, [], undefined, undefined, undefined, []);
4920
- newRitdeel2.bepaalTopologieElementen(this.sbmService);
3697
+ const newRitdeel2 = new Ritdeel(dwangInfo2, [], null, null, null, []);
3698
+ newRitdeel2.bepaalTopologieElementen(sbmService);
4921
3699
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel2);
4922
3700
  return newRitdeel1;
4923
3701
  }
4924
- extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute) {
3702
+ extendRitdeelMetVrijebaanInfo(newRitdeel1, nieuweRoute, sbmService) {
4925
3703
  newRitdeel1.vrijebaanRijwegplanRijwegDwangCombi = nieuweRoute.combinatieVoorEindsein;
4926
- const vbrwp = nieuweRoute.combinatieVoorEindsein?.rijwegplan;
4927
- newRitdeel1.vervolgSpoor = nieuweRoute.combinatieVoorEindsein ?
4928
- vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein?.rijweg) : undefined;
4929
- newRitdeel1.bepaalTopologieElementen(this.sbmService);
3704
+ const vbrwp = nieuweRoute.combinatieVoorEindsein.rijwegplan;
3705
+ newRitdeel1.vervolgSpoor = vbrwp.getVervolgSpoor(nieuweRoute.combinatieVoorEindsein.rijweg);
3706
+ newRitdeel1.bepaalTopologieElementen(sbmService);
4930
3707
  }
4931
- maakNieuwRitdeel(newRitdeel1, nieuweRoute, ritDelen) {
3708
+ maakNieuwRitdeel(newRitdeel1, nieuweRoute, sbmService, ritDelen) {
4932
3709
  let newRitdeel = this.createRitdeel(nieuweRoute);
4933
- const altRoutes = this.sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
3710
+ const altRoutes = sbmService.bepaalAlternativeRoutes(newRitdeel.getRijweg());
4934
3711
  newRitdeel = newRitdeel.copyMetAlternatieveRoutes(altRoutes);
4935
- newRitdeel.bepaalTopologieElementen(this.sbmService);
3712
+ newRitdeel.bepaalTopologieElementen(sbmService);
4936
3713
  this.insertRitdeel(ritDelen, newRitdeel1, newRitdeel);
4937
3714
  }
4938
3715
  createRitdeel(nieuweRoute) {
4939
- return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], undefined, undefined, undefined, []);
3716
+ return new Ritdeel(nieuweRoute.combinatieVoorEindsein, [], null, null, null, []);
4940
3717
  }
4941
3718
  insertRitdeel(ritdelen, naRitdeelPositie, newRitdeel) {
4942
3719
  const idx = ritdelen.indexOf(naRitdeelPositie);
@@ -4987,24 +3764,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4987
3764
  type: Injectable
4988
3765
  }], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: i4.SignaleringsbeeldSvgUtilityService }] });
4989
3766
 
4990
- class ProgressIndicator {
4991
- constructor(lowerText, upperText, iconClass) {
4992
- this.lowerText = '';
4993
- this.upperText = '';
4994
- this.iconClass = '';
4995
- this.lowerText = lowerText ?? this.lowerText;
4996
- this.upperText = upperText ?? this.upperText;
4997
- this.iconClass = iconClass ?? this.iconClass;
4998
- }
4999
- }
5000
-
5001
3767
  class NieuweRoute {
5002
3768
  constructor(beginSeinOpRitdeel, combinatieVoorEindsein) {
5003
3769
  this.beginSeinOpRitdeel = beginSeinOpRitdeel;
5004
3770
  this.combinatieVoorEindsein = combinatieVoorEindsein;
5005
3771
  }
5006
3772
  isValid() {
5007
- return !!this.combinatieVoorEindsein;
3773
+ return this.combinatieVoorEindsein !== null;
5008
3774
  }
5009
3775
  }
5010
3776
 
@@ -5070,7 +3836,7 @@ function addRitdeelActieFunc(ritDelen, { ritDeel, actie }) {
5070
3836
  const onIdsActionHandler = (action) => on(action, (_, { ids }) => ids);
5071
3837
  const createIdsReducer = (action) => createReducer([], onIdsActionHandler(action));
5072
3838
  const editableReducer = createReducer(true, on(setEditable, (_, { editable }) => editable));
5073
- const progressIndicatorReducer = createReducer({}, on(ShowProgress, () => ({ progressIndicator: new ProgressIndicator() })), on(ClearProgress, () => ({})));
3839
+ const progressIndicatorReducer = createReducer(undefined, on(ShowProgress, () => ({ progressIndicator: {} })), on(ClearProgress, () => undefined));
5074
3840
  const svgInfoReducer = createReducer([], on(SetSvgInfos, (_, { svgInfos }) => svgInfos));
5075
3841
  const debugReducer = createReducer(false, on(SetDebug, (_, { debug }) => debug));
5076
3842
  const ritSelectieIdsReducer = createIdsReducer(SetRitSelectieIds);
@@ -5096,10 +3862,12 @@ const ongeplandeActieReducer = createReducer(new ArrayMultimap(), on(SetOngeplan
5096
3862
  ongeplandeActie.puics.forEach(puic => ongeplandeActies.delete(puic, ongeplandeActie));
5097
3863
  return new ArrayMultimap(ongeplandeActies);
5098
3864
  }));
5099
- 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 }) => {
5100
3868
  ongeplandeActie.puics.filter(puic => !ids.includes(puic)).forEach(puic => ids.push(puic));
5101
3869
  return [...ids];
5102
- }), 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)));
5103
3871
  const gebrokenRitSelectieIdsReducer = createIdsReducer(SetGebrokenRitSelectieIds);
5104
3872
  const alternatievenSelectieIdsReducer = createIdsReducer(SetAlternatievenSelectieIds);
5105
3873
  const beginSeinSelectieIdsReducer = createIdsReducer(SetBeginSeinSelectieIds);
@@ -5108,15 +3876,16 @@ const alternatievenClickableIdsReducer = createIdsReducer(SetAlternatievenClicka
5108
3876
  const eindSeinenClickableIdsReducer = createIdsReducer(SetEindSeinenClickableIds);
5109
3877
  const connectorClickableIdsReducer = createIdsReducer(SetConnectorenClickableIds);
5110
3878
  const beginSeinRightClickableIdsReducer = createIdsReducer(SetBeginSeinRightClickableIds);
5111
- 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)));
5112
3880
  const signaleringsbeeldInfoDtosReducer = createReducer([], on(SetSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
5113
3881
  const visibleSbInfoDtosReducer = createReducer([], on(SetVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => dtos), on(UpdateVisibleSignaleringsbeeldInfoDtos, (_, { dtos }) => [...dtos]));
5114
- const iaVersieReducer = createReducer({ versie: 'unknown', ingangsDatum: new Date() }, on(SetIaVersie, (_, { iaVersie }) => Object.assign({}, iaVersie, { versie: iaVersie.versie.toUpperCase() })));
5115
- 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));
5116
3884
  const ongeplandeActiesBepaaldReducer = createReducer(false, on(SetOngeplandeActiesBepaald, (_, { bepaald }) => bepaald));
5117
- const nieuweBewegingReducer = createReducer([], on(UpdateRit, (_, { bewegingen }) => bewegingen));
5118
- const baseUrlReducer = createReducer('', on(SetBaseUrl, (_, { baseUrl }) => baseUrl));
5119
- 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));
5120
3889
  const storeReducers = {
5121
3890
  ritDelen: ritdelenReducer,
5122
3891
  ritSelectieIds: ritSelectieIdsReducer,
@@ -5145,9 +3914,9 @@ const storeReducers = {
5145
3914
  nieuweBewegingen: nieuweBewegingReducer,
5146
3915
  baseUrl: baseUrlReducer,
5147
3916
  focusIds: focusIdsReducer,
3917
+ selectedRitdeelId: selectedRitdeelIdReducer
5148
3918
  };
5149
3919
 
5150
- // @ts-nocheck
5151
3920
  class ZoneUtil {
5152
3921
  constructor(ngZone) {
5153
3922
  this.ngZone = ngZone;
@@ -5210,7 +3979,6 @@ class MstViewerModule {
5210
3979
  constructor(service, zoneUtil) {
5211
3980
  this.service = service;
5212
3981
  // maak de EditorService toegankelijk voor GWT code
5213
- // @ts-ignore
5214
3982
  window['rpe'] = {
5215
3983
  EditorService: zoneUtil.proxy(service)
5216
3984
  };
@@ -5228,7 +3996,7 @@ class MstViewerModule {
5228
3996
  SvgVisualisatieComponent,
5229
3997
  MessagesComponent], imports: [CommonModule,
5230
3998
  ImxViewerModule,
5231
- RijwegenModule, i1$1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
3999
+ RijwegenModule, i1.ResourceModule, i2$1.StoreRootModule, i1$2.EffectsRootModule], exports: [MstviewerComponent] }); }
5232
4000
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstViewerModule, providers: [
5233
4001
  ZoneUtil,
5234
4002
  SignaleringsbeeldInfoResource,