@loxia/mst-viewer 8.1.3-202512072334 → 8.1.3-202512081724

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 (161) hide show
  1. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +25 -25
  2. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +1 -1
  3. package/fesm2022/loxia-mst-viewer.mjs +459 -492
  4. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  5. package/lib/atomic-components/message/message.component.d.ts +2 -2
  6. package/lib/atomic-components/overlay/overlay.component.d.ts +1 -1
  7. package/lib/atomic-components/progress-indicator/progress-indicator.entity.d.ts +1 -1
  8. package/lib/components/carousel-controls/carousel-controls.component.d.ts +3 -1
  9. package/lib/components/mstviewer/mstviewer.component.d.ts +2 -2
  10. package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +2 -2
  11. package/lib/components/rpe/rpe.component.d.ts +1 -1
  12. package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +1 -1
  13. package/lib/components/viewer-controls/viewer-controls.component.d.ts +4 -3
  14. package/lib/model/km-range.d.ts +1 -1
  15. package/lib/model/nieuwe-route.d.ts +2 -2
  16. package/lib/model/ritdeel.d.ts +10 -11
  17. package/lib/services/print-beweging.service.d.ts +6 -4
  18. package/lib/services/rit-lezer.service.d.ts +1 -1
  19. package/lib/services/signalerings-beeld-manager.service.d.ts +2 -2
  20. package/lib/services/viewer-control.service.d.ts +2 -0
  21. package/lib/state/actions/actions.d.ts +7 -1
  22. package/lib/state/actions/ritdelen.actions.d.ts +7 -3
  23. package/lib/state/effect/bepaal-ongeplande-acties.effect.d.ts +1 -2
  24. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +1 -1
  25. package/lib/state/effect/laad-route-files.effect.d.ts +3 -2
  26. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +10 -10
  27. package/lib/state/effect/ritdelen.effect.d.ts +6 -7
  28. package/lib/state/mst-editor-state.d.ts +84 -21
  29. package/lib/util/actie-helper.d.ts +4 -4
  30. package/lib/util/logging-helper.d.ts +1 -2
  31. package/lib/util/utils.d.ts +1 -0
  32. package/package.json +6 -10
  33. package/tailwind.scss +1 -1
  34. package/esm2022/generated/openapi/api/api.mjs +0 -23
  35. package/esm2022/generated/openapi/api/appConfigController.service.mjs +0 -140
  36. package/esm2022/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  37. package/esm2022/generated/openapi/api/bewegingController.service.mjs +0 -155
  38. package/esm2022/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  39. package/esm2022/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  40. package/esm2022/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  41. package/esm2022/generated/openapi/api/connectorController.service.mjs +0 -146
  42. package/esm2022/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  43. package/esm2022/generated/openapi/api/logController.service.mjs +0 -150
  44. package/esm2022/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  45. package/esm2022/generated/openapi/api/p21Controller.service.mjs +0 -236
  46. package/esm2022/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  47. package/esm2022/generated/openapi/api/sbController.service.mjs +0 -202
  48. package/esm2022/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  49. package/esm2022/generated/openapi/api.module.mjs +0 -40
  50. package/esm2022/generated/openapi/configuration.mjs +0 -99
  51. package/esm2022/generated/openapi/encoder.mjs +0 -19
  52. package/esm2022/generated/openapi/index.mjs +0 -7
  53. package/esm2022/generated/openapi/model/actieDto.mjs +0 -13
  54. package/esm2022/generated/openapi/model/algemeneRitDto.mjs +0 -13
  55. package/esm2022/generated/openapi/model/bewegingDto.mjs +0 -2
  56. package/esm2022/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  57. package/esm2022/generated/openapi/model/frontendProperties.mjs +0 -2
  58. package/esm2022/generated/openapi/model/logDto.mjs +0 -2
  59. package/esm2022/generated/openapi/model/models.mjs +0 -10
  60. package/esm2022/generated/openapi/model/ritRequestDto.mjs +0 -2
  61. package/esm2022/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  62. package/esm2022/generated/openapi/model/signaleringsbeeldRequestDto.mjs +0 -13
  63. package/esm2022/generated/openapi/param.mjs +0 -2
  64. package/esm2022/generated/openapi/variables.mjs +0 -9
  65. package/esm2022/generated.version.mjs +0 -2
  66. package/esm2022/lib/atomic-components/message/index.mjs +0 -4
  67. package/esm2022/lib/atomic-components/message/message.component.mjs +0 -34
  68. package/esm2022/lib/atomic-components/message/message.mjs +0 -8
  69. package/esm2022/lib/atomic-components/message/severity.enum.mjs +0 -9
  70. package/esm2022/lib/atomic-components/messages/messages.component.mjs +0 -20
  71. package/esm2022/lib/atomic-components/overlay/overlay.component.mjs +0 -11
  72. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.component.mjs +0 -11
  73. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.entity.mjs +0 -11
  74. package/esm2022/lib/atomic-components/services/messages.service.mjs +0 -27
  75. package/esm2022/lib/components/carousel-controls/carousel-controls.component.mjs +0 -39
  76. package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +0 -116
  77. package/esm2022/lib/components/ritdelen-lijst/ritdelen-lijst.component.mjs +0 -273
  78. package/esm2022/lib/components/ritdelen-view/ritdelen-view.component.mjs +0 -103
  79. package/esm2022/lib/components/rpe/rpe.component.mjs +0 -37
  80. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +0 -274
  81. package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +0 -55
  82. package/esm2022/lib/model/alternatief-rit-deel.mjs +0 -7
  83. package/esm2022/lib/model/km-range.mjs +0 -39
  84. package/esm2022/lib/model/melding-event.mjs +0 -7
  85. package/esm2022/lib/model/nieuwe-route.mjs +0 -10
  86. package/esm2022/lib/model/ongeplande-actie.mjs +0 -7
  87. package/esm2022/lib/model/rijwegplan-rijweg-dwang-combinatie.mjs +0 -24
  88. package/esm2022/lib/model/ritdeel.mjs +0 -205
  89. package/esm2022/lib/model/sein-op-ritdeel.mjs +0 -7
  90. package/esm2022/lib/model/wissel-kant-code.mjs +0 -7
  91. package/esm2022/lib/mst-viewer.module.mjs +0 -144
  92. package/esm2022/lib/optimo.mjs +0 -9
  93. package/esm2022/lib/resources/mstlogging.resource.mjs +0 -25
  94. package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +0 -63
  95. package/esm2022/lib/services/base-rest.service.mjs +0 -28
  96. package/esm2022/lib/services/beweging-utils.service.mjs +0 -139
  97. package/esm2022/lib/services/beweging-verrijker.service.mjs +0 -30
  98. package/esm2022/lib/services/connector.service.mjs +0 -30
  99. package/esm2022/lib/services/debug.service.mjs +0 -59
  100. package/esm2022/lib/services/editor.service.mjs +0 -50
  101. package/esm2022/lib/services/print-beweging.service.mjs +0 -69
  102. package/esm2022/lib/services/rit-lezer.service.mjs +0 -104
  103. package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +0 -92
  104. package/esm2022/lib/services/viewer-control.service.mjs +0 -106
  105. package/esm2022/lib/state/actions/actions.mjs +0 -127
  106. package/esm2022/lib/state/actions/ritdelen.actions.mjs +0 -45
  107. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +0 -79
  108. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +0 -67
  109. package/esm2022/lib/state/effect/beweging-invoegen.effect.mjs +0 -73
  110. package/esm2022/lib/state/effect/delete-ongeplande-actie.effect.mjs +0 -39
  111. package/esm2022/lib/state/effect/focus-effect.mjs +0 -36
  112. package/esm2022/lib/state/effect/laad-route-files.effect.mjs +0 -64
  113. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +0 -363
  114. package/esm2022/lib/state/effect/rit-goedkeuren.effect.mjs +0 -23
  115. package/esm2022/lib/state/effect/ritdelen.effect.mjs +0 -113
  116. package/esm2022/lib/state/effect/svg-view.effect.mjs +0 -48
  117. package/esm2022/lib/state/mst-editor-state.mjs +0 -86
  118. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +0 -62
  119. package/esm2022/lib/util/actie-helper.mjs +0 -441
  120. package/esm2022/lib/util/actie-popover-bepaler.mjs +0 -90
  121. package/esm2022/lib/util/date.service.mjs +0 -17
  122. package/esm2022/lib/util/logging-helper.mjs +0 -56
  123. package/esm2022/lib/util/melding-builder.mjs +0 -13
  124. package/esm2022/lib/util/message-builder.mjs +0 -32
  125. package/esm2022/lib/util/multi-map.mjs +0 -75
  126. package/esm2022/lib/util/utils.mjs +0 -35
  127. package/esm2022/lib/util/zone-util.mjs +0 -33
  128. package/esm2022/loxia-mst-viewer.mjs +0 -5
  129. package/esm2022/public-api.mjs +0 -9
  130. package/esm2022/src/generated/openapi/api/api.mjs +0 -23
  131. package/esm2022/src/generated/openapi/api/appConfigController.service.mjs +0 -140
  132. package/esm2022/src/generated/openapi/api/appConfigController.serviceInterface.mjs +0 -2
  133. package/esm2022/src/generated/openapi/api/bewegingController.service.mjs +0 -155
  134. package/esm2022/src/generated/openapi/api/bewegingController.serviceInterface.mjs +0 -2
  135. package/esm2022/src/generated/openapi/api/class0BuildProperties.service.mjs +0 -140
  136. package/esm2022/src/generated/openapi/api/class0BuildProperties.serviceInterface.mjs +0 -2
  137. package/esm2022/src/generated/openapi/api/connectorController.service.mjs +0 -146
  138. package/esm2022/src/generated/openapi/api/connectorController.serviceInterface.mjs +0 -2
  139. package/esm2022/src/generated/openapi/api/logController.service.mjs +0 -150
  140. package/esm2022/src/generated/openapi/api/logController.serviceInterface.mjs +0 -2
  141. package/esm2022/src/generated/openapi/api/p21Controller.service.mjs +0 -236
  142. package/esm2022/src/generated/openapi/api/p21Controller.serviceInterface.mjs +0 -2
  143. package/esm2022/src/generated/openapi/api/sbController.service.mjs +0 -202
  144. package/esm2022/src/generated/openapi/api/sbController.serviceInterface.mjs +0 -2
  145. package/esm2022/src/generated/openapi/api.module.mjs +0 -40
  146. package/esm2022/src/generated/openapi/configuration.mjs +0 -99
  147. package/esm2022/src/generated/openapi/encoder.mjs +0 -19
  148. package/esm2022/src/generated/openapi/index.mjs +0 -7
  149. package/esm2022/src/generated/openapi/loxia-mst-viewer-src-generated-openapi.mjs +0 -5
  150. package/esm2022/src/generated/openapi/model/actieDto.mjs +0 -13
  151. package/esm2022/src/generated/openapi/model/algemeneRitDto.mjs +0 -13
  152. package/esm2022/src/generated/openapi/model/bewegingDto.mjs +0 -2
  153. package/esm2022/src/generated/openapi/model/frontendKeycloakConfig.mjs +0 -13
  154. package/esm2022/src/generated/openapi/model/frontendProperties.mjs +0 -2
  155. package/esm2022/src/generated/openapi/model/logDto.mjs +0 -2
  156. package/esm2022/src/generated/openapi/model/models.mjs +0 -10
  157. package/esm2022/src/generated/openapi/model/ritRequestDto.mjs +0 -2
  158. package/esm2022/src/generated/openapi/model/signaleringsbeeldDto.mjs +0 -13
  159. package/esm2022/src/generated/openapi/model/signaleringsbeeldRequestDto.mjs +0 -13
  160. package/esm2022/src/generated/openapi/param.mjs +0 -2
  161. package/esm2022/src/generated/openapi/variables.mjs +0 -9
@@ -1,104 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { JsJavaUtil } from '@loxia/rijwegen';
3
- import { RijwegplanRijwegDwangCombinatie } from '../model/rijwegplan-rijweg-dwang-combinatie';
4
- import { Ritdeel } from '../model/ritdeel';
5
- import { MessageBuilder } from '../util/message-builder';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "./editor.service";
8
- import * as i2 from "../atomic-components/services/messages.service";
9
- const SPOOR_NAAR_VRIJEBAAN_POSTFIX = '_e';
10
- const SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX = '_v';
11
- export class RitLezerService {
12
- constructor(rijwegPlanEditorService, messagesService) {
13
- this.rijwegPlanEditorService = rijwegPlanEditorService;
14
- this.messagesService = messagesService;
15
- }
16
- parseRit(rit, ritGewijzigdToegestaan) {
17
- const ritDelen = [];
18
- const missingPplgs = [];
19
- if (!this.ritBestandIsGewijzigd(rit, ritGewijzigdToegestaan)) {
20
- rit.bewegingen.forEach(beweging => this.parseBeweging(beweging, ritDelen, missingPplgs));
21
- }
22
- return ritDelen;
23
- }
24
- parseBeweging(beweging, ritDelen, missingPplgs) {
25
- const rijwegPlan = this.getRijwegPlan(beweging.vanPplg);
26
- if (!rijwegPlan) {
27
- if (!missingPplgs.includes(beweging.vanPplg)) {
28
- this.messagesService.showMessage(MessageBuilder.rijwegplanNietGevonden(beweging));
29
- missingPplgs.push(beweging.vanPplg);
30
- }
31
- return;
32
- }
33
- const rijweg = this.getRijweg(rijwegPlan, beweging.vanSpoor, beweging.naarSpoor);
34
- if (!rijweg) {
35
- this.messagesService.showMessage(MessageBuilder.rijwegNietGevonden(beweging));
36
- return;
37
- }
38
- const dwang = this.getDwang(rijweg, beweging.dwangNummer);
39
- if (!dwang) {
40
- this.messagesService.showMessage(MessageBuilder.dwangNietGevonden(beweging));
41
- return;
42
- }
43
- const { vrijebaanDwangInfo, vervolgSpoor } = this.extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg);
44
- const dwangInfo = new RijwegplanRijwegDwangCombinatie(rijwegPlan, rijweg, dwang);
45
- ritDelen.push(new Ritdeel(dwangInfo, beweging.ritActies, beweging, vrijebaanDwangInfo, vervolgSpoor, []));
46
- }
47
- extractVrijebaanDwangInfo(beweging, rijwegPlan, rijweg) {
48
- let vrijebaanDwangInfo = undefined;
49
- let vervolgSpoor;
50
- if (beweging.naarSpoor.endsWith(SPOOR_NAAR_VRIJEBAAN_POSTFIX) ||
51
- beweging.naarSpoor.endsWith(SPOOR_NAAR_VEERWISSEL_VRIJEBAAN_POSTFIX)) {
52
- let vrijebaanRijweg;
53
- let vrijebaanDwang;
54
- const vrijebaanRijwegplan = this.rijwegPlanEditorService.getVrijebaanRijwegplan(rijwegPlan.getPPLG(), rijweg.getEindSein().getName());
55
- if (vrijebaanRijwegplan) {
56
- const rijwegenArray = JsJavaUtil.listToArray(vrijebaanRijwegplan.getRijwegen());
57
- const vrijebaanRijwegen = rijwegenArray.filter(vbRijweg => vbRijweg.getBeginSein().getName() === rijweg.getEindSein().getName());
58
- if (vrijebaanRijwegen.length > 0) {
59
- vrijebaanRijweg = vrijebaanRijwegen[0];
60
- vrijebaanDwang = vrijebaanRijweg.getDwangVoorDwangNummer(0);
61
- vervolgSpoor = vrijebaanRijwegplan.getVervolgSpoor(vrijebaanRijweg);
62
- vrijebaanDwangInfo =
63
- new RijwegplanRijwegDwangCombinatie(vrijebaanRijwegplan, vrijebaanRijweg, vrijebaanDwang);
64
- }
65
- }
66
- }
67
- return { vrijebaanDwangInfo, vervolgSpoor };
68
- }
69
- getRijwegPlan(pplg) {
70
- return this.rijwegPlanEditorService.getRijwegplan(pplg);
71
- }
72
- getDwang(rijweg, dwangNummer) {
73
- return rijweg.getDwangVoorDwangNummer(this.converteerDwangNummer(dwangNummer));
74
- }
75
- getRijweg(rijwegPlan, vanSpoor, naarSpoor) {
76
- const vanPrlSpoor = this.verwijderExtendedInformatie(vanSpoor);
77
- const naarPrlSpoor = this.verwijderExtendedInformatie(naarSpoor);
78
- return rijwegPlan.getRijweg(vanPrlSpoor, naarPrlSpoor);
79
- }
80
- ritBestandIsGewijzigd(rit, ritGewijzigdToegestaan) {
81
- for (const beweging of rit.bewegingen) {
82
- if (this.isGewijzigd(beweging) && !ritGewijzigdToegestaan) {
83
- this.messagesService.showMessage(MessageBuilder.ritFileAlGewijzigdError(beweging));
84
- return true;
85
- }
86
- }
87
- return false;
88
- }
89
- verwijderExtendedInformatie(spoor) {
90
- return spoor.split('_')[0];
91
- }
92
- converteerDwangNummer(dwangNummer) {
93
- return (dwangNummer === -1) ? 0 : dwangNummer;
94
- }
95
- isGewijzigd(beweging) {
96
- return beweging.wijzigStatus === 'Gewijzigd';
97
- }
98
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitLezerService, deps: [{ token: i1.EditorService }, { token: i2.MessagesService }], target: i0.ɵɵFactoryTarget.Injectable }); }
99
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitLezerService }); }
100
- }
101
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: RitLezerService, decorators: [{
102
- type: Injectable
103
- }], ctorParameters: () => [{ type: i1.EditorService }, { type: i2.MessagesService }] });
104
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0LWxlemVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvc2VydmljZXMvcml0LWxlemVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQVUsVUFBVSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFckQsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkNBQTZDLENBQUM7QUFDOUYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBRTNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUd6RCxNQUFNLDRCQUE0QixHQUFHLElBQUksQ0FBQztBQUMxQyxNQUFNLHVDQUF1QyxHQUFHLElBQUksQ0FBQztBQUdyRCxNQUFNLE9BQU8sZUFBZTtJQUN4QixZQUE2Qix1QkFBc0MsRUFDdEMsZUFBZ0M7UUFEaEMsNEJBQXVCLEdBQXZCLHVCQUF1QixDQUFlO1FBQ3RDLG9CQUFlLEdBQWYsZUFBZSxDQUFpQjtJQUM3RCxDQUFDO0lBRU0sUUFBUSxDQUFDLEdBQVEsRUFBRSxzQkFBK0I7UUFDckQsTUFBTSxRQUFRLEdBQWMsRUFBRSxDQUFDO1FBQy9CLE1BQU0sWUFBWSxHQUFhLEVBQUUsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxzQkFBc0IsQ0FBQyxFQUFFLENBQUM7WUFDM0QsR0FBRyxDQUFDLFVBQVUsQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsRUFBRSxRQUFRLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztRQUM3RixDQUFDO1FBQ0QsT0FBTyxRQUFRLENBQUM7SUFDcEIsQ0FBQztJQUVP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ZSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsdUJBQXVCLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztnQkFDbkYsT0FBTyxJQUFJLENBQUM7WUFDaEIsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLEtBQUssQ0FBQztJQUNqQixDQUFDO0lBRU8sMkJBQTJCLENBQUMsS0FBYTtRQUM3QyxPQUFPLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDL0IsQ0FBQztJQUVPLHFCQUFxQixDQUFDLFdBQW1CO1FBQzdDLE9BQU8sQ0FBQyxXQUFXLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDbEQsQ0FBQztJQUVPLFdBQVcsQ0FBQyxRQUFrQjtRQUNsQyxPQUFPLFFBQVEsQ0FBQyxZQUFZLEtBQUssV0FBVyxDQUFDO0lBQ2pELENBQUM7OEdBdEdRLGVBQWU7a0hBQWYsZUFBZTs7MkZBQWYsZUFBZTtrQkFEM0IsVUFBVSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRvbWVpbiwgSnNKYXZhVXRpbCB9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5pbXBvcnQgeyBNZXNzYWdlc1NlcnZpY2UgfSBmcm9tICcuLi9hdG9taWMtY29tcG9uZW50cy9zZXJ2aWNlcy9tZXNzYWdlcy5zZXJ2aWNlJztcbmltcG9ydCB7IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUgfSBmcm9tICcuLi9tb2RlbC9yaWp3ZWdwbGFuLXJpandlZy1kd2FuZy1jb21iaW5hdGllJztcbmltcG9ydCB7IFJpdGRlZWwgfSBmcm9tICcuLi9tb2RlbC9yaXRkZWVsJztcbmltcG9ydCB7IEJld2VnaW5nLCBSaXQgfSBmcm9tICcuLi9vcHRpbW8nO1xuaW1wb3J0IHsgTWVzc2FnZUJ1aWxkZXIgfSBmcm9tICcuLi91dGlsL21lc3NhZ2UtYnVpbGRlcic7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi9lZGl0b3Iuc2VydmljZSc7XG5cbmNvbnN0IFNQT09SX05BQVJfVlJJSkVCQUFOX1BPU1RGSVggPSAnX2UnO1xuY29uc3QgU1BPT1JfTkFBUl9WRUVSV0lTU0VMX1ZSSUpFQkFBTl9QT1NURklYID0gJ192JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFJpdExlemVyU2VydmljZSB7XG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSByaWp3ZWdQbGFuRWRpdG9yU2VydmljZTogRWRpdG9yU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIHJlYWRvbmx5IG1lc3NhZ2VzU2VydmljZTogTWVzc2FnZXNTZXJ2aWNlKSB7XG4gICAgfVxuXG4gICAgcHVibGljIHBhcnNlUml0KHJpdDogUml0LCByaXRHZXdpanppZ2RUb2VnZXN0YWFuOiBib29sZWFuKTogUml0ZGVlbFtdIHtcbiAgICAgICAgY29uc3Qgcml0RGVsZW46IFJpdGRlZWxbXSA9IFtdO1xuICAgICAgICBjb25zdCBtaXNzaW5nUHBsZ3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGlmICghdGhpcy5yaXRCZXN0YW5kSXNHZXdpanppZ2Qocml0LCByaXRHZXdpanppZ2RUb2VnZXN0YWFuKSkge1xuICAgICAgICAgICAgcml0LmJld2VnaW5nZW4uZm9yRWFjaChiZXdlZ2luZyA9PiB0aGlzLnBhcnNlQmV3ZWdpbmcoYmV3ZWdpbmcsIHJpdERlbGVuLCBtaXNzaW5nUHBsZ3MpKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcml0RGVsZW47XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBwYXJzZUJld2VnaW5nKGJld2VnaW5nOiBCZXdlZ2luZywgcml0RGVsZW46IFJpdGRlZWxbXSwgbWlzc2luZ1BwbGdzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICBjb25zdCByaWp3ZWdQbGFuID0gdGhpcy5nZXRSaWp3ZWdQbGFuKGJld2VnaW5nLnZhblBwbGcpO1xuICAgICAgICBpZiAoIXJpandlZ1BsYW4pIHtcbiAgICAgICAgICAgIGlmICghbWlzc2luZ1BwbGdzLmluY2x1ZGVzKGJld2VnaW5nLnZhblBwbGcpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5tZXNzYWdlc1NlcnZpY2Uuc2hvd01lc3NhZ2UoTWVzc2FnZUJ1aWxkZXIucmlqd2VncGxhbk5pZXRHZXZvbmRlbihiZXdlZ2luZykpO1xuICAgICAgICAgICAgICAgIG1pc3NpbmdQcGxncy5wdXNoKGJld2VnaW5nLnZhblBwbGcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IHJpandlZyA9IHRoaXMuZ2V0Umlqd2VnKHJpandlZ1BsYW4sIGJld2VnaW5nLnZhblNwb29yLCBiZXdlZ2luZy5uYWFyU3Bvb3IpO1xuICAgICAgICBpZiAoIXJpandlZykge1xuICAgICAgICAgICAgdGhpcy5tZXNzYWdlc1NlcnZpY2Uuc2hvd01lc3NhZ2UoTWVzc2FnZUJ1aWxkZXIucmlqd2VnTmlldEdldm9uZGVuKGJld2VnaW5nKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBkd2FuZyA9IHRoaXMuZ2V0RHdhbmcocmlqd2VnLCBiZXdlZ2luZy5kd2FuZ051bW1lcik7XG4gICAgICAgIGlmICghZHdhbmcpIHtcbiAgICAgICAgICAgIHRoaXMubWVzc2FnZXNTZXJ2aWNlLnNob3dNZXNzYWdlKE1lc3NhZ2VCdWlsZGVyLmR3YW5nTmlldEdldm9uZGVuKGJld2VnaW5nKSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgeyB2cmlqZWJhYW5Ed2FuZ0luZm8sIHZlcnZvbGdTcG9vciB9ID0gdGhpcy5leHRyYWN0VnJpamViYWFuRHdhbmdJbmZvKGJld2VnaW5nLCByaWp3ZWdQbGFuLCByaWp3ZWcpO1xuICAgICAgICBjb25zdCBkd2FuZ0luZm8gPSBuZXcgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZShyaWp3ZWdQbGFuLCByaWp3ZWcsIGR3YW5nKTtcbiAgICAgICAgcml0RGVsZW4ucHVzaChuZXcgUml0ZGVlbChkd2FuZ0luZm8sIGJld2VnaW5nLnJpdEFjdGllcywgYmV3ZWdpbmcsIHZyaWplYmFhbkR3YW5nSW5mbywgdmVydm9sZ1Nwb29yLCBbXSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZXh0cmFjdFZyaWplYmFhbkR3YW5nSW5mbyhiZXdlZ2luZzogQmV3ZWdpbmcsIHJpandlZ1BsYW46IGRvbWVpbi5SaWp3ZWdwbGFuLCByaWp3ZWc6IGRvbWVpbi5SaWp3ZWcpOiB7IHZyaWplYmFhbkR3YW5nSW5mbzogUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB8IHVuZGVmaW5lZCwgdmVydm9sZ1Nwb29yOiBzdHJpbmcgfCB1bmRlZmluZWQgfSB7XG4gICAgICAgIGxldCB2cmlqZWJhYW5Ed2FuZ0luZm86IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG4gICAgICAgIGxldCB2ZXJ2b2xnU3Bvb3I7XG4gICAgICAgIGlmIChiZXdlZ2luZy5uYWFyU3Bvb3IuZW5kc1dpdGgoU1BPT1JfTkFBUl9WUklKRUJBQU5fUE9TVEZJWCkgfHxcbiAgICAgICAgICAgIGJld2VnaW5nLm5hYXJTcG9vci5lbmRzV2l0aChTUE9PUl9OQUFSX1ZFRVJXSVNTRUxfVlJJSkVCQUFOX1BPU1RGSVgpKSB7XG4gICAgICAgICAgICBsZXQgdnJpamViYWFuUmlqd2VnOiBkb21laW4uUmlqd2VnO1xuICAgICAgICAgICAgbGV0IHZyaWplYmFhbkR3YW5nO1xuICAgICAgICAgICAgY29uc3QgdnJpamViYWFuUmlqd2VncGxhbiA9XG4gICAgICAgICAgICAgICAgdGhpcy5yaWp3ZWdQbGFuRWRpdG9yU2VydmljZS5nZXRWcmlqZWJhYW5SaWp3ZWdwbGFuKHJpandlZ1BsYW4uZ2V0UFBMRygpLFxuICAgICAgICAgICAgICAgICAgICByaWp3ZWcuZ2V0RWluZFNlaW4oKS5nZXROYW1lKCkpO1xuICAgICAgICAgICAgaWYgKHZyaWplYmFhblJpandlZ3BsYW4pIHtcbiAgICAgICAgICAgICAgICBjb25zdCByaWp3ZWdlbkFycmF5OiBkb21laW4uUmlqd2VnW10gPSBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHZyaWplYmFhblJpandlZ3BsYW4uZ2V0Umlqd2VnZW4oKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCB2cmlqZWJhYW5SaWp3ZWdlbiA9XG4gICAgICAgICAgICAgICAgICAgIHJpandlZ2VuQXJyYXkuZmlsdGVyKFxuICAgICAgICAgICAgICAgICAgICAgICAgdmJSaWp3ZWcgPT4gdmJSaWp3ZWcuZ2V0QmVnaW5TZWluKCkuZ2V0TmFtZSgpID09PSByaWp3ZWcuZ2V0RWluZFNlaW4oKS5nZXROYW1lKCkpO1xuICAgICAgICAgICAgICAgIGlmICh2cmlqZWJhYW5SaWp3ZWdlbi5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHZyaWplYmFhblJpandlZyA9IHZyaWplYmFhblJpandlZ2VuWzBdO1xuICAgICAgICAgICAgICAgICAgICB2cmlqZWJhYW5Ed2FuZyA9IHZyaWplYmFhblJpandlZy5nZXREd2FuZ1Zvb3JEd2FuZ051bW1lcigwKTtcbiAgICAgICAgICAgICAgICAgICAgdmVydm9sZ1Nwb29yID0gdnJpamViYWFuUmlqd2VncGxhbi5nZXRWZXJ2b2xnU3Bvb3IodnJpamViYWFuUmlqd2VnKTtcblxuICAgICAgICAgICAgICAgICAgICB2cmlqZWJhYW5Ed2FuZ0luZm8gPVxuICAgICAgICAgICAgICAgICAgICAgICAgbmV3IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUodnJpamViYWFuUmlqd2VncGxhbiwgdnJpamViYWFuUmlqd2VnLCB2cmlqZWJhYW5Ed2FuZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7IHZyaWplYmFhbkR3YW5nSW5mbywgdmVydm9sZ1Nwb29yIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSaWp3ZWdQbGFuKHBwbGc6IHN0cmluZyk6IGRvbWVpbi5SaWp3ZWdwbGFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmlqd2VnUGxhbkVkaXRvclNlcnZpY2UuZ2V0Umlqd2VncGxhbihwcGxnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldER3YW5nKHJpandlZzogZG9tZWluLlJpandlZywgZHdhbmdOdW1tZXI6IG51bWJlcik6IGRvbWVpbi5Ed2FuZyB7XG4gICAgICAgIHJldHVybiByaWp3ZWcuZ2V0RHdhbmdWb29yRHdhbmdOdW1tZXIodGhpcy5jb252ZXJ0ZWVyRHdhbmdOdW1tZXIoZHdhbmdOdW1tZXIpKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFJpandlZyhyaWp3ZWdQbGFuOiBkb21laW4uUmlqd2VncGxhbiwgdmFuU3Bvb3I6IHN0cmluZywgbmFhclNwb29yOiBzdHJpbmcpOiBkb21laW4uUmlqd2VnIHtcbiAgICAgICAgY29uc3QgdmFuUHJsU3Bvb3IgPSB0aGlzLnZlcndpamRlckV4dGVuZGVkSW5mb3JtYXRpZSh2YW5TcG9vcik7XG4gICAgICAgIGNvbnN0IG5hYXJQcmxTcG9vciA9IHRoaXMudmVyd2lqZGVyRXh0ZW5kZWRJbmZvcm1hdGllKG5hYXJTcG9vcik7XG4gICAgICAgIHJldHVybiByaWp3ZWdQbGFuLmdldFJpandlZyh2YW5QcmxTcG9vciwgbmFhclBybFNwb29yKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJpdEJlc3RhbmRJc0dld2lqemlnZChyaXQ6IFJpdCwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbjogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgICAgICBmb3IgKGNvbnN0IGJld2VnaW5nIG9mIHJpdC5iZXdlZ2luZ2VuKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5pc0dld2lqemlnZChiZXdlZ2luZykgJiYgIXJpdEdld2lqemlnZFRvZWdlc3RhYW4pIHtcbiAgICAgICAgICAgICAgICB0aGlzLm1lc3NhZ2VzU2VydmljZS5zaG93TWVzc2FnZShNZXNzYWdlQnVpbGRlci5yaXRGaWxlQWxHZXdpanppZ2RFcnJvcihiZXdlZ2luZykpO1xuICAgICAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcndpamRlckV4dGVuZGVkSW5mb3JtYXRpZShzcG9vcjogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHNwb29yLnNwbGl0KCdfJylbMF07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBjb252ZXJ0ZWVyRHdhbmdOdW1tZXIoZHdhbmdOdW1tZXI6IG51bWJlcik6IG51bWJlciB7XG4gICAgICAgIHJldHVybiAoZHdhbmdOdW1tZXIgPT09IC0xKSA/IDAgOiBkd2FuZ051bW1lcjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2V3aWp6aWdkKGJld2VnaW5nOiBCZXdlZ2luZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gYmV3ZWdpbmcud2lqemlnU3RhdHVzID09PSAnR2V3aWp6aWdkJztcbiAgICB9XG59XG4iXX0=
@@ -1,92 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { JsJavaUtil } from '@loxia/rijwegen';
3
- import * as i0 from "@angular/core";
4
- export class SignaleringsBeeldManagerService {
5
- /*
6
- * SignaleringsBeeldManager gezet vanuit GWT
7
- */
8
- set(signaleringsBeeldManager) {
9
- this.signaleringsBeeldManager = signaleringsBeeldManager;
10
- }
11
- isReady() {
12
- return !!this.signaleringsBeeldManager;
13
- }
14
- bepaalRouteElementen(route) {
15
- try {
16
- return JsJavaUtil.listToArray(this.signaleringsBeeldManager.bepaalRouteElementenStrict(route));
17
- }
18
- catch (e) {
19
- console.log(e.message);
20
- return [];
21
- }
22
- }
23
- getPuicsVoorSeinenInRoute(route) {
24
- try {
25
- return JsJavaUtil.listToArray(this.signaleringsBeeldManager.getPuicsVoorSeinenInRoute(route));
26
- }
27
- catch (e) {
28
- console.log(e.message);
29
- return [];
30
- }
31
- }
32
- getSBSein(sein) {
33
- return this.signaleringsBeeldManager.getSeinStrict(sein);
34
- }
35
- getSbSpoortak(takId) {
36
- return this.signaleringsBeeldManager ? this.signaleringsBeeldManager.getSpoortak(takId) : null;
37
- }
38
- getAlleSoortenWissels() {
39
- return this.signaleringsBeeldManager.getAlleSoortenWissels();
40
- }
41
- getSBWissel(wisselNaam, pplg) {
42
- return this.signaleringsBeeldManager.getWissel(wisselNaam, pplg);
43
- }
44
- getSignaleringsElementen() {
45
- return this.signaleringsBeeldManager.getSignaleringsElementen();
46
- }
47
- bepaalAlternativeRoutes(rijweg) {
48
- return JsJavaUtil.listToArray(this.signaleringsBeeldManager.bepaalAlternativeRoutes(rijweg));
49
- }
50
- bepaalAlternativeRouteHighlights(alternatieveRoute, topoElementen) {
51
- return JsJavaUtil.listToArray(this.signaleringsBeeldManager.bepaalAlternativeRouteHighlights(alternatieveRoute, topoElementen));
52
- }
53
- getPuicsVoorSeinen() {
54
- return this.signaleringsBeeldManager.getPuicsVoorSeinen();
55
- }
56
- getSeinen() {
57
- return this.signaleringsBeeldManager.getSeinen();
58
- }
59
- getPuicsVoorWissels() {
60
- return this.signaleringsBeeldManager.getPuicsVoorWissels();
61
- }
62
- getPuicsVoorRanden() {
63
- return this.signaleringsBeeldManager.getPuicsVoorRanden();
64
- }
65
- getWisselMetStoringskaderPuic(storingskaderPuic) {
66
- return this.signaleringsBeeldManager.getWisselMetStoringskaderPuic(storingskaderPuic);
67
- }
68
- getPuicsVoorWissel(wisselId, pplg) {
69
- return this.signaleringsBeeldManager ? this.signaleringsBeeldManager.getPuicsVoorWissel(wisselId, pplg) : null;
70
- }
71
- getPuicsVoorSpoornummers() {
72
- return this.signaleringsBeeldManager.getPuicsVoorSpoornummers();
73
- }
74
- getPuicsVoorSplitEngelseWissels() {
75
- return this.signaleringsBeeldManager.getPuicsVoorSplitEngelseWissels();
76
- }
77
- getTechnischAlternatiefSBSein(sein) {
78
- return this.signaleringsBeeldManager.getTechnischAlternatiefSBSein(sein);
79
- }
80
- getTopologyElementByPuic(puic) {
81
- return this.signaleringsBeeldManager.getTopologyElementByPuic(puic);
82
- }
83
- getEersteVerbindingPuicVoorSplitEngelseWissel(engelsWisselNaam, kantcode) {
84
- return this.signaleringsBeeldManager.getEersteVerbindingPuicVoorSplitEngelseWissel(engelsWisselNaam, kantcode);
85
- }
86
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsBeeldManagerService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
87
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsBeeldManagerService }); }
88
- }
89
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsBeeldManagerService, decorators: [{
90
- type: Injectable
91
- }] });
92
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2lnbmFsZXJpbmdzLWJlZWxkLW1hbmFnZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zZXJ2aWNlcy9zaWduYWxlcmluZ3MtYmVlbGQtbWFuYWdlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFTLFVBQVUsRUFBUyxNQUFNLGlCQUFpQixDQUFDOztBQUczRCxNQUFNLE9BQU8sK0JBQStCO0lBR3hDOztPQUVHO0lBQ0gsR0FBRyxDQUFDLHdCQUE2QjtRQUM3QixJQUFJLENBQUMsd0JBQXdCLEdBQUcsd0JBQXdCLENBQUM7SUFDN0QsQ0FBQztJQUVELE9BQU87UUFDSCxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUM7SUFDM0MsQ0FBQztJQUVELG9CQUFvQixDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQztZQUNELE9BQU8sVUFBVSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsMEJBQTBCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNuRyxDQUFDO1FBQUMsT0FBTyxDQUFNLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ3ZCLE9BQU8sRUFBRSxDQUFDO1FBQ2QsQ0FBQztJQUNMLENBQUM7SUFFRCx5QkFBeUIsQ0FBQyxLQUFtQjtRQUN6QyxJQUFJLENBQUM7WUFDRCxPQUFPLFVBQVUsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLHdCQUF3QixDQUFDLHlCQUF5QixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDbEcsQ0FBQztRQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7WUFDZCxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FB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LENBQUM7OEdBdkdRLCtCQUErQjtrSEFBL0IsK0JBQStCOzsyRkFBL0IsK0JBQStCO2tCQUQzQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtJbmplY3RhYmxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7ZG9tZWluLCBKc0phdmFVdGlsLCBzYmJsYWR9IGZyb20gJ0Bsb3hpYS9yaWp3ZWdlbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXJTZXJ2aWNlIHtcbiAgICBwcml2YXRlIHNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlcjogYW55O1xuXG4gICAgLypcbiAgICAgKiBTaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIgZ2V6ZXQgdmFudWl0IEdXVFxuICAgICAqL1xuICAgIHNldChzaWduYWxlcmluZ3NCZWVsZE1hbmFnZXI6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlciA9IHNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlcjtcbiAgICB9XG5cbiAgICBpc1JlYWR5KCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlcjtcbiAgICB9XG5cbiAgICBiZXBhYWxSb3V0ZUVsZW1lbnRlbihyb3V0ZTogZG9tZWluLlJvdXRlIHwgdW5kZWZpbmVkKTogc2JibGFkLlRvcG9sb2d5RWxlbWVudFtdIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmJlcGFhbFJvdXRlRWxlbWVudGVuU3RyaWN0KHJvdXRlKSk7XG4gICAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coZS5tZXNzYWdlKTtcbiAgICAgICAgICAgIHJldHVybiBbXTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGdldFB1aWNzVm9vclNlaW5lbkluUm91dGUocm91dGU6IGRvbWVpbi5Sb3V0ZSk6IHN0cmluZ1tdIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIHJldHVybiBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFB1aWNzVm9vclNlaW5lbkluUm91dGUocm91dGUpKTtcbiAgICAgICAgfSBjYXRjaCAoZTogYW55KSB7XG4gICAgICAgICAgICBjb25zb2xlLmxvZyhlLm1lc3NhZ2UpO1xuICAgICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0U0JTZWluKHNlaW46IGRvbWVpbi5TZWluKTogc2JibGFkLlNlaW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIuZ2V0U2VpblN0cmljdChzZWluKTtcbiAgICB9XG5cbiAgICBnZXRTYlNwb29ydGFrKHRha0lkOiBzdHJpbmcpOiBzYmJsYWQuU3Bvb3J0YWsgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyID8gdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIuZ2V0U3Bvb3J0YWsodGFrSWQpIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXRBbGxlU29vcnRlbldpc3NlbHMoKTogc2JibGFkLldpc3NlbFtdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldEFsbGVTb29ydGVuV2lzc2VscygpO1xuICAgIH1cblxuICAgIGdldFNCV2lzc2VsKHdpc3NlbE5hYW06IHN0cmluZywgcHBsZzogc3RyaW5nKTogc2JibGFkLldpc3NlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlci5nZXRXaXNzZWwod2lzc2VsTmFhbSwgcHBsZyk7XG4gICAgfVxuXG4gICAgZ2V0U2lnbmFsZXJpbmdzRWxlbWVudGVuKCk6IHNiYmxhZC5TaWduYWxlcmluZ3NFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIuZ2V0U2lnbmFsZXJpbmdzRWxlbWVudGVuKCk7XG4gICAgfVxuXG4gICAgYmVwYWFsQWx0ZXJuYXRpdmVSb3V0ZXMocmlqd2VnOiBkb21laW4uUmlqd2VnKTogc2JibGFkLkFsdGVybmF0aXZlUm91dGVbXSB7XG4gICAgICAgIHJldHVybiBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmJlcGFhbEFsdGVybmF0aXZlUm91dGVzKHJpandlZykpO1xuICAgIH1cblxuICAgIGJlcGFhbEFsdGVybmF0aXZlUm91dGVIaWdobGlnaHRzKGFsdGVybmF0aWV2ZVJvdXRlOiBzYmJsYWQuQWx0ZXJuYXRpdmVSb3V0ZSxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0b3BvRWxlbWVudGVuOiBzYmJsYWQuSGFzSWRlbnRpZmllcltdKTogc2JibGFkLkhhc0lkZW50aWZpZXJbXSB7XG4gICAgICAgIHJldHVybiBKc0phdmFVdGlsLmxpc3RUb0FycmF5KHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmJlcGFhbEFsdGVybmF0aXZlUm91dGVIaWdobGlnaHRzKGFsdGVybmF0aWV2ZVJvdXRlLCB0b3BvRWxlbWVudGVuKSk7XG4gICAgfVxuXG4gICAgZ2V0UHVpY3NWb29yU2VpbmVuKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFB1aWNzVm9vclNlaW5lbigpO1xuICAgIH1cblxuICAgIGdldFNlaW5lbigpOiBzYmJsYWQuU2VpbltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFNlaW5lbigpO1xuICAgIH1cblxuICAgIGdldFB1aWNzVm9vcldpc3NlbHMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gdGhpcy5zaWduYWxlcmluZ3NCZWVsZE1hbmFnZXIuZ2V0UHVpY3NWb29yV2lzc2VscygpO1xuICAgIH1cblxuICAgIGdldFB1aWNzVm9vclJhbmRlbigpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlci5nZXRQdWljc1Zvb3JSYW5kZW4oKTtcbiAgICB9XG5cbiAgICBnZXRXaXNzZWxNZXRTdG9yaW5nc2thZGVyUHVpYyhzdG9yaW5nc2thZGVyUHVpYzogc3RyaW5nKTogc2JibGFkLldpc3NlbCB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlci5nZXRXaXNzZWxNZXRTdG9yaW5nc2thZGVyUHVpYyhzdG9yaW5nc2thZGVyUHVpYyk7XG4gICAgfVxuXG4gICAgZ2V0UHVpY3NWb29yV2lzc2VsKHdpc3NlbElkOiBzdHJpbmcsIHBwbGc6IHN0cmluZyk6IGFueSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlciA/IHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFB1aWNzVm9vcldpc3NlbCh3aXNzZWxJZCwgcHBsZykgOiBudWxsO1xuICAgIH1cblxuICAgIGdldFB1aWNzVm9vclNwb29ybnVtbWVycygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlci5nZXRQdWljc1Zvb3JTcG9vcm51bW1lcnMoKTtcbiAgICB9XG5cbiAgICBnZXRQdWljc1Zvb3JTcGxpdEVuZ2Vsc2VXaXNzZWxzKCk6IHN0cmluZ1tdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFB1aWNzVm9vclNwbGl0RW5nZWxzZVdpc3NlbHMoKTtcbiAgICB9XG5cbiAgICBnZXRUZWNobmlzY2hBbHRlcm5hdGllZlNCU2VpbihzZWluOiBzYmJsYWQuU2Vpbik6IHNiYmxhZC5TZWluIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFRlY2huaXNjaEFsdGVybmF0aWVmU0JTZWluKHNlaW4pO1xuICAgIH1cblxuICAgIGdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljOiBzdHJpbmcpOiBzYmJsYWQuVG9wb2xvZ3lFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljKTtcbiAgICB9XG5cbiAgICBnZXRFZXJzdGVWZXJiaW5kaW5nUHVpY1Zvb3JTcGxpdEVuZ2Vsc2VXaXNzZWwoZW5nZWxzV2lzc2VsTmFhbTogc3RyaW5nLCBrYW50Y29kZTogc3RyaW5nKTogYW55IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyLmdldEVlcnN0ZVZlcmJpbmRpbmdQdWljVm9vclNwbGl0RW5nZWxzZVdpc3NlbChlbmdlbHNXaXNzZWxOYWFtLCBrYW50Y29kZSk7XG4gICAgfVxufVxuIl19
@@ -1,106 +0,0 @@
1
- import { Injectable } from '@angular/core';
2
- import { SelectieInfo } from '@loxia/imx-viewer';
3
- import { BehaviorSubject, combineLatest, Subscription } from 'rxjs';
4
- import { filter, take, tap } from 'rxjs/operators';
5
- import { KeurAlleActiesGoed, SetAlgemeneRitInfo, ShowProgress } from '../state/actions/actions';
6
- import * as i0 from "@angular/core";
7
- import * as i1 from "@ngrx/store";
8
- import * as i2 from "./beweging-utils.service";
9
- export class ViewerControlService {
10
- constructor(store, bewegingUtils) {
11
- this.store = store;
12
- this.bewegingUtils = bewegingUtils;
13
- this.subscriptions = new Subscription();
14
- this.valideRit$ = new BehaviorSubject(false);
15
- this.printing$ = new BehaviorSubject(false);
16
- this.sideNavOpen = false;
17
- this.sideNavOpen$ = new BehaviorSubject(this.sideNavOpen);
18
- this.selectieInfos = [];
19
- this.origineelTreinPad = {};
20
- this.subscriptions.add(combineLatest([
21
- store.select('ritSelectieIds'),
22
- store.select('actieOpRitSelectieIds'),
23
- store.select('ongeplandeActieSelectieIds'),
24
- store.select('gebrokenRitSelectieIds'),
25
- store.select('alternatievenSelectieIds'),
26
- store.select('beginSeinSelectieIds'),
27
- store.select('eindSeinSelectieIds')
28
- ]).subscribe(([rit, actieOpRitSelectieIds, ongeplandeActieSelectieIds, gebrokenrit, alternatieven, begin, eind]) => {
29
- const selectie = [];
30
- selectie.push(new SelectieInfo(rit, 'rit'));
31
- selectie.push(new SelectieInfo(actieOpRitSelectieIds, 'actieoprit'));
32
- selectie.push(new SelectieInfo(ongeplandeActieSelectieIds, 'ongeplandeActie'));
33
- selectie.push(new SelectieInfo(gebrokenrit, 'gebrokenrit'));
34
- selectie.push(new SelectieInfo(alternatieven, 'alternatieveRoute'));
35
- selectie.push(new SelectieInfo(begin, 'zigzagVan'));
36
- selectie.push(new SelectieInfo(eind, 'zigzagNaar'));
37
- this.selectieInfos = selectie;
38
- }));
39
- }
40
- toggleSideNavVisible() {
41
- this.sideNavOpen = !this.sideNavOpen;
42
- this.sideNavOpen$.next(this.sideNavOpen);
43
- }
44
- keurAlleActiesGoed(ongeplandeActies) {
45
- this.store.select('ritDelen').pipe(take(1), filter(ritdelen => !!ritdelen), tap(ritdelen => {
46
- this.store.dispatch(ShowProgress());
47
- const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritdelen, this.origineelTreinPad.bewegingen);
48
- const alleActies = this.verzamelAlleActies(ritdelen, ongeplandeActies);
49
- this.store.dispatch(KeurAlleActiesGoed(this.getBewegingenZonderActies(bewegingen), alleActies));
50
- })).subscribe();
51
- }
52
- setValideRit(valideRit) {
53
- this.valideRit$.next(valideRit);
54
- }
55
- setPrinting(printing) {
56
- this.printing$.next(printing);
57
- }
58
- getBewegingenZonderActies(bewegingen) {
59
- return bewegingen.map(beweging => {
60
- beweging.ritActies = [];
61
- return beweging;
62
- });
63
- }
64
- verzamelAlleActies(ritDelen, ongeplandeActies) {
65
- const retval = [];
66
- retval.push(...ongeplandeActies);
67
- retval.push(...ritDelen.filter(ritdeel => ritdeel.acties.length > 0).flatMap(ritdeel => ritdeel.acties));
68
- return retval;
69
- }
70
- setOrigineelTreinPad(treinpad) {
71
- const rit = JSON.parse(JSON.stringify(treinpad));
72
- this.store.dispatch(SetAlgemeneRitInfo({
73
- id: rit.id,
74
- jaarplanId: rit.jaarplanId,
75
- volgnummer: rit.volgnummer,
76
- machineTypeId: rit.machineTypeId,
77
- machineTypeOmschrijving: rit.machineTypeOmschrijving,
78
- ritDatum: rit.ritDatum,
79
- startDatum: rit.startDatum,
80
- eindDatum: rit.eindDatum,
81
- ritNaam: rit.ritNaam,
82
- startLocatie: rit.startLocatie,
83
- eindLocatie: rit.eindLocatie,
84
- ritStatus: rit.ritStatus,
85
- modified: rit.modified,
86
- modifiedBy: rit.modifiedBy,
87
- planJobId: rit.planJobId
88
- }));
89
- this.origineelTreinPad = rit;
90
- }
91
- isValideRit$() {
92
- return this.valideRit$;
93
- }
94
- isPrinting$() {
95
- return this.printing$;
96
- }
97
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlService, deps: [{ token: i1.Store }, { token: i2.BewegingUtils }], target: i0.ɵɵFactoryTarget.Injectable }); }
98
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlService, providedIn: 'root' }); }
99
- }
100
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlService, decorators: [{
101
- type: Injectable,
102
- args: [{
103
- providedIn: 'root'
104
- }]
105
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.BewegingUtils }] });
106
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWNvbnRyb2wuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWpELE9BQU8sRUFBRSxlQUFlLEVBQUUsYUFBYSxFQUFjLFlBQVksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNoRixPQUFPLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUluRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsa0JBQWtCLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7QUFPaEcsTUFBTSxPQUFPLG9CQUFvQjtJQVk3QixZQUE2QixLQUE0QixFQUM1QixhQUE0QjtRQUQ1QixVQUFLLEdBQUwsS0FBSyxDQUF1QjtRQUM1QixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVp4QyxrQkFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7UUFFbkMsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLGNBQVMsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVoRCxnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUM1QixpQkFBWSxHQUFHLElBQUksZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUVyRCxrQkFBYSxHQUFtQixFQUFFLENBQUM7UUFDbkMsc0JBQWlCLEdBQVEsRUFBUyxDQUFDO1FBSS9CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQztZQUNqQyxLQUFLLENBQUMsTUFBTSxD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MUIsU0FBUyxFQUFFLEdBQUcsQ0FBQyxTQUFTO1lBQ3hCLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztZQUNwQixZQUFZLEVBQUUsR0FBRyxDQUFDLFlBQVk7WUFDOUIsV0FBVyxFQUFFLEdBQUcsQ0FBQyxXQUFXO1lBQzVCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztZQUN4QixRQUFRLEVBQUUsR0FBRyxDQUFDLFFBQVE7WUFDdEIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxVQUFVO1lBQzFCLFNBQVMsRUFBRSxHQUFHLENBQUMsU0FBUztTQUNULENBQUMsQ0FDdkIsQ0FBQztRQUNGLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxHQUFHLENBQUM7SUFDakMsQ0FBQztJQUVELFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7SUFDM0IsQ0FBQztJQUVELFdBQVc7UUFDUCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDMUIsQ0FBQzs4R0F6R1Esb0JBQW9CO2tIQUFwQixvQkFBb0IsY0FGakIsTUFBTTs7MkZBRVQsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFNlbGVjdGllSW5mbyB9IGZyb20gJ0Bsb3hpYS9pbXgtdmlld2VyJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQmVoYXZpb3JTdWJqZWN0LCBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGZpbHRlciwgdGFrZSwgdGFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWxnZW1lbmVSaXREdG8gfSBmcm9tICcuLi8uLi9nZW5lcmF0ZWQvb3BlbmFwaSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSwgQmV3ZWdpbmcsIFJpdCB9IGZyb20gJy4uL29wdGltbyc7XG5pbXBvcnQgeyBLZXVyQWxsZUFjdGllc0dvZWQsIFNldEFsZ2VtZW5lUml0SW5mbywgU2hvd1Byb2dyZXNzIH0gZnJvbSAnLi4vc3RhdGUvYWN0aW9ucy9hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBCZXdlZ2luZ1V0aWxzIH0gZnJvbSAnLi9iZXdlZ2luZy11dGlscy5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJDb250cm9sU2VydmljZSB7XG4gICAgcHJpdmF0ZSByZWFkb25seSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSB2YWxpZGVSaXQkID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBwcmludGluZyQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcblxuICAgIHByaXZhdGUgc2lkZU5hdk9wZW4gPSBmYWxzZTtcbiAgICBzaWRlTmF2T3BlbiQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KHRoaXMuc2lkZU5hdk9wZW4pO1xuXG4gICAgc2VsZWN0aWVJbmZvczogU2VsZWN0aWVJbmZvW10gPSBbXTtcbiAgICBvcmlnaW5lZWxUcmVpblBhZDogUml0ID0ge30gYXMgUml0O1xuXG4gICAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzdG9yZTogU3RvcmU8TXN0RWRpdG9yU3RhdGU+LFxuICAgICAgICAgICAgICAgIHByaXZhdGUgcmVhZG9ubHkgYmV3ZWdpbmdVdGlsczogQmV3ZWdpbmdVdGlscykge1xuICAgICAgICB0aGlzLnN1YnNjcmlwdGlvbnMuYWRkKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgc3RvcmUuc2VsZWN0KCdyaXRTZWxlY3RpZUlkcycpLFxuICAgICAgICAgICAgc3RvcmUuc2VsZWN0KCdhY3RpZU9wUml0U2VsZWN0aWVJZHMnKSxcbiAgICAgICAgICAgIHN0b3JlLnNlbGVjdCgnb25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZHMnKSxcbiAgICAgICAgICAgIHN0b3JlLnNlbGVjdCgnZ2Vicm9rZW5SaXRTZWxlY3RpZUlkcycpLFxuICAgICAgICAgICAgc3RvcmUuc2VsZWN0KCdhbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMnKSxcbiAgICAgICAgICAgIHN0b3JlLnNlbGVjdCgnYmVnaW5TZWluU2VsZWN0aWVJZHMnKSxcbiAgICAgICAgICAgIHN0b3JlLnNlbGVjdCgnZWluZFNlaW5TZWxlY3RpZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW3JpdCwgYWN0aWVPcFJpdFNlbGVjdGllSWRzLCBvbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcywgZ2Vicm9rZW5yaXQsIGFsdGVybmF0aWV2ZW4sIGJlZ2luLCBlaW5kXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHNlbGVjdGllID0gW107XG4gICAgICAgICAgICAgICAgc2VsZWN0aWUucHVzaChuZXcgU2VsZWN0aWVJbmZvKHJpdCwgJ3JpdCcpKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RpZS5wdXNoKG5ldyBTZWxlY3RpZUluZm8oYWN0aWVPcFJpdFNlbGVjdGllSWRzLCAnYWN0aWVvcHJpdCcpKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RpZS5wdXNoKG5ldyBTZWxlY3RpZUluZm8ob25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZHMsICdvbmdlcGxhbmRlQWN0aWUnKSk7XG4gICAgICAgICAgICAgICAgc2VsZWN0aWUucHVzaChuZXcgU2VsZWN0aWVJbmZvKGdlYnJva2Vucml0LCAnZ2Vicm9rZW5yaXQnKSk7XG4gICAgICAgICAgICAgICAgc2VsZWN0aWUucHVzaChuZXcgU2VsZWN0aWVJbmZvKGFsdGVybmF0aWV2ZW4sICdhbHRlcm5hdGlldmVSb3V0ZScpKTtcbiAgICAgICAgICAgICAgICBzZWxlY3RpZS5wdXNoKG5ldyBTZWxlY3RpZUluZm8oYmVnaW4sICd6aWd6YWdWYW4nKSk7XG4gICAgICAgICAgICAgICAgc2VsZWN0aWUucHVzaChuZXcgU2VsZWN0aWVJbmZvKGVpbmQsICd6aWd6YWdOYWFyJykpO1xuICAgICAgICAgICAgICAgIHRoaXMuc2VsZWN0aWVJbmZvcyA9IHNlbGVjdGllO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICB0b2dnbGVTaWRlTmF2VmlzaWJsZSgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zaWRlTmF2T3BlbiA9ICF0aGlzLnNpZGVOYXZPcGVuO1xuICAgICAgICB0aGlzLnNpZGVOYXZPcGVuJC5uZXh0KHRoaXMuc2lkZU5hdk9wZW4pO1xuICAgIH1cblxuICAgIGtldXJBbGxlQWN0aWVzR29lZChvbmdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnBpcGUoXG4gICAgICAgICAgICB0YWtlKDEpLFxuICAgICAgICAgICAgZmlsdGVyKHJpdGRlbGVuID0+ICEhcml0ZGVsZW4pLFxuICAgICAgICAgICAgdGFwKHJpdGRlbGVuID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNob3dQcm9ncmVzcygpKTtcbiAgICAgICAgICAgICAgICBjb25zdCBiZXdlZ2luZ2VuID0gdGhpcy5iZXdlZ2luZ1V0aWxzLmV4dHJhY3RCZXdlZ2luZ2VuVWl0Uml0ZGVsZW4ocml0ZGVsZW4sIHRoaXMub3JpZ2luZWVsVHJlaW5QYWQuYmV3ZWdpbmdlbik7XG4gICAgICAgICAgICAgICAgY29uc3QgYWxsZUFjdGllcyA9IHRoaXMudmVyemFtZWxBbGxlQWN0aWVzKHJpdGRlbGVuLCBvbmdlcGxhbmRlQWN0aWVzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKEtldXJBbGxlQWN0aWVzR29lZCh0aGlzLmdldEJld2VnaW5nZW5ab25kZXJBY3RpZXMoYmV3ZWdpbmdlbiksIGFsbGVBY3RpZXMpKTtcbiAgICAgICAgICAgIH0pKS5zdWJzY3JpYmUoKTtcbiAgICB9XG5cbiAgICBzZXRWYWxpZGVSaXQodmFsaWRlUml0OiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudmFsaWRlUml0JC5uZXh0KHZhbGlkZVJpdCk7XG4gICAgfVxuXG4gICAgc2V0UHJpbnRpbmcocHJpbnRpbmc6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wcmludGluZyQubmV4dChwcmludGluZyk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRCZXdlZ2luZ2VuWm9uZGVyQWN0aWVzKGJld2VnaW5nZW46IEJld2VnaW5nW10pOiBCZXdlZ2luZ1tdIHtcbiAgICAgICAgcmV0dXJuIGJld2VnaW5nZW4ubWFwKGJld2VnaW5nID0+IHtcbiAgICAgICAgICAgIGJld2VnaW5nLnJpdEFjdGllcyA9IFtdO1xuICAgICAgICAgICAgcmV0dXJuIGJld2VnaW5nO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnphbWVsQWxsZUFjdGllcyhyaXREZWxlbjogUml0ZGVlbFtdLCBvbmdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdKTogQWN0aWVbXSB7XG4gICAgICAgIGNvbnN0IHJldHZhbCA9IFtdO1xuICAgICAgICByZXR2YWwucHVzaCguLi5vbmdlcGxhbmRlQWN0aWVzKTtcbiAgICAgICAgcmV0dmFsLnB1c2goLi4ucml0RGVsZW4uZmlsdGVyKHJpdGRlZWwgPT4gcml0ZGVlbC5hY3RpZXMubGVuZ3RoID4gMCkuZmxhdE1hcChyaXRkZWVsID0+IHJpdGRlZWwuYWN0aWVzKSk7XG4gICAgICAgIHJldHVybiByZXR2YWw7XG4gICAgfVxuXG4gICAgc2V0T3JpZ2luZWVsVHJlaW5QYWQodHJlaW5wYWQ6IFJpdCk6IHZvaWQge1xuICAgICAgICBjb25zdCByaXQgPSBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRyZWlucGFkKSk7XG5cbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRBbGdlbWVuZVJpdEluZm8oIHtcbiAgICAgICAgICAgICAgICBpZDogcml0LmlkLFxuICAgICAgICAgICAgICAgIGphYXJwbGFuSWQ6IHJpdC5qYWFycGxhbklkLFxuICAgICAgICAgICAgICAgIHZvbGdudW1tZXI6IHJpdC52b2xnbnVtbWVyLFxuICAgICAgICAgICAgICAgIG1hY2hpbmVUeXBlSWQ6IHJpdC5tYWNoaW5lVHlwZUlkLFxuICAgICAgICAgICAgICAgIG1hY2hpbmVUeXBlT21zY2hyaWp2aW5nOiByaXQubWFjaGluZVR5cGVPbXNjaHJpanZpbmcsXG4gICAgICAgICAgICAgICAgcml0RGF0dW06IHJpdC5yaXREYXR1bSxcbiAgICAgICAgICAgICAgICBzdGFydERhdHVtOiByaXQuc3RhcnREYXR1bSxcbiAgICAgICAgICAgICAgICBlaW5kRGF0dW06IHJpdC5laW5kRGF0dW0sXG4gICAgICAgICAgICAgICAgcml0TmFhbTogcml0LnJpdE5hYW0sXG4gICAgICAgICAgICAgICAgc3RhcnRMb2NhdGllOiByaXQuc3RhcnRMb2NhdGllLFxuICAgICAgICAgICAgICAgIGVpbmRMb2NhdGllOiByaXQuZWluZExvY2F0aWUsXG4gICAgICAgICAgICAgICAgcml0U3RhdHVzOiByaXQucml0U3RhdHVzLFxuICAgICAgICAgICAgICAgIG1vZGlmaWVkOiByaXQubW9kaWZpZWQsXG4gICAgICAgICAgICAgICAgbW9kaWZpZWRCeTogcml0Lm1vZGlmaWVkQnksXG4gICAgICAgICAgICAgICAgcGxhbkpvYklkOiByaXQucGxhbkpvYklkXG4gICAgICAgICAgICB9IGFzIEFsZ2VtZW5lUml0RHRvKVxuICAgICAgICApO1xuICAgICAgICB0aGlzLm9yaWdpbmVlbFRyZWluUGFkID0gcml0O1xuICAgIH1cblxuICAgIGlzVmFsaWRlUml0JCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsaWRlUml0JDtcbiAgICB9XG5cbiAgICBpc1ByaW50aW5nJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJpbnRpbmckO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,127 +0,0 @@
1
- import { createAction, union } from '@ngrx/store';
2
- export const SET_EDITABLE = '[mst] SetEditable';
3
- export const SET_RIT_SELECTIE_IDS = '[mst] SetRitSelectieIds';
4
- export const SET_GEPLANDE_ACTIES = '[mst] SetGeplandeActies';
5
- export const DELETE_GEPLANDE_ACTIES = '[mst] DeleteGeplandeActies';
6
- export const ADD_GEPLANDE_ACTIES = '[mst] AddGeplandeActies';
7
- export const SET_ACTIEOPRIT_SELECTIE_IDS = '[mst] SetActieOpRitSelectieIds';
8
- export const SET_ONGEPLANDEACTIE_SELECTIE_IDS = '[mst] SetOngeplandeActieSelectieIds';
9
- export const DELETE_ONGEPLANDE_ACTIE_SELECTIE_ID = '[mst] DeleteOngeplandeActieSelectieId';
10
- export const ADD_ONGEPLANDE_ACTIE = '[mst] AddOngeplandeActie';
11
- export const DELETE_ONGEPLANDE_ACTIE = '[mst] DeleteOngeplandeActie';
12
- export const BEPAAL_ONGEPLANDE_ACTIES = '[mst] BepaalOngeplandeActies';
13
- export const SET_ONGEPLANDE_ACTIES = '[mst] SetOngeplandeActies';
14
- export const SET_GEBROKENRIT_SELECTIE_IDS = '[mst] SetGebrokenRitSelectieIds';
15
- export const SET_ALTERNATIEVEN_SELECTIE_IDS = '[mst] SetAlternatievenSelectieIds';
16
- export const SET_BEGINSEIN_SELECTIE_IDS = '[mst] SetBeginSeinSelectieIds';
17
- export const SET_EINDSEIN_SELECTIE_IDS = '[mst] SetEindSeinSelectieIds';
18
- export const SET_ALTERNATIEVEN_CLICKABLE_IDS = '[mst] SetAlternatievenClickableIds';
19
- export const SET_EINDSEINEN_CLICKABLE_IDS = '[mst] SetEindSeinenClickableIds';
20
- export const SET_CONNECTOREN_CLICKABLE_IDS = '[mst] SetConnectorenlickableIds';
21
- export const SET_BEGINSEIN_RIGHTCLICKABLE_IDS = '[mst] SetBeginSeinRightClickableIds';
22
- export const SET_NIEUW_ROUTE_BEGINSEIN = '[mst] SetNieuwRouteBeginSein';
23
- export const SET_NIEUW_ROUTE_EINDSEIN = '[mst] SetNieuwRouteEindSein';
24
- export const RESET_NIEUWE_ROUTE = '[mst] ResetNieuweRoute';
25
- export const SET_SIGNALERINGSBEELD_INFO_DTOS = '[mst] SetSignaleringsbeeldInfoDtos';
26
- export const UPDATE_SIGNALERINGSBEELD_INFO_DTOS = '[mst] UpdateSignaleringsbeeldInfoDtos';
27
- export const SET_VISIBLE_SIGNALERINGSBEELD_INFO_DTOS = '[mst] SetVisibleSignaleringsbeeldInfoDtos';
28
- export const UPDATE_VISIBLE_SIGNALERINGSBEELD_INFO_DTOS = '[mst] UpdateVisibleSignaleringsbeeldInfoDtos';
29
- export const SET_IA_VERSIE = '[mst] SetIaVersie';
30
- export const SET_ALGEMENE_RIT_INFO = '[mst] SetAlgemeneRitInfo';
31
- export const SET_SVG_INFOS = '[mst] SET_SVG_INFOS';
32
- export const SET_DEBUG = '[mst] SET_DEBUG';
33
- export const SET_ONGEPLANDE_ACTIES_BEPAALD = '[mst] SET_ONGEPLANDE_ACTIES_BEPAALD';
34
- export const BEWEGING_INVOEGEN = '[mst] BewegingInvoegen';
35
- export const SHOW_PROGRESS_INDICATOR = '[progress] Show the progress indicator';
36
- export const CLEAR_PROGRESS_INDICATOR = '[progress] Clear the progress indicator';
37
- export const KEUR_ALLE_ACTIES_GOED = '[progress] KeurAlleActiesGoed';
38
- export const UPDATE_RIT = '[progress] UpdateRit';
39
- export const SET_BASE_URL = '[progress] Set BaseUrl';
40
- export const NAVIGEER_BUITEN_RIT = '[mst] NavigeerBuitenRit';
41
- export const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignaleringsbeeldInfo';
42
- export const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
43
- export const FOCUS_OP_IDS = '[mst] focusOpIds';
44
- export const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
45
- export const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
46
- export const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
47
- export const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
48
- export const DeleteGeplandeActie = createAction(DELETE_GEPLANDE_ACTIES, (actie, puics) => ({ actie, puics }));
49
- export const AddGeplandeActie = createAction(ADD_GEPLANDE_ACTIES, (actie, puics) => ({ actie, puics }));
50
- export const SetActieOpRitSelectieIds = createAction(SET_ACTIEOPRIT_SELECTIE_IDS, (ids) => ({ ids }));
51
- export const SetOngeplandeActieSelectieIds = createAction(SET_ONGEPLANDEACTIE_SELECTIE_IDS, (ids) => ({ ids }));
52
- export const DeleteOngeplandeActieSelectieId = createAction(DELETE_ONGEPLANDE_ACTIE_SELECTIE_ID, (id) => ({ id }));
53
- export const AddOngeplandeActie = createAction(ADD_ONGEPLANDE_ACTIE, (ongeplandeActie) => ({ ongeplandeActie }));
54
- export const DeleteOngeplandeActie = createAction(DELETE_ONGEPLANDE_ACTIE, (ongeplandeActie) => ({ ongeplandeActie }));
55
- export const BepaalOngeplandeActies = createAction(BEPAAL_ONGEPLANDE_ACTIES, (ongeplandeActies) => ({ ongeplandeActies }));
56
- export const SetOngeplandeActies = createAction(SET_ONGEPLANDE_ACTIES, (ongeplandeActiesMap) => ({ ongeplandeActiesMap }));
57
- export const SetGebrokenRitSelectieIds = createAction(SET_GEBROKENRIT_SELECTIE_IDS, (ids) => ({ ids }));
58
- export const SetAlternatievenSelectieIds = createAction(SET_ALTERNATIEVEN_SELECTIE_IDS, (ids) => ({ ids }));
59
- export const SetBeginSeinSelectieIds = createAction(SET_BEGINSEIN_SELECTIE_IDS, (ids) => ({ ids }));
60
- export const SetEindSeinSelectieIds = createAction(SET_EINDSEIN_SELECTIE_IDS, (ids) => ({ ids }));
61
- export const SetAlternatievenClickableIds = createAction(SET_ALTERNATIEVEN_CLICKABLE_IDS, (ids) => ({ ids }));
62
- export const SetEindSeinenClickableIds = createAction(SET_EINDSEINEN_CLICKABLE_IDS, (ids) => ({ ids }));
63
- export const SetConnectorenClickableIds = createAction(SET_CONNECTOREN_CLICKABLE_IDS, (ids) => ({ ids }));
64
- export const SetBeginSeinRightClickableIds = createAction(SET_BEGINSEIN_RIGHTCLICKABLE_IDS, (ids) => ({ ids }));
65
- export const SetNieuwRouteBeginSein = createAction(SET_NIEUW_ROUTE_BEGINSEIN, (startSeinOpRitdeel) => ({ startSeinOpRitdeel }));
66
- export const SetNieuwRouteEindSein = createAction(SET_NIEUW_ROUTE_EINDSEIN, (combinatieVoorEindsein) => ({ combinatieVoorEindsein }));
67
- export const ResetNieuweRoute = createAction(RESET_NIEUWE_ROUTE);
68
- export const SetSignaleringsbeeldInfoDtos = createAction(SET_SIGNALERINGSBEELD_INFO_DTOS, (dtos, iaversieinfo, treinpad, paginationSize, ritGewijzigdToegestaan) => ({ dtos, iaversieinfo, treinpad, paginationSize, ritGewijzigdToegestaan }));
69
- export const UpdateSignaleringsbeeldInfoDtos = createAction(UPDATE_SIGNALERINGSBEELD_INFO_DTOS, (dtos) => ({ dtos }));
70
- export const SetVisibleSignaleringsbeeldInfoDtos = createAction(SET_VISIBLE_SIGNALERINGSBEELD_INFO_DTOS, (dtos) => ({ dtos }));
71
- export const UpdateVisibleSignaleringsbeeldInfoDtos = createAction(UPDATE_VISIBLE_SIGNALERINGSBEELD_INFO_DTOS, (dtos) => ({ dtos }));
72
- export const SetIaVersie = createAction(SET_IA_VERSIE, (iaVersie) => ({ iaVersie }));
73
- export const SetSvgInfos = createAction(SET_SVG_INFOS, (svgInfos) => ({ svgInfos }));
74
- export const SetDebug = createAction(SET_DEBUG, (debug) => ({ debug }));
75
- export const SetAlgemeneRitInfo = createAction(SET_ALGEMENE_RIT_INFO, (algemeneRitInfoDto) => ({ algemeneRitInfoDto }));
76
- export const SetOngeplandeActiesBepaald = createAction(SET_ONGEPLANDE_ACTIES_BEPAALD, (bepaald) => ({ bepaald }));
77
- export const ShowProgress = createAction(SHOW_PROGRESS_INDICATOR);
78
- export const ClearProgress = createAction(CLEAR_PROGRESS_INDICATOR);
79
- export const BewegingInvoegen = createAction(BEWEGING_INVOEGEN, (startSeinOpRitdeel, puicNaarEindSeinCombinatie) => ({ startSeinOpRitdeel, puicNaarEindSeinCombinatie }));
80
- export const KeurAlleActiesGoed = createAction(KEUR_ALLE_ACTIES_GOED, (bewegingen, ongeplandeActies) => ({ bewegingen, ongeplandeActies }));
81
- export const UpdateRit = createAction(UPDATE_RIT, (bewegingen) => ({ bewegingen }));
82
- export const SetBaseUrl = createAction(SET_BASE_URL, (baseUrl) => ({ baseUrl }));
83
- export const laadEnVerwerkSignaleringsbeeldInfo = createAction(LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO, (rit, paginationSize, pplgs, ritGewijzigdToegestaan) => ({ rit, paginationSize, pplgs, ritGewijzigdToegestaan }));
84
- export const navigeerBuitenRit = createAction(NAVIGEER_BUITEN_RIT, (randPuic) => ({ randPuic }));
85
- export const focusOpRitdeel = createAction(FOCUS_OP_RITDEEL, (ritdeel, paginationSize, iaVersieInfo) => ({ ritdeel, paginationSize, iaVersieInfo }));
86
- export const focusOpIds = createAction(FOCUS_OP_IDS, (puics) => ({ puics }));
87
- export const bepaalSbInfos = createAction(BEPAAL_SB_INFOS, (rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize) => ({ rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize }));
88
- // do not export return value
89
- const mstActions = union({
90
- setEditable,
91
- SetRitSelectieIds,
92
- SetGeplandeActies,
93
- DeleteGeplandeActie,
94
- AddGeplandeActie,
95
- SetActieOpRitSelectieIds,
96
- SetOngeplandeActieSelectieIds,
97
- DeleteOngeplandeActieSelectieId,
98
- AddOngeplandeActie,
99
- DeleteOngeplandeActie,
100
- BepaalOngeplandeActies,
101
- SetOngeplandeActies,
102
- SetGebrokenRitSelectieIds,
103
- SetAlternatievenSelectieIds,
104
- SetBeginSeinSelectieIds,
105
- SetEindSeinSelectieIds,
106
- SetAlternatievenClickableIds,
107
- SetEindSeinenClickableIds,
108
- SetBeginSeinRightClickableIds,
109
- SetNieuwRouteBeginSein,
110
- SetNieuwRouteEindSein,
111
- ResetNieuweRoute,
112
- SetSignaleringsbeeldInfoDtos,
113
- UpdateSignaleringsbeeldInfoDtos,
114
- SetVisibleSignaleringsbeeldInfoDtos,
115
- UpdateVisibleSignaleringsbeeldInfoDtos,
116
- SetIaVersie,
117
- SetSvgInfos,
118
- SetDebug,
119
- SetAlgemeneRitInfo,
120
- SetOngeplandeActiesBepaald,
121
- ShowProgress,
122
- ClearProgress,
123
- BewegingInvoegen,
124
- KeurAlleActiesGoed,
125
- UpdateRit
126
- });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9hY3Rpb25zL2FjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFVbEQsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLG1CQUFtQixDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLHlCQUF5QixDQUFDO0FBQzlELE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHNCQUFzQixHQUFHLDRCQUE0QixDQUFDO0FBQ25FLE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLHlCQUF5QixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLGdDQUFnQyxDQUFDO0FBQzVFLE1BQU0sQ0FBQyxNQUFNLGdDQUFnQyxHQUFHLHFDQUFxQyxDQUFDO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLG1DQUFtQyxHQUFHLHVDQUF1QyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLDBCQUEwQixDQUFDO0FBQy9ELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLDZCQUE2QixDQUFDO0FBQ3JFLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLDRCQUE0QixHQUFHLGlDQUFpQyxDQUFDO0FBQzlFLE1BQU0sQ0FBQyxNQUFNLDhCQUE4QixHQUFHLG1DQUFtQyxDQUFDO0FBQ2xGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFN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QUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxzQkFBc0IsRUFBRSxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7QUFFOVAsNkJBQTZCO0FBQzdCLE1BQU0sVUFBVSxHQUFHLEtBQUssQ0FBQztJQUNyQixXQUFXO0lBQ1gsaUJBQWlCO0lBQ2pCLGlCQUFpQjtJQUNqQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLHdCQUF3QjtJQUN4Qiw2QkFBNkI7SUFDN0IsK0JBQStCO0lBQy9CLGtCQUFrQjtJQUNsQixxQkFBcUI7SUFDckIsc0JBQXNCO0lBQ3RCLG1CQUFtQjtJQUNuQix5QkFBeUI7SUFDekIsMkJBQTJCO0lBQzNCLHVCQUF1QjtJQUN2QixzQkFBc0I7SUFDdEIsNEJBQTRCO0lBQzVCLHlCQUF5QjtJQUN6Qiw2QkFBNkI7SUFDN0Isc0JBQXNCO0lBQ3RCLHFCQUFxQjtJQUNyQixnQkFBZ0I7SUFDaEIsNEJBQTRCO0lBQzVCLCtCQUErQjtJQUMvQixtQ0FBbUM7SUFDbkMsc0NBQXNDO0lBQ3RDLFdBQVc7SUFDWCxXQUFXO0lBQ1gsUUFBUTtJQUNSLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsWUFBWTtJQUNaLGFBQWE7SUFDYixnQkFBZ0I7SUFDaEIsa0JBQWtCO0lBQ2xCLFNBQVM7Q0FDWixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgY3JlYXRlQWN0aW9uLCB1bmlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFsZ2VtZW5lUml0RHRvIH0gZnJvbSAnLi4vLi4vLi4vZ2VuZXJhdGVkL29wZW5hcGknO1xuaW1wb3J0IHsgT25nZXBsYW5kZUFjdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvb25nZXBsYW5kZS1hY3RpZSc7XG5pbXBvcnQgeyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIH0gZnJvbSAnLi4vLi4vbW9kZWwvcmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZSc7XG5pbXBvcnQgeyBSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQgeyBTZWluT3BSaXRkZWVsIH0gZnJvbSAnLi4vLi4vbW9kZWwvc2Vpbi1vcC1yaXRkZWVsJztcbmltcG9ydCB7IEFjdGllLCBCZXdlZ2luZywgSW5mcmFNb2RlbCwgUml0IH0gZnJvbSAnLi4vLi4vb3B0aW1vJztcbmltcG9ydCB7IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG8gfSBmcm9tICcuLi8uLi9yZXNvdXJjZXMvc2lnbmFsZXJpbmdzYmVlbGRpbmZvLnJlc291cmNlJztcbmltcG9ydCB7IEFycmF5TXVsdGltYXAgfSBmcm9tICcuLi8uLi91dGlsL211bHRpLW1hcCc7XG5cbmV4cG9ydCBjb25zdCBTRVRfRURJVEFCTEUgPSAnW21zdF0gU2V0RWRpdGFibGUnO1xuZXhwb3J0IGNvbnN0IFNFVF9SSVRfU0VMRUNUSUVfSURTID0gJ1ttc3RdIFNldFJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIFNldEdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBERUxFVEVfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIERlbGV0ZUdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBBRERfR0VQTEFOREVfQUNUSUVTID0gJ1ttc3RdIEFkZEdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfQUNUSUVPUFJJVF9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0QWN0aWVPcFJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERUFDVElFX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcyc7XG5leHBvcnQgY29uc3QgREVMRVRFX09OR0VQTEFOREVfQUNUSUVfU0VMRUNUSUVfSUQgPSAnW21zdF0gRGVsZXRlT25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZCc7XG5leHBvcnQgY29uc3QgQUREX09OR0VQTEFOREVfQUNUSUUgPSAnW21zdF0gQWRkT25nZXBsYW5kZUFjdGllJztcbmV4cG9ydCBjb25zdCBERUxFVEVfT05HRVBMQU5ERV9BQ1RJRSA9ICdbbXN0XSBEZWxldGVPbmdlcGxhbmRlQWN0aWUnO1xuZXhwb3J0IGNvbnN0IEJFUEFBTF9PTkdFUExBTkRFX0FDVElFUyA9ICdbbXN0XSBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERV9BQ1RJRVMgPSAnW21zdF0gU2V0T25nZXBsYW5kZUFjdGllcyc7XG5leHBvcnQgY29uc3QgU0VUX0dFQlJPS0VOUklUX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQUxURVJOQVRJRVZFTl9TRUxFQ1RJRV9JRFMgPSAnW21zdF0gU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQkVHSU5TRUlOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0VJTkRTRUlOX1NFTEVDVElFX0lEUyA9ICdbbXN0XSBTZXRFaW5kU2VpblNlbGVjdGllSWRzJztcbmV4cG9ydCBjb25zdCBTRVRfQUxURVJOQVRJRVZFTl9DTElDS0FCTEVfSURTID0gJ1ttc3RdIFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9FSU5EU0VJTkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0NPTk5FQ1RPUkVOX0NMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0Q29ubmVjdG9yZW5saWNrYWJsZUlkcyc7XG5leHBvcnQgY29uc3QgU0VUX0JFR0lOU0VJTl9SSUdIVENMSUNLQUJMRV9JRFMgPSAnW21zdF0gU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMnO1xuZXhwb3J0IGNvbnN0IFNFVF9OSUVVV19ST1VURV9CRUdJTlNFSU4gPSAnW21zdF0gU2V0TmlldXdSb3V0ZUJlZ2luU2Vpbic7XG5leHBvcnQgY29uc3QgU0VUX05JRVVXX1JPVVRFX0VJTkRTRUlOID0gJ1ttc3RdIFNldE5pZXV3Um91dGVFaW5kU2Vpbic7XG5leHBvcnQgY29uc3QgUkVTRVRfTklFVVdFX1JPVVRFID0gJ1ttc3RdIFJlc2V0TmlldXdlUm91dGUnO1xuZXhwb3J0IGNvbnN0IFNFVF9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MgPSAnW21zdF0gU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zJztcbmV4cG9ydCBjb25zdCBTRVRfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MgPSAnW21zdF0gU2V0VmlzaWJsZVNpZ25hbGVyaW5nc2JlZWxkSW5mb0R0b3MnO1xuZXhwb3J0IGNvbnN0IFVQREFURV9WSVNJQkxFX1NJR05BTEVSSU5HU0JFRUxEX0lORk9fRFRPUyA9ICdbbXN0XSBVcGRhdGVWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyc7XG5leHBvcnQgY29uc3QgU0VUX0lBX1ZFUlNJRSA9ICdbbXN0XSBTZXRJYVZlcnNpZSc7XG5leHBvcnQgY29uc3QgU0VUX0FMR0VNRU5FX1JJVF9JTkZPID0gJ1ttc3RdIFNldEFsZ2VtZW5lUml0SW5mbyc7XG5leHBvcnQgY29uc3QgU0VUX1NWR19JTkZPUyA9ICdbbXN0XSBTRVRfU1ZHX0lORk9TJztcbmV4cG9ydCBjb25zdCBTRVRfREVCVUcgPSAnW21zdF0gU0VUX0RFQlVHJztcbmV4cG9ydCBjb25zdCBTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCA9ICdbbXN0XSBTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCc7XG5leHBvcnQgY29uc3QgQkVXRUdJTkdfSU5WT0VHRU4gPSAnW21zdF0gQmV3ZWdpbmdJbnZvZWdlbic7XG5leHBvcnQgY29uc3QgU0hPV19QUk9HUkVTU19JTkRJQ0FUT1IgPSAnW3Byb2dyZXNzXSBTaG93IHRoZSBwcm9ncmVzcyBpbmRpY2F0b3InO1xuZXhwb3J0IGNvbnN0IENMRUFSX1BST0dSRVNTX0lORElDQVRPUiA9ICdbcHJvZ3Jlc3NdIENsZWFyIHRoZSBwcm9ncmVzcyBpbmRpY2F0b3InO1xuZXhwb3J0IGNvbnN0IEtFVVJfQUxMRV9BQ1RJRVNfR09FRCA9ICdbcHJvZ3Jlc3NdIEtldXJBbGxlQWN0aWVzR29lZCc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1JJVCA9ICdbcHJvZ3Jlc3NdIFVwZGF0ZVJpdCc7XG5leHBvcnQgY29uc3QgU0VUX0JBU0VfVVJMID0gJ1twcm9ncmVzc10gU2V0IEJhc2VVcmwnO1xuZXhwb3J0IGNvbnN0IE5BVklHRUVSX0JVSVRFTl9SSVQgPSAnW21zdF0gTmF2aWdlZXJCdWl0ZW5SaXQnO1xuZXhwb3J0IGNvbnN0IExBQURfRU5fVkVSV0VSS19TSUdOQUxFUklOR1NCRUVMRF9JTkZPID0gJ1ttc3RdIGxhYWRFblZlcndlcmtTaWduYWxlcmluZ3NiZWVsZEluZm8nO1xuXG5leHBvcnQgY29uc3QgRk9DVVNfT1BfUklUREVFTCA9ICdbbXN0XSBmb2N1c09wUml0ZGVlbCc7XG5leHBvcnQgY29uc3QgRk9DVVNfT1BfSURTID0gJ1ttc3RdIGZvY3VzT3BJZHMnO1xuZXhwb3J0IGNvbnN0IEJFUEFBTF9TQl9JTkZPUyA9ICdbbXN0XSBiZXBhYWxTYkluZm9zJztcblxuZXhwb3J0IGNvbnN0IHNldEVkaXRhYmxlID0gY3JlYXRlQWN0aW9uKFNFVF9FRElUQUJMRSwgKGVkaXRhYmxlOiBib29sZWFuKSA9PiAoeyBlZGl0YWJsZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRSaXRTZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfUklUX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRHZXBsYW5kZUFjdGllcyA9IGNyZWF0ZUFjdGlvbihTRVRfR0VQTEFOREVfQUNUSUVTLFxuICAgIChnZXBsYW5kZUFjdGllc01hcDogQXJyYXlNdWx0aW1hcDxBY3RpZSwgc3RyaW5nPikgPT4gKHsgZ2VwbGFuZGVBY3RpZXNNYXAgfSkpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlR2VwbGFuZGVBY3RpZSA9IGNyZWF0ZUFjdGlvbihERUxFVEVfR0VQTEFOREVfQUNUSUVTLCAoYWN0aWU6IEFjdGllLCBwdWljczogc3RyaW5nW10pID0+ICh7IGFjdGllLCBwdWljcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBBZGRHZXBsYW5kZUFjdGllID0gY3JlYXRlQWN0aW9uKEFERF9HRVBMQU5ERV9BQ1RJRVMsIChhY3RpZTogQWN0aWUsIHB1aWNzOiBzdHJpbmdbXSkgPT4gKHsgYWN0aWUsIHB1aWNzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQUNUSUVPUFJJVF9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0T25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX09OR0VQTEFOREVBQ1RJRV9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlT25nZXBsYW5kZUFjdGllU2VsZWN0aWVJZCA9IGNyZWF0ZUFjdGlvbihERUxFVEVfT05HRVBMQU5ERV9BQ1RJRV9TRUxFQ1RJRV9JRCwgKGlkOiBzdHJpbmcpID0+ICh7IGlkIH0pKTtcblxuZXhwb3J0IGNvbnN0IEFkZE9uZ2VwbGFuZGVBY3RpZSA9IGNyZWF0ZUFjdGlvbihBRERfT05HRVBMQU5ERV9BQ1RJRSwgKG9uZ2VwbGFuZGVBY3RpZTogT25nZXBsYW5kZUFjdGllKSA9PiAoeyBvbmdlcGxhbmRlQWN0aWUgfSkpO1xuXG5leHBvcnQgY29uc3QgRGVsZXRlT25nZXBsYW5kZUFjdGllID0gY3JlYXRlQWN0aW9uKERFTEVURV9PTkdFUExBTkRFX0FDVElFLCAob25nZXBsYW5kZUFjdGllOiBPbmdlcGxhbmRlQWN0aWUpID0+ICh7IG9uZ2VwbGFuZGVBY3RpZSB9KSk7XG5cbmV4cG9ydCBjb25zdCBCZXBhYWxPbmdlcGxhbmRlQWN0aWVzID0gY3JlYXRlQWN0aW9uKEJFUEFBTF9PTkdFUExBTkRFX0FDVElFUywgKG9uZ2VwbGFuZGVBY3RpZXM6IGFueVtdKSA9PiAoeyBvbmdlcGxhbmRlQWN0aWVzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE9uZ2VwbGFuZGVBY3RpZXMgPSBjcmVhdGVBY3Rpb24oU0VUX09OR0VQTEFOREVfQUNUSUVTLFxuICAgIChvbmdlcGxhbmRlQWN0aWVzTWFwOiBBcnJheU11bHRpbWFwPHN0cmluZywgT25nZXBsYW5kZUFjdGllPikgPT4gKHsgb25nZXBsYW5kZUFjdGllc01hcCB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9HRUJST0tFTlJJVF9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9BTFRFUk5BVElFVkVOX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRCZWdpblNlaW5TZWxlY3RpZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQkVHSU5TRUlOX1NFTEVDVElFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRFaW5kU2VpblNlbGVjdGllSWRzID0gY3JlYXRlQWN0aW9uKFNFVF9FSU5EU0VJTl9TRUxFQ1RJRV9JRFMsIChpZHM6IHN0cmluZ1tdKSA9PiAoeyBpZHMgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQUxURVJOQVRJRVZFTl9DTElDS0FCTEVfSURTLCAoaWRzOiBzdHJpbmdbXSkgPT4gKHsgaWRzIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMgPSBjcmVhdGVBY3Rpb24oU0VUX0VJTkRTRUlORU5fQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRDb25uZWN0b3JlbkNsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQ09OTkVDVE9SRU5fQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRCZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcyA9IGNyZWF0ZUFjdGlvbihTRVRfQkVHSU5TRUlOX1JJR0hUQ0xJQ0tBQkxFX0lEUywgKGlkczogc3RyaW5nW10pID0+ICh7IGlkcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXROaWV1d1JvdXRlQmVnaW5TZWluID0gY3JlYXRlQWN0aW9uKFNFVF9OSUVVV19ST1VURV9CRUdJTlNFSU4sXG4gICAgKHN0YXJ0U2Vpbk9wUml0ZGVlbDogU2Vpbk9wUml0ZGVlbCkgPT4gKHsgc3RhcnRTZWluT3BSaXRkZWVsIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldE5pZXV3Um91dGVFaW5kU2VpbiA9IGNyZWF0ZUFjdGlvbihTRVRfTklFVVdfUk9VVEVfRUlORFNFSU4sXG4gICAgKGNvbWJpbmF0aWVWb29yRWluZHNlaW46IFJpandlZ3BsYW5SaWp3ZWdEd2FuZ0NvbWJpbmF0aWUpID0+ICh7IGNvbWJpbmF0aWVWb29yRWluZHNlaW4gfSkpO1xuXG5leHBvcnQgY29uc3QgUmVzZXROaWV1d2VSb3V0ZSA9IGNyZWF0ZUFjdGlvbihSRVNFVF9OSUVVV0VfUk9VVEUpO1xuXG5leHBvcnQgY29uc3QgU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihTRVRfU0lHTkFMRVJJTkdTQkVFTERfSU5GT19EVE9TLFxuICAgIChkdG9zOiBJU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvW10sIGlhdmVyc2llaW5mbzogYW55LCB0cmVpbnBhZDogYW55LCBwYWdpbmF0aW9uU2l6ZTogbnVtYmVyLCByaXRHZXdpanppZ2RUb2VnZXN0YWFuOiBib29sZWFuKSA9PlxuICAgICAgICAoeyBkdG9zLCBpYXZlcnNpZWluZm8sIHRyZWlucGFkLCBwYWdpbmF0aW9uU2l6ZSwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbiB9KSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zID0gY3JlYXRlQWN0aW9uKFVQREFURV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSkgPT4gKHsgZHRvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihTRVRfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSkgPT4gKHsgZHRvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBVcGRhdGVWaXNpYmxlU2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyA9IGNyZWF0ZUFjdGlvbihVUERBVEVfVklTSUJMRV9TSUdOQUxFUklOR1NCRUVMRF9JTkZPX0RUT1MsXG4gICAgKGR0b3M6IElTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9bXSkgPT4gKHsgZHRvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRJYVZlcnNpZSA9IGNyZWF0ZUFjdGlvbihTRVRfSUFfVkVSU0lFLCAoaWFWZXJzaWU6IEluZnJhTW9kZWwpID0+ICh7IGlhVmVyc2llIH0pKTtcblxuZXhwb3J0IGNvbnN0IFNldFN2Z0luZm9zID0gY3JlYXRlQWN0aW9uKFNFVF9TVkdfSU5GT1MsIChzdmdJbmZvczogU3ZnSW5mb1tdKSA9PiAoeyBzdmdJbmZvcyB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXREZWJ1ZyA9IGNyZWF0ZUFjdGlvbihTRVRfREVCVUcsIChkZWJ1ZzogYm9vbGVhbikgPT4gKHsgZGVidWcgfSkpO1xuXG5leHBvcnQgY29uc3QgU2V0QWxnZW1lbmVSaXRJbmZvID0gY3JlYXRlQWN0aW9uKFNFVF9BTEdFTUVORV9SSVRfSU5GTywgKGFsZ2VtZW5lUml0SW5mb0R0bzogQWxnZW1lbmVSaXREdG8pID0+ICh7IGFsZ2VtZW5lUml0SW5mb0R0byB9KSk7XG5cbmV4cG9ydCBjb25zdCBTZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGNyZWF0ZUFjdGlvbihTRVRfT05HRVBMQU5ERV9BQ1RJRVNfQkVQQUFMRCwgKGJlcGFhbGQ6IGJvb2xlYW4pID0+ICh7IGJlcGFhbGQgfSkpO1xuXG5leHBvcnQgY29uc3QgU2hvd1Byb2dyZXNzID0gY3JlYXRlQWN0aW9uKFNIT1dfUFJPR1JFU1NfSU5ESUNBVE9SKTtcbmV4cG9ydCBjb25zdCBDbGVhclByb2dyZXNzID0gY3JlYXRlQWN0aW9uKENMRUFSX1BST0dSRVNTX0lORElDQVRPUik7XG5leHBvcnQgY29uc3QgQmV3ZWdpbmdJbnZvZWdlbiA9IGNyZWF0ZUFjdGlvbihCRVdFR0lOR19JTlZPRUdFTixcbiAgICAoc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsLCBwdWljTmFhckVpbmRTZWluQ29tYmluYXRpZTogTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4pID0+XG4gICAgICAgICh7IHN0YXJ0U2Vpbk9wUml0ZGVlbCwgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgfSkpO1xuXG5leHBvcnQgY29uc3QgS2V1ckFsbGVBY3RpZXNHb2VkID0gY3JlYXRlQWN0aW9uKEtFVVJfQUxMRV9BQ1RJRVNfR09FRCwgKGJld2VnaW5nZW46IEJld2VnaW5nW10sIG9uZ2VwbGFuZGVBY3RpZXM6IEFjdGllW10pID0+ICh7IGJld2VnaW5nZW4sIG9uZ2VwbGFuZGVBY3RpZXMgfSkpO1xuZXhwb3J0IGNvbnN0IFVwZGF0ZVJpdCA9IGNyZWF0ZUFjdGlvbihVUERBVEVfUklULCAoYmV3ZWdpbmdlbjogQmV3ZWdpbmdbXSkgPT4gKHsgYmV3ZWdpbmdlbiB9KSk7XG5leHBvcnQgY29uc3QgU2V0QmFzZVVybCA9IGNyZWF0ZUFjdGlvbihTRVRfQkFTRV9VUkwsIChiYXNlVXJsOiBzdHJpbmcpID0+ICh7IGJhc2VVcmwgfSkpO1xuXG5leHBvcnQgY29uc3QgbGFhZEVuVmVyd2Vya1NpZ25hbGVyaW5nc2JlZWxkSW5mbyA9IGNyZWF0ZUFjdGlvbihMQUFEX0VOX1ZFUldFUktfU0lHTkFMRVJJTkdTQkVFTERfSU5GTyxcbiAgICAocml0OiBSaXQsIHBhZ2luYXRpb25TaXplOiBudW1iZXIsIHBwbGdzOiBzdHJpbmdbXSwgcml0R2V3aWp6aWdkVG9lZ2VzdGFhbjogYm9vbGVhbikgPT4gKHsgcml0LCBwYWdpbmF0aW9uU2l6ZSwgcHBsZ3MsIHJpdEdld2lqemlnZFRvZWdlc3RhYW4gfSkpO1xuZXhwb3J0IGNvbnN0IG5hdmlnZWVyQnVpdGVuUml0ID0gY3JlYXRlQWN0aW9uKE5BVklHRUVSX0JVSVRFTl9SSVQsIChyYW5kUHVpYzogc3RyaW5nKSA9PiAoeyByYW5kUHVpYyB9KSk7XG5cbmV4cG9ydCBjb25zdCBmb2N1c09wUml0ZGVlbCA9IGNyZWF0ZUFjdGlvbihGT0NVU19PUF9SSVRERUVMLCAocml0ZGVlbDogUml0ZGVlbCwgcGFnaW5hdGlvblNpemU6IG51bWJlciwgaWFWZXJzaWVJbmZvOiBJbmZyYU1vZGVsKSA9PiAoeyByaXRkZWVsLCBwYWdpbmF0aW9uU2l6ZSwgaWFWZXJzaWVJbmZvIH0pIClcbmV4cG9ydCBjb25zdCBmb2N1c09wSWRzID0gY3JlYXRlQWN0aW9uKEZPQ1VTX09QX0lEUywgKHB1aWNzOiBzdHJpbmdbXSkgPT4gKHsgcHVpY3MgfSkpO1xuZXhwb3J0IGNvbnN0IGJlcGFhbFNiSW5mb3MgPSBjcmVhdGVBY3Rpb24oQkVQQUFMX1NCX0lORk9TLCAocml0OiBSaXQsIG9uZ2VwbGFuZGVBY3RpZXM6IEFjdGllW10sIGlhVmVyc2llOiBzdHJpbmcsIHJpdEdld2lqemlnZFRvZWdlc3RhYW46IGJvb2xlYW4sIHBhZ2luYXRpb25TaXplOiBudW1iZXIpID0+ICh7IHJpdCwgb25nZXBsYW5kZUFjdGllcywgaWFWZXJzaWUsIHJpdEdld2lqemlnZFRvZWdlc3RhYW4sIHBhZ2luYXRpb25TaXplIH0pKTtcblxuLy8gZG8gbm90IGV4cG9ydCByZXR1cm4gdmFsdWVcbmNvbnN0IG1zdEFjdGlvbnMgPSB1bmlvbih7XG4gICAgc2V0RWRpdGFibGUsXG4gICAgU2V0Uml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgRGVsZXRlR2VwbGFuZGVBY3RpZSxcbiAgICBBZGRHZXBsYW5kZUFjdGllLFxuICAgIFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyxcbiAgICBTZXRPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkcyxcbiAgICBEZWxldGVPbmdlcGxhbmRlQWN0aWVTZWxlY3RpZUlkLFxuICAgIEFkZE9uZ2VwbGFuZGVBY3RpZSxcbiAgICBEZWxldGVPbmdlcGxhbmRlQWN0aWUsXG4gICAgQmVwYWFsT25nZXBsYW5kZUFjdGllcyxcbiAgICBTZXRPbmdlcGxhbmRlQWN0aWVzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzLFxuICAgIFNldEJlZ2luU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEVpbmRTZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpbmVuQ2xpY2thYmxlSWRzLFxuICAgIFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzLFxuICAgIFNldE5pZXV3Um91dGVCZWdpblNlaW4sXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFJlc2V0TmlldXdlUm91dGUsXG4gICAgU2V0U2lnbmFsZXJpbmdzYmVlbGRJbmZvRHRvcyxcbiAgICBVcGRhdGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFNldFZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFVwZGF0ZVZpc2libGVTaWduYWxlcmluZ3NiZWVsZEluZm9EdG9zLFxuICAgIFNldElhVmVyc2llLFxuICAgIFNldFN2Z0luZm9zLFxuICAgIFNldERlYnVnLFxuICAgIFNldEFsZ2VtZW5lUml0SW5mbyxcbiAgICBTZXRPbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCxcbiAgICBTaG93UHJvZ3Jlc3MsXG4gICAgQ2xlYXJQcm9ncmVzcyxcbiAgICBCZXdlZ2luZ0ludm9lZ2VuLFxuICAgIEtldXJBbGxlQWN0aWVzR29lZCxcbiAgICBVcGRhdGVSaXRcbn0pO1xuXG4vLyBleHBvcnQgb25seSB0eXBlXG5leHBvcnQgdHlwZSBNc3RBY3Rpb25zVW5pb24gPSB0eXBlb2YgbXN0QWN0aW9ucztcblxuXG5cbiJdfQ==
@@ -1,45 +0,0 @@
1
- import { createAction, union } from '@ngrx/store';
2
- export const SET_RIT_DELEN = '[mst] SetRitDelen';
3
- export const SET_RIT_DELEN_AFTER_UPDATE = '[mst] SetRitDelenAfterUpdate';
4
- export const UPDATE_RIT_DELEN = '[mst] UpdateRitDelen';
5
- export const TOGGLE_RITDEEL_ZICHTBAAR = '[mst] ToggleRitdeelZichtbaar';
6
- export const SET_RITDEEL_ZICHTBAAR = '[mst] ZetRitdeelZichtbaar';
7
- export const SET_ZICHTBAARHEID_ALLE_RITDELEN = '[mst] SetZichtbaarheidAlleRitdelen';
8
- export const TOGGLE_ZICHTBAARHEID_VOOR_BEWEGINGEN = '[mst] ToggleZichtbaarheidVoorBewegingen';
9
- export const SET_ALTERNATIEVE_RIT_DELEN = '[mst] SetAlternatieveRitDelen';
10
- export const RITDEEL_INVOEGEN = '[mst] RitdeelInvoegen';
11
- export const DELETE_RITDEEL = '[mst] DeleteRitdeel';
12
- export const DELETE_RITDEEL_ACTIE = '[mst] DeleteRitdeelActie';
13
- export const ADD_RITDEEL_ACTIE = '[mst] AddRitdeelActie';
14
- export const NAVIGEER = '[mst] Navigeer';
15
- export const NAVIGEER_VANAF = '[mst] NavigeerVanaf';
16
- export const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize) => ({ ritDelen, paginationSize }));
17
- export const setRitdelenAfterUpdate = createAction(SET_RIT_DELEN_AFTER_UPDATE, (ritDelen) => ({ ritDelen }));
18
- export const navigeer = createAction(NAVIGEER, (stapSize, paginationSize) => ({ stapSize, paginationSize }));
19
- export const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize, ritdeel) => ({ paginationSize, ritdeel }));
20
- export const updateRitDelen = createAction(UPDATE_RIT_DELEN, (ritDelen) => ({ ritDelen }));
21
- export const toggleRitdeelZichtbaar = createAction(TOGGLE_RITDEEL_ZICHTBAAR, (ritDeel) => ({ ritDeel }));
22
- export const setRitdeelZichtbaar = createAction(SET_RITDEEL_ZICHTBAAR, (ritDeel, zichtbaar) => ({ ritDeel, zichtbaar }));
23
- export const deleteRitdeel = createAction(DELETE_RITDEEL, (ritDeel) => ({ ritDeel }));
24
- export const deleteRitdeelActie = createAction(DELETE_RITDEEL_ACTIE, (ritDeel, actie) => ({ ritDeel, actie }));
25
- export const addRitdeelActie = createAction(ADD_RITDEEL_ACTIE, (ritDeel, actie) => ({ ritDeel, actie }));
26
- export const setZichtbaarheidAlleRitdelen = createAction(SET_ZICHTBAARHEID_ALLE_RITDELEN, (zichtbaarheid) => ({ zichtbaarheid }));
27
- export const toggleZichtbaarheidVoorBewegingen = createAction(TOGGLE_ZICHTBAARHEID_VOOR_BEWEGINGEN, (bewegingIds) => ({ bewegingIds }));
28
- export const setAlternatieveRitDelen = createAction(SET_ALTERNATIEVE_RIT_DELEN, (alternatieveRitDeel) => ({ alternatieveRitDeel }));
29
- export const ritdeelInvoegen = createAction(RITDEEL_INVOEGEN, (nieuweRoute) => ({ nieuweRoute }));
30
- // do not export return value
31
- const ritdeelActions = union({
32
- setRitDelen,
33
- updateRitDelen,
34
- setRitdelenAfterUpdate,
35
- toggleRitdeelZichtbaar,
36
- setRitdeelZichtbaar,
37
- deleteRitdeel,
38
- deleteRitdeelActie,
39
- addRitdeelActie,
40
- setZichtbaarheidAlleRitdelen,
41
- toggleZichtbaarheidVoorBewegingen,
42
- setAlternatieveRitDelen,
43
- ritdeelInvoegen
44
- });
45
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicml0ZGVsZW4uYWN0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9zdGF0ZS9hY3Rpb25zL3JpdGRlbGVuLmFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBRSxLQUFLLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFNaEQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLG1CQUFtQixDQUFDO0FBQ2pELE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLDhCQUE4QixDQUFDO0FBQ3pFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHNCQUFzQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLDhCQUE4QixDQUFDO0FBQ3ZFLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLDJCQUEyQixDQUFDO0FBQ2pFLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLG9DQUFvQyxDQUFDO0FBQ3BGLE1BQU0sQ0FBQyxNQUFNLG9DQUFvQyxHQUFHLHlDQUF5QyxDQUFDO0FBQzlGLE1BQU0sQ0FBQyxNQUFNLDBCQUEwQixHQUFHLCtCQUErQixDQUFDO0FBQzFFLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLHVCQUF1QixDQUFDO0FBQ3hELE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxxQkFBcUIsQ0FBQztBQUNwRCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRywwQkFBMEIsQ0FBQztBQUMvRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyx1QkFBdUIsQ0FBQztBQUN6RCxNQUFNLENBQUMsTUFBTSxRQUFRLEdBQUcsZ0JBQWdCLENBQUM7QUFDekMsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLHFCQUFxQixDQUFDO0FBRXBELE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUMsYUFBYSxFQUNqRCxD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SUFDYixrQkFBa0I7SUFDbEIsZUFBZTtJQUNmLDRCQUE0QjtJQUM1QixpQ0FBaUM7SUFDakMsdUJBQXVCO0lBQ3ZCLGVBQWU7Q0FDbEIsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjcmVhdGVBY3Rpb24sIHVuaW9ufSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge0FsdGVybmF0aWVmUml0RGVlbH0gZnJvbSAnLi4vLi4vbW9kZWwvYWx0ZXJuYXRpZWYtcml0LWRlZWwnO1xuaW1wb3J0IHtOaWV1d2VSb3V0ZX0gZnJvbSAnLi4vLi4vbW9kZWwvbmlldXdlLXJvdXRlJztcbmltcG9ydCB7Uml0ZGVlbH0gZnJvbSAnLi4vLi4vbW9kZWwvcml0ZGVlbCc7XG5pbXBvcnQge0FjdGllfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuXG5leHBvcnQgY29uc3QgU0VUX1JJVF9ERUxFTiA9ICdbbXN0XSBTZXRSaXREZWxlbic7XG5leHBvcnQgY29uc3QgU0VUX1JJVF9ERUxFTl9BRlRFUl9VUERBVEUgPSAnW21zdF0gU2V0Uml0RGVsZW5BZnRlclVwZGF0ZSc7XG5leHBvcnQgY29uc3QgVVBEQVRFX1JJVF9ERUxFTiA9ICdbbXN0XSBVcGRhdGVSaXREZWxlbic7XG5leHBvcnQgY29uc3QgVE9HR0xFX1JJVERFRUxfWklDSFRCQUFSID0gJ1ttc3RdIFRvZ2dsZVJpdGRlZWxaaWNodGJhYXInO1xuZXhwb3J0IGNvbnN0IFNFVF9SSVRERUVMX1pJQ0hUQkFBUiA9ICdbbXN0XSBaZXRSaXRkZWVsWmljaHRiYWFyJztcbmV4cG9ydCBjb25zdCBTRVRfWklDSFRCQUFSSEVJRF9BTExFX1JJVERFTEVOID0gJ1ttc3RdIFNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4nO1xuZXhwb3J0IGNvbnN0IFRPR0dMRV9aSUNIVEJBQVJIRUlEX1ZPT1JfQkVXRUdJTkdFTiA9ICdbbXN0XSBUb2dnbGVaaWNodGJhYXJoZWlkVm9vckJld2VnaW5nZW4nO1xuZXhwb3J0IGNvbnN0IFNFVF9BTFRFUk5BVElFVkVfUklUX0RFTEVOID0gJ1ttc3RdIFNldEFsdGVybmF0aWV2ZVJpdERlbGVuJztcbmV4cG9ydCBjb25zdCBSSVRERUVMX0lOVk9FR0VOID0gJ1ttc3RdIFJpdGRlZWxJbnZvZWdlbic7XG5leHBvcnQgY29uc3QgREVMRVRFX1JJVERFRUwgPSAnW21zdF0gRGVsZXRlUml0ZGVlbCc7XG5leHBvcnQgY29uc3QgREVMRVRFX1JJVERFRUxfQUNUSUUgPSAnW21zdF0gRGVsZXRlUml0ZGVlbEFjdGllJztcbmV4cG9ydCBjb25zdCBBRERfUklUREVFTF9BQ1RJRSA9ICdbbXN0XSBBZGRSaXRkZWVsQWN0aWUnO1xuZXhwb3J0IGNvbnN0IE5BVklHRUVSID0gJ1ttc3RdIE5hdmlnZWVyJztcbmV4cG9ydCBjb25zdCBOQVZJR0VFUl9WQU5BRiA9ICdbbXN0XSBOYXZpZ2VlclZhbmFmJztcblxuZXhwb3J0IGNvbnN0IHNldFJpdERlbGVuID0gY3JlYXRlQWN0aW9uKFNFVF9SSVRfREVMRU4sXG4gICAgKHJpdERlbGVuOiBSaXRkZWVsW10sIHBhZ2luYXRpb25TaXplOiBudW1iZXIpID0+ICh7IHJpdERlbGVuLCBwYWdpbmF0aW9uU2l6ZX0pKTtcbmV4cG9ydCBjb25zdCBzZXRSaXRkZWxlbkFmdGVyVXBkYXRlID0gY3JlYXRlQWN0aW9uKFNFVF9SSVRfREVMRU5fQUZURVJfVVBEQVRFLFxuICAgIChyaXREZWxlbjogUml0ZGVlbFtdKSA9PiAoeyByaXREZWxlbiB9KSk7XG5leHBvcnQgY29uc3QgbmF2aWdlZXIgPSBjcmVhdGVBY3Rpb24oTkFWSUdFRVIsXG4gICAgKHN0YXBTaXplOiBudW1iZXIsIHBhZ2luYXRpb25TaXplOiBudW1iZXIpID0+ICh7IHN0YXBTaXplLCBwYWdpbmF0aW9uU2l6ZSB9KSk7XG5leHBvcnQgY29uc3QgbmF2aWdlZXJWYW5hZiA9IGNyZWF0ZUFjdGlvbihOQVZJR0VFUl9WQU5BRixcbiAgICAocGFnaW5hdGlvblNpemU6IG51bWJlciwgcml0ZGVlbDogUml0ZGVlbCkgPT4gKHsgcGFnaW5hdGlvblNpemUsIHJpdGRlZWwgfSkpO1xuZXhwb3J0IGNvbnN0IHVwZGF0ZVJpdERlbGVuID0gY3JlYXRlQWN0aW9uKFVQREFURV9SSVRfREVMRU4sXG4gICAgKHJpdERlbGVuOiBSaXRkZWVsW10pID0+ICh7IHJpdERlbGVuIH0pKTtcbmV4cG9ydCBjb25zdCB0b2dnbGVSaXRkZWVsWmljaHRiYWFyID0gY3JlYXRlQWN0aW9uKFRPR0dMRV9SSVRERUVMX1pJQ0hUQkFBUiwgKHJpdERlZWw6IFJpdGRlZWwpID0+ICh7IHJpdERlZWwgfSkpO1xuZXhwb3J0IGNvbnN0IHNldFJpdGRlZWxaaWNodGJhYXIgPSBjcmVhdGVBY3Rpb24oU0VUX1JJVERFRUxfWklDSFRCQUFSLFxuICAgIChyaXREZWVsOiBSaXRkZWVsLCB6aWNodGJhYXI6IGJvb2xlYW4pID0+ICh7IHJpdERlZWwsIHppY2h0YmFhciB9KSk7XG5leHBvcnQgY29uc3QgZGVsZXRlUml0ZGVlbCA9IGNyZWF0ZUFjdGlvbihERUxFVEVfUklUREVFTCwgKHJpdERlZWw6IFJpdGRlZWwpID0+ICh7IHJpdERlZWwgfSkpO1xuZXhwb3J0IGNvbnN0IGRlbGV0ZVJpdGRlZWxBY3RpZSA9IGNyZWF0ZUFjdGlvbihERUxFVEVfUklUREVFTF9BQ1RJRSwgKHJpdERlZWw6IFJpdGRlZWwsIGFjdGllOiBBY3RpZSkgPT4gKHsgcml0RGVlbCwgYWN0aWUgfSkpO1xuZXhwb3J0IGNvbnN0IGFkZFJpdGRlZWxBY3RpZSA9IGNyZWF0ZUFjdGlvbihBRERfUklUREVFTF9BQ1RJRSwgKHJpdERlZWw6IFJpdGRlZWwsIGFjdGllOiBBY3RpZSkgPT4gKHsgcml0RGVlbCwgYWN0aWUgfSkpO1xuZXhwb3J0IGNvbnN0IHNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4gPSBjcmVhdGVBY3Rpb24oU0VUX1pJQ0hUQkFBUkhFSURfQUxMRV9SSVRERUxFTixcbiAgICAoemljaHRiYWFyaGVpZDogYm9vbGVhbikgPT4gKHsgemljaHRiYWFyaGVpZCB9KSk7XG5leHBvcnQgY29uc3QgdG9nZ2xlWmljaHRiYWFyaGVpZFZvb3JCZXdlZ2luZ2VuID0gY3JlYXRlQWN0aW9uKFRPR0dMRV9aSUNIVEJBQVJIRUlEX1ZPT1JfQkVXRUdJTkdFTixcbiAgICAoYmV3ZWdpbmdJZHM6IG51bWJlcltdKSA9PiAoeyBiZXdlZ2luZ0lkcyB9KSk7XG5leHBvcnQgY29uc3Qgc2V0QWx0ZXJuYXRpZXZlUml0RGVsZW4gPSBjcmVhdGVBY3Rpb24oU0VUX0FMVEVSTkFUSUVWRV9SSVRfREVMRU4sXG4gICAgKGFsdGVybmF0aWV2ZVJpdERlZWw6IEFsdGVybmF0aWVmUml0RGVlbCkgPT4gKHsgYWx0ZXJuYXRpZXZlUml0RGVlbCB9KSk7XG5leHBvcnQgY29uc3Qgcml0ZGVlbEludm9lZ2VuID0gY3JlYXRlQWN0aW9uKFJJVERFRUxfSU5WT0VHRU4sXG4gICAgKG5pZXV3ZVJvdXRlOiBOaWV1d2VSb3V0ZSkgPT4gKHsgbmlldXdlUm91dGUgfSkpO1xuXG4vLyBkbyBub3QgZXhwb3J0IHJldHVybiB2YWx1ZVxuY29uc3Qgcml0ZGVlbEFjdGlvbnMgPSB1bmlvbih7XG4gICAgc2V0Uml0RGVsZW4sXG4gICAgdXBkYXRlUml0RGVsZW4sXG4gICAgc2V0Uml0ZGVsZW5BZnRlclVwZGF0ZSxcbiAgICB0b2dnbGVSaXRkZWVsWmljaHRiYWFyLFxuICAgIHNldFJpdGRlZWxaaWNodGJhYXIsXG4gICAgZGVsZXRlUml0ZGVlbCxcbiAgICBkZWxldGVSaXRkZWVsQWN0aWUsXG4gICAgYWRkUml0ZGVlbEFjdGllLFxuICAgIHNldFppY2h0YmFhcmhlaWRBbGxlUml0ZGVsZW4sXG4gICAgdG9nZ2xlWmljaHRiYWFyaGVpZFZvb3JCZXdlZ2luZ2VuLFxuICAgIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuLFxuICAgIHJpdGRlZWxJbnZvZWdlblxufSk7XG5cbi8vIGV4cG9ydCBvbmx5IHR5cGVcbmV4cG9ydCB0eXBlIFJpdERlZWxBY3Rpb25zVW5pb24gPSB0eXBlb2Ygcml0ZGVlbEFjdGlvbnM7XG4iXX0=