@loxia/mst-viewer 8.1.3-202512080252 → 8.1.3-202512111244

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 (138) hide show
  1. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +1341 -0
  2. package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +1 -0
  3. package/fesm2022/loxia-mst-viewer.mjs +1500 -301
  4. package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
  5. package/index.d.ts +1079 -3
  6. package/package.json +10 -8
  7. package/src/generated/openapi/README.md +226 -0
  8. package/src/generated/openapi/index.d.ts +825 -0
  9. package/tailwind.scss +1 -1
  10. package/esm2022/generated.version.mjs +0 -2
  11. package/esm2022/lib/atomic-components/message/index.mjs +0 -4
  12. package/esm2022/lib/atomic-components/message/message.component.mjs +0 -34
  13. package/esm2022/lib/atomic-components/message/message.mjs +0 -8
  14. package/esm2022/lib/atomic-components/message/severity.enum.mjs +0 -9
  15. package/esm2022/lib/atomic-components/messages/messages.component.mjs +0 -20
  16. package/esm2022/lib/atomic-components/overlay/overlay.component.mjs +0 -11
  17. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.component.mjs +0 -11
  18. package/esm2022/lib/atomic-components/progress-indicator/progress-indicator.entity.mjs +0 -8
  19. package/esm2022/lib/atomic-components/services/messages.service.mjs +0 -27
  20. package/esm2022/lib/components/carousel-controls/carousel-controls.component.mjs +0 -40
  21. package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +0 -110
  22. package/esm2022/lib/components/ritdelen-lijst/ritdelen-lijst.component.mjs +0 -267
  23. package/esm2022/lib/components/ritdelen-view/ritdelen-view.component.mjs +0 -103
  24. package/esm2022/lib/components/rpe/rpe.component.mjs +0 -33
  25. package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +0 -273
  26. package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +0 -52
  27. package/esm2022/lib/model/alternatief-rit-deel.mjs +0 -7
  28. package/esm2022/lib/model/km-range.mjs +0 -39
  29. package/esm2022/lib/model/melding-event.mjs +0 -7
  30. package/esm2022/lib/model/nieuwe-route.mjs +0 -10
  31. package/esm2022/lib/model/ongeplande-actie.mjs +0 -7
  32. package/esm2022/lib/model/rijwegplan-rijweg-dwang-combinatie.mjs +0 -24
  33. package/esm2022/lib/model/ritdeel.mjs +0 -205
  34. package/esm2022/lib/model/sein-op-ritdeel.mjs +0 -7
  35. package/esm2022/lib/model/wissel-kant-code.mjs +0 -7
  36. package/esm2022/lib/mst-viewer.module.mjs +0 -143
  37. package/esm2022/lib/optimo.mjs +0 -9
  38. package/esm2022/lib/resources/mstlogging.resource.mjs +0 -158
  39. package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +0 -62
  40. package/esm2022/lib/services/base-rest.service.mjs +0 -26
  41. package/esm2022/lib/services/beweging-utils.service.mjs +0 -139
  42. package/esm2022/lib/services/beweging-verrijker.service.mjs +0 -30
  43. package/esm2022/lib/services/connector.service.mjs +0 -30
  44. package/esm2022/lib/services/debug.service.mjs +0 -59
  45. package/esm2022/lib/services/editor.service.mjs +0 -48
  46. package/esm2022/lib/services/print-beweging.service.mjs +0 -66
  47. package/esm2022/lib/services/rit-lezer.service.mjs +0 -104
  48. package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +0 -92
  49. package/esm2022/lib/services/viewer-control.service.mjs +0 -105
  50. package/esm2022/lib/state/actions/actions.mjs +0 -130
  51. package/esm2022/lib/state/actions/ritdelen.actions.mjs +0 -45
  52. package/esm2022/lib/state/effect/bepaal-ongeplande-acties.effect.mjs +0 -78
  53. package/esm2022/lib/state/effect/bepaal-sb-infos.effect.mjs +0 -67
  54. package/esm2022/lib/state/effect/beweging-invoegen.effect.mjs +0 -73
  55. package/esm2022/lib/state/effect/delete-ongeplande-actie.effect.mjs +0 -39
  56. package/esm2022/lib/state/effect/focus-effect.mjs +0 -36
  57. package/esm2022/lib/state/effect/laad-route-files.effect.mjs +0 -64
  58. package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +0 -363
  59. package/esm2022/lib/state/effect/rit-goedkeuren.effect.mjs +0 -23
  60. package/esm2022/lib/state/effect/ritdelen.effect.mjs +0 -112
  61. package/esm2022/lib/state/effect/svg-view.effect.mjs +0 -48
  62. package/esm2022/lib/state/mst-editor-state.mjs +0 -90
  63. package/esm2022/lib/state/reducer/rit-delen.reducer.mjs +0 -62
  64. package/esm2022/lib/util/actie-helper.mjs +0 -437
  65. package/esm2022/lib/util/actie-popover-bepaler.mjs +0 -90
  66. package/esm2022/lib/util/date.service.mjs +0 -17
  67. package/esm2022/lib/util/logging-helper.mjs +0 -61
  68. package/esm2022/lib/util/melding-builder.mjs +0 -13
  69. package/esm2022/lib/util/message-builder.mjs +0 -32
  70. package/esm2022/lib/util/multi-map.mjs +0 -76
  71. package/esm2022/lib/util/utils.mjs +0 -35
  72. package/esm2022/lib/util/zone-util.mjs +0 -32
  73. package/esm2022/loxia-mst-viewer.mjs +0 -5
  74. package/esm2022/public-api.mjs +0 -9
  75. package/generated.version.d.ts +0 -1
  76. package/lib/atomic-components/message/index.d.ts +0 -3
  77. package/lib/atomic-components/message/message.component.d.ts +0 -12
  78. package/lib/atomic-components/message/message.d.ts +0 -7
  79. package/lib/atomic-components/message/severity.enum.d.ts +0 -7
  80. package/lib/atomic-components/messages/messages.component.d.ts +0 -9
  81. package/lib/atomic-components/overlay/overlay.component.d.ts +0 -5
  82. package/lib/atomic-components/progress-indicator/progress-indicator.component.d.ts +0 -5
  83. package/lib/atomic-components/progress-indicator/progress-indicator.entity.d.ts +0 -6
  84. package/lib/atomic-components/services/messages.service.d.ts +0 -12
  85. package/lib/components/carousel-controls/carousel-controls.component.d.ts +0 -21
  86. package/lib/components/mstviewer/mstviewer.component.d.ts +0 -39
  87. package/lib/components/ritdelen-lijst/ritdelen-lijst.component.d.ts +0 -72
  88. package/lib/components/ritdelen-view/ritdelen-view.component.d.ts +0 -33
  89. package/lib/components/rpe/rpe.component.d.ts +0 -11
  90. package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +0 -55
  91. package/lib/components/viewer-controls/viewer-controls.component.d.ts +0 -27
  92. package/lib/model/alternatief-rit-deel.d.ts +0 -7
  93. package/lib/model/km-range.d.ts +0 -13
  94. package/lib/model/melding-event.d.ts +0 -5
  95. package/lib/model/nieuwe-route.d.ts +0 -8
  96. package/lib/model/ongeplande-actie.d.ts +0 -6
  97. package/lib/model/rijwegplan-rijweg-dwang-combinatie.d.ts +0 -12
  98. package/lib/model/ritdeel.d.ts +0 -61
  99. package/lib/model/sein-op-ritdeel.d.ts +0 -7
  100. package/lib/model/wissel-kant-code.d.ts +0 -5
  101. package/lib/mst-viewer.module.d.ts +0 -34
  102. package/lib/optimo.d.ts +0 -69
  103. package/lib/resources/mstlogging.resource.d.ts +0 -104
  104. package/lib/resources/signaleringsbeeldinfo.resource.d.ts +0 -36
  105. package/lib/services/base-rest.service.d.ts +0 -16
  106. package/lib/services/beweging-utils.service.d.ts +0 -25
  107. package/lib/services/beweging-verrijker.service.d.ts +0 -11
  108. package/lib/services/connector.service.d.ts +0 -10
  109. package/lib/services/debug.service.d.ts +0 -15
  110. package/lib/services/editor.service.d.ts +0 -23
  111. package/lib/services/print-beweging.service.d.ts +0 -18
  112. package/lib/services/rit-lezer.service.d.ts +0 -22
  113. package/lib/services/signalerings-beeld-manager.service.d.ts +0 -29
  114. package/lib/services/viewer-control.service.d.ts +0 -32
  115. package/lib/state/actions/actions.d.ts +0 -275
  116. package/lib/state/actions/ritdelen.actions.d.ts +0 -101
  117. package/lib/state/effect/bepaal-ongeplande-acties.effect.d.ts +0 -23
  118. package/lib/state/effect/bepaal-sb-infos.effect.d.ts +0 -23
  119. package/lib/state/effect/beweging-invoegen.effect.d.ts +0 -17
  120. package/lib/state/effect/delete-ongeplande-actie.effect.d.ts +0 -15
  121. package/lib/state/effect/focus-effect.d.ts +0 -17
  122. package/lib/state/effect/laad-route-files.effect.d.ts +0 -28
  123. package/lib/state/effect/laad-signaleringsbeelden.effect.d.ts +0 -58
  124. package/lib/state/effect/rit-goedkeuren.effect.d.ts +0 -17
  125. package/lib/state/effect/ritdelen.effect.d.ts +0 -32
  126. package/lib/state/effect/svg-view.effect.d.ts +0 -17
  127. package/lib/state/mst-editor-state.d.ts +0 -133
  128. package/lib/state/reducer/rit-delen.reducer.d.ts +0 -4
  129. package/lib/util/actie-helper.d.ts +0 -117
  130. package/lib/util/actie-popover-bepaler.d.ts +0 -14
  131. package/lib/util/date.service.d.ts +0 -6
  132. package/lib/util/logging-helper.d.ts +0 -17
  133. package/lib/util/melding-builder.d.ts +0 -8
  134. package/lib/util/message-builder.d.ts +0 -13
  135. package/lib/util/multi-map.d.ts +0 -39
  136. package/lib/util/utils.d.ts +0 -4
  137. package/lib/util/zone-util.d.ts +0 -11
  138. package/public-api.d.ts +0 -5
@@ -1,273 +0,0 @@
1
- import { Component, Input, ViewChild } from '@angular/core';
2
- import { combineLatest } from 'rxjs';
3
- import { AlternatiefRitDeel } from '../../model/alternatief-rit-deel';
4
- import { OngeplandeActie } from '../../model/ongeplande-actie';
5
- import { SeinOpRitdeel } from '../../model/sein-op-ritdeel';
6
- import { AddOngeplandeActie, BepaalOngeplandeActies, BewegingInvoegen, ClearProgress, SetSelectedRitdeel, navigeerBuitenRit, ResetNieuweRoute, SetActieOpRitSelectieIds, SetAlternatievenClickableIds, SetAlternatievenSelectieIds, SetBeginSeinRightClickableIds, SetBeginSeinSelectieIds, SetEindSeinenClickableIds, SetEindSeinSelectieIds, SetGebrokenRitSelectieIds, SetGeplandeActies, SetNieuwRouteEindSein, SetRitSelectieIds } from '../../state/actions/actions';
7
- import { ritdeelInvoegen, setAlternatieveRitDelen } from '../../state/actions/ritdelen.actions';
8
- import { ActiePopoverBepaler } from '../../util/actie-popover-bepaler';
9
- import { ArrayMultimap } from '../../util/multi-map';
10
- import Utils from '../../util/utils';
11
- import * as i0 from "@angular/core";
12
- import * as i1 from "@ngrx/store";
13
- import * as i2 from "../../services/viewer-control.service";
14
- import * as i3 from "../../util/actie-helper";
15
- import * as i4 from "../../services/signalerings-beeld-manager.service";
16
- import * as i5 from "../../services/editor.service";
17
- import * as i6 from "@angular/common";
18
- import * as i7 from "@loxia/imx-viewer";
19
- export class SvgVisualisatieComponent {
20
- constructor(store, viewerControlsService, actieHelper, sbmService, editorService) {
21
- this.store = store;
22
- this.viewerControlsService = viewerControlsService;
23
- this.actieHelper = actieHelper;
24
- this.sbmService = sbmService;
25
- this.editorService = editorService;
26
- this.svgInfos$ = this.store.select('svgInfos');
27
- this.popoverInfos = [];
28
- this.clickableIds = [];
29
- this.rightClickableIds = [];
30
- this.contextMenuActions = [];
31
- this.contextMenuStyle = { display: 'none' };
32
- this.puicNaarBeginSeinRitdeel = new Map();
33
- this.puicNaarEindSeinCombinatie = new Map();
34
- this.puicNaarAlternatieveRoute = new Map();
35
- this.ongeplandeActiesBepaald = false;
36
- this.subscriptions = [];
37
- this.onRitdelenUpdate();
38
- this.triggerClickableIdBepaling();
39
- this.triggerRightClickableIdBepaling();
40
- this.handleNieuweRouteToegevoegd();
41
- this.setupTriggerPopoverBepaling();
42
- this.subscriptions.push(this.store.select('editable').subscribe(editable => {
43
- this.editable = editable;
44
- }));
45
- this.subscriptions.push(this.store.select('ongeplandeActiesBepaald')
46
- .subscribe(ongeplandeActiesBepaald => this.ongeplandeActiesBepaald = ongeplandeActiesBepaald));
47
- this.subscriptions.push(this.store.select('focusIds')
48
- .subscribe(focusIds => {
49
- if (focusIds && this.imxviewer) {
50
- this.imxviewer.focusOnIds(focusIds);
51
- }
52
- }));
53
- }
54
- ngOnInit() {
55
- document.getElementById('contextMenu').addEventListener('mouseleave', () => this.hideContextMenu());
56
- }
57
- ngOnDestroy() {
58
- this.subscriptions.forEach(s => s.unsubscribe());
59
- }
60
- handleImxviewClick(evt) {
61
- const puic = evt.id;
62
- const alternatieveRitDeel = this.puicNaarAlternatieveRoute.get(puic);
63
- const combinatie = this.puicNaarEindSeinCombinatie.get(puic);
64
- if (alternatieveRitDeel) {
65
- alternatieveRitDeel.ritDeel.acties.forEach(actie => {
66
- const puics = this.actieHelper.bepaalPuicsVoorActie(actie);
67
- if (puics.length > 0) {
68
- this.store.dispatch(AddOngeplandeActie(new OngeplandeActie(actie, puics)));
69
- }
70
- });
71
- this.store.dispatch(setAlternatieveRitDelen(alternatieveRitDeel));
72
- }
73
- else if (combinatie) {
74
- this.store.dispatch(SetNieuwRouteEindSein(combinatie));
75
- }
76
- else {
77
- const rand = this.sbmService.getTopologyElementByPuic(puic);
78
- if (rand) {
79
- this.store.dispatch(navigeerBuitenRit(puic));
80
- }
81
- }
82
- this.store.dispatch(SetSelectedRitdeel(undefined));
83
- }
84
- handleImxviewRightClick(evt) {
85
- const fn = () => {
86
- const startSeinOpRitdeel = this.puicNaarBeginSeinRitdeel.get(evt.id);
87
- if (startSeinOpRitdeel) {
88
- this.bewegingInvoegen(startSeinOpRitdeel);
89
- }
90
- };
91
- this.contextMenuActions = [];
92
- this.contextMenuActions.push({ label: 'beweging invoegen', click: fn });
93
- this.contextMenuStyle = {
94
- left: (evt.event.offsetX - 5) + 'px',
95
- top: (evt.event.offsetY - 5) + 'px',
96
- display: 'inline',
97
- position: 'absolute'
98
- };
99
- }
100
- bewegingInvoegen(startSeinOpRitdeel) {
101
- this.hideContextMenu();
102
- this.store.dispatch(BewegingInvoegen(startSeinOpRitdeel, this.puicNaarEindSeinCombinatie));
103
- }
104
- hideContextMenu() {
105
- this.contextMenuStyle = {
106
- display: 'none',
107
- position: 'absolute'
108
- };
109
- }
110
- handleNieuweRouteToegevoegd() {
111
- this.store.select('nieuweRoute')
112
- .subscribe((nieuweRoute) => {
113
- if (nieuweRoute.isValid()) {
114
- this.store.dispatch(ResetNieuweRoute());
115
- this.store.dispatch(ritdeelInvoegen(nieuweRoute));
116
- }
117
- });
118
- }
119
- onRitdelenUpdate() {
120
- this.subscriptions.push(this.store.select('ritDelen').subscribe(ritDelen => {
121
- if (ritDelen && ritDelen.length > 0) {
122
- this.bepaalRouteHighlights(ritDelen);
123
- if (this.editable) {
124
- this.bepaalContextMenuVoorBeginSeinen(ritDelen);
125
- }
126
- if (!this.ongeplandeActiesBepaald) {
127
- this.bepaalOngeplandeActies();
128
- }
129
- }
130
- }));
131
- }
132
- triggerClickableIdBepaling() {
133
- this.subscriptions.push(combineLatest([
134
- this.store.select('alternatievenClickableIds'),
135
- this.store.select('eindSeinenClickableIds'),
136
- this.store.select('connectorClickableIds')
137
- ]).subscribe(([alternatievenClickableIds, eindSeinenClickableIds, connectorClickableIds]) => this.clickableIds = [...alternatievenClickableIds, ...eindSeinenClickableIds, ...connectorClickableIds]));
138
- }
139
- triggerRightClickableIdBepaling() {
140
- this.subscriptions.push(combineLatest([this.store.select('beginSeinRightClickableIds')]).subscribe(([beginSeinRightClickableIds]) => {
141
- const ids = [];
142
- ids.push(...beginSeinRightClickableIds);
143
- this.rightClickableIds = ids;
144
- }));
145
- }
146
- setupTriggerPopoverBepaling() {
147
- this.subscriptions.push(combineLatest([
148
- this.store.select('ritDelen'),
149
- this.store.select('ongeplandeActies'),
150
- this.store.select('geplandeActies')
151
- ]).subscribe(([ritdelen, ongeplandeActies, geplandeActies]) => {
152
- if (ritdelen && ritdelen.length > 0 && geplandeActies && ongeplandeActies) {
153
- this.popoverInfos = ActiePopoverBepaler.bepaalPopoverInfos(ritdelen, geplandeActies, ongeplandeActies);
154
- }
155
- }));
156
- }
157
- bepaalOngeplandeActies() {
158
- if (this.nietGeplandeActies) {
159
- this.store.dispatch(BepaalOngeplandeActies(this.nietGeplandeActies));
160
- }
161
- }
162
- bepaalContextMenuVoorBeginSeinen(ritDelen) {
163
- if (!this.sbmService.isReady()) {
164
- return;
165
- }
166
- let ids = [];
167
- ritDelen.filter(ritDeel => ritDeel.isZichtbaar()).forEach(ritDeel => {
168
- const puics = ritDeel.getSeinen().flatMap(sein => this.verzamelBeginSeinInformatie(sein, ritDeel));
169
- ids = ids.concat(puics);
170
- });
171
- this.store.dispatch(SetBeginSeinRightClickableIds(ids));
172
- this.store.dispatch(SetBeginSeinSelectieIds([]));
173
- this.store.dispatch(SetEindSeinSelectieIds([]));
174
- this.store.dispatch(SetEindSeinenClickableIds([]));
175
- }
176
- verzamelBeginSeinInformatie(sein, ritDeel) {
177
- const puics = [];
178
- const sbSein = this.sbmService.getSBSein(sein);
179
- if (sbSein) {
180
- const puic = sbSein.getPuic();
181
- puics.push(puic);
182
- this.puicNaarBeginSeinRitdeel.set(puic, new SeinOpRitdeel(sein, ritDeel));
183
- }
184
- const altSbSein = this.sbmService.getTechnischAlternatiefSBSein(sbSein);
185
- if (altSbSein) {
186
- const puic = altSbSein.getPuic();
187
- puics.push(puic);
188
- const rwp = this.editorService.getRijwegplan(altSbSein.getPPLG());
189
- const domeinSein = rwp.getBeginSein(altSbSein.getName());
190
- // sein kan niet altijd gevonden worden omdat er niet altijd een rijweg vanaf dit sein is, bijv bij veerwissel.
191
- if (domeinSein) {
192
- this.puicNaarBeginSeinRitdeel.set(puic, new SeinOpRitdeel(domeinSein, ritDeel));
193
- }
194
- }
195
- return puics;
196
- }
197
- bepaalRouteHighlights(ritDelen) {
198
- let ritSelectiePuics = [];
199
- const actieOpRitSelectiePuics = new ArrayMultimap();
200
- let gebrokenRitSelectiePuics = [];
201
- const alternatieveRoutePuics = [];
202
- const clickableIds = [];
203
- let laatsteNaarSpoor;
204
- const bestaatUit1Ritdeel = ritDelen.length === 1;
205
- let gebrokenRit = false;
206
- ritDelen.forEach(ritDeel => {
207
- if (ritDeel.isZichtbaar()) {
208
- const map = this.actieHelper.bepaalActiePuicsUitRitdeel(ritDeel);
209
- map.keys().forEach(key => actieOpRitSelectiePuics.putAll(key, map.get(key)));
210
- const isGebrokenRitdeel = !bestaatUit1Ritdeel && this.isGebrokenRitdeel(ritDeel, laatsteNaarSpoor);
211
- const puics = [...this.getPuics(ritDeel.getTopologieElementen()),
212
- ...this.sbmService.getPuicsVoorSeinenInRoute(ritDeel.getRoute())];
213
- if (puics && isGebrokenRitdeel) {
214
- gebrokenRitSelectiePuics = gebrokenRitSelectiePuics.concat(puics);
215
- }
216
- else if (puics) {
217
- ritSelectiePuics = ritSelectiePuics.concat(puics);
218
- }
219
- this.bepaalAlternatieven(ritDeel, clickableIds, alternatieveRoutePuics);
220
- gebrokenRit = gebrokenRit || isGebrokenRitdeel;
221
- }
222
- laatsteNaarSpoor = ritDeel.getVisueelNaarPrlSpoor();
223
- });
224
- this.viewerControlsService.setValideRit(!gebrokenRit);
225
- this.store.dispatch(SetGeplandeActies(actieOpRitSelectiePuics));
226
- const actieOpRitSelectiePuicsArray = Utils.flatMap(Array.from(actieOpRitSelectiePuics.values()), x => x);
227
- this.store.dispatch(SetActieOpRitSelectieIds(actieOpRitSelectiePuicsArray));
228
- ritSelectiePuics = ritSelectiePuics.filter(item => actieOpRitSelectiePuicsArray.indexOf(item) < 0); // make mutually exclusive
229
- this.store.dispatch(SetRitSelectieIds(ritSelectiePuics));
230
- this.store.dispatch(SetGebrokenRitSelectieIds(gebrokenRitSelectiePuics));
231
- this.store.dispatch(SetAlternatievenClickableIds(this.editable ? clickableIds : []));
232
- this.store.dispatch(SetAlternatievenSelectieIds(this.editable ? alternatieveRoutePuics : []));
233
- this.store.dispatch(ClearProgress());
234
- }
235
- bepaalAlternatieven(ritDeel, clickableIds, alternatieveRoutePuics) {
236
- ritDeel.getAlternatieveRoutes()?.forEach(alternatieveRoute => {
237
- const alternatieveTopoElementen = this.sbmService.bepaalAlternativeRouteHighlights(alternatieveRoute, ritDeel.getTopologieElementen());
238
- const altPuics = this.getPuics(alternatieveTopoElementen);
239
- if (altPuics) {
240
- clickableIds.push(...altPuics);
241
- altPuics.forEach(puic => {
242
- this.puicNaarAlternatieveRoute.set(puic, new AlternatiefRitDeel(ritDeel, alternatieveRoute));
243
- alternatieveRoutePuics.push(puic);
244
- });
245
- }
246
- });
247
- }
248
- isGebrokenRitdeel(ritDeel, laatsteNaarSpoor) {
249
- const isGebrokenRitdeel = !(!laatsteNaarSpoor || ritDeel.getVanPrlSpoor() === laatsteNaarSpoor);
250
- if (isGebrokenRitdeel) {
251
- console.log('Rit van ' + ritDeel.getVanPrlSpoor() + ' naar ' + ritDeel.getNaarPrlSpoor()
252
- + ' in pplg ' + ritDeel.getPplg() + ' sluit niet aan op vorige beweging.');
253
- }
254
- return isGebrokenRitdeel;
255
- }
256
- getPuics(topoElementen) {
257
- return topoElementen.map(e => e.getPuic());
258
- }
259
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgVisualisatieComponent, deps: [{ token: i1.Store }, { token: i2.ViewerControlService }, { token: i3.ActieHelper }, { token: i4.SignaleringsBeeldManagerService }, { token: i5.EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
260
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: { nietGeplandeActies: "nietGeplandeActies", useClickArea: "useClickArea" }, viewQueries: [{ propertyName: "imxviewer", first: true, predicate: ["imxviewercontainer"], descendants: true }], ngImport: i0, template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"viewerControlsService.selectieInfos\"\n [clickableIds]=\"clickableIds\"\n [rightClickableIds]=\"rightClickableIds\"\n [popoverInfos]=\"popoverInfos\"\n [inlineDgnCssImport]=\"false\"\n [useClickArea]=\"useClickArea\"\n [zoomScaleSensitivity]=\"0.25\"\n (clickHandler)=\"handleImxviewClick($event)\"\n (rightClickHandler)=\"handleImxviewRightClick($event)\"\n ></imx-viewer>\n\n<ul id=\"contextMenu\" class=\"dropdown-menu\" role=\"menu\" [ngStyle]=\"contextMenuStyle\">\n <li *ngFor=\"let action of contextMenuActions\"><a class=\"dropdown-item\" tabindex=\"-1\"\n (click)=\"action.click()\">{{action.label}}</a></li>\n</ul>\n", styles: [".dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}\n"], dependencies: [{ kind: "directive", type: i6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i6.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i7.ImxViewerComponent, selector: "imx-viewer", inputs: ["useClickArea", "inlineDgnCssImport", "svgInfo", "selectieInfos", "clickableIds", "rightClickableIds", "popoverInfos", "zoomScaleSensitivity", "autoAlignSvgsHorizontally", "initialPanAndZoom"], outputs: ["clickHandler", "rightClickHandler", "svgLoaded", "panned"] }, { kind: "pipe", type: i6.AsyncPipe, name: "async" }] }); }
261
- }
262
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgVisualisatieComponent, decorators: [{
263
- type: Component,
264
- args: [{ selector: 'svg-visualisatie', template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"viewerControlsService.selectieInfos\"\n [clickableIds]=\"clickableIds\"\n [rightClickableIds]=\"rightClickableIds\"\n [popoverInfos]=\"popoverInfos\"\n [inlineDgnCssImport]=\"false\"\n [useClickArea]=\"useClickArea\"\n [zoomScaleSensitivity]=\"0.25\"\n (clickHandler)=\"handleImxviewClick($event)\"\n (rightClickHandler)=\"handleImxviewRightClick($event)\"\n ></imx-viewer>\n\n<ul id=\"contextMenu\" class=\"dropdown-menu\" role=\"menu\" [ngStyle]=\"contextMenuStyle\">\n <li *ngFor=\"let action of contextMenuActions\"><a class=\"dropdown-item\" tabindex=\"-1\"\n (click)=\"action.click()\">{{action.label}}</a></li>\n</ul>\n", styles: [".dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}\n"] }]
265
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.ViewerControlService }, { type: i3.ActieHelper }, { type: i4.SignaleringsBeeldManagerService }, { type: i5.EditorService }], propDecorators: { nietGeplandeActies: [{
266
- type: Input
267
- }], useClickArea: [{
268
- type: Input
269
- }], imxviewer: [{
270
- type: ViewChild,
271
- args: ['imxviewercontainer']
272
- }] } });
273
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ZnLXZpc3VhbGlzYXRpZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvY29tcG9uZW50cy9zdmctdmlzdWFsaXNhdGllL3N2Zy12aXN1YWxpc2F0aWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvc3ZnLXZpc3VhbGlzYXRpZS9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFJL0UsT0FBTyxFQUFFLGFBQWEsRUFBNEIsTUFBTSxNQUFNLENBQUM7QUFDL0QsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRy9ELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUs1RCxPQUFPLEVBQ0gsa0JBQWtCLEVBQ2xCLHNCQUFzQixFQUN0QixnQkFBZ0IsRUFDaEIsYUFBYSxFQUFFLGtCQUFrQixFQUNqQyxpQkFBaUIsRUFDakIsZ0JBQWdCLEVBQ2hCLHdCQUF3QixFQUN4Qiw0QkFBNEIsRUFDNUIsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3Qix1QkFBdUIsRUFDdkIseUJBQXlCLEVBQ3pCLHNCQUFzQixFQUN0Qix5QkFBeUIsRUFDekIsaUJBQWlCLEVBQ2pCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDcEIsTUFBTSw2QkFBNkIsQ0FBQztBQUNyQyxPQUFPLEVBQUUsZUFBZSxFQUFFLHVCQUF1QixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFHaEcsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1B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QUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQU8sRUFBRSxnQkFBZ0I7UUFDL0MsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxPQUFPLENBQUMsY0FBYyxFQUFFLEtBQUssZ0JBQWdCLENBQUMsQ0FBQztRQUNoRyxJQUFJLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLGNBQWMsRUFBRSxHQUFHLFFBQVEsR0FBRyxPQUFPLENBQUMsZUFBZSxFQUFFO2tCQUNsRixXQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sRUFBRSxHQUFHLHFDQUFxQyxDQUFDLENBQUM7UUFDbkYsQ0FBQztRQUNELE9BQU8saUJBQWlCLENBQUM7SUFDN0IsQ0FBQztJQUVPLFFBQVEsQ0FBQyxhQUFxQztRQUNsRCxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUMvQyxDQUFDOzhHQXpSUSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw2UEM3Q3JDLHczQkFpQkE7OzJGRDRCYSx3QkFBd0I7a0JBTHBDLFNBQVM7K0JBQ0ksa0JBQWtCO2lOQU1uQixrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFFMkIsU0FBUztzQkFBekMsU0FBUzt1QkFBQyxvQkFBb0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJbXhWaWV3ZXJDb21wb25lbnQsIFBvcG92ZXJJbmZvLCBTZWxlY3RpZUV2ZW50LCBTdmdJbmZvIH0gZnJvbSAnQGxveGlhL2lteC12aWV3ZXInO1xuaW1wb3J0IHsgZG9tZWluLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgU3RvcmUgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBPYnNlcnZhYmxlLCBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFsdGVybmF0aWVmUml0RGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL2FsdGVybmF0aWVmLXJpdC1kZWVsJztcbmltcG9ydCB7IE9uZ2VwbGFuZGVBY3RpZSB9IGZyb20gJy4uLy4uL21vZGVsL29uZ2VwbGFuZGUtYWN0aWUnO1xuaW1wb3J0IHsgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSB9IGZyb20gJy4uLy4uL21vZGVsL3JpandlZ3BsYW4tcmlqd2VnLWR3YW5nLWNvbWJpbmF0aWUnO1xuaW1wb3J0IHsgUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3JpdGRlZWwnO1xuaW1wb3J0IHsgU2Vpbk9wUml0ZGVlbCB9IGZyb20gJy4uLy4uL21vZGVsL3NlaW4tb3Atcml0ZGVlbCc7XG5pbXBvcnQgeyBBY3RpZSB9IGZyb20gJy4uLy4uL29wdGltbyc7XG5pbXBvcnQgeyBFZGl0b3JTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvZWRpdG9yLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2lnbmFsZXJpbmdzQmVlbGRNYW5hZ2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3NpZ25hbGVyaW5ncy1iZWVsZC1tYW5hZ2VyLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7XG4gICAgQWRkT25nZXBsYW5kZUFjdGllLFxuICAgIEJlcGFhbE9uZ2VwbGFuZGVBY3RpZXMsXG4gICAgQmV3ZWdpbmdJbnZvZWdlbixcbiAgICBDbGVhclByb2dyZXNzLCBTZXRTZWxlY3RlZFJpdGRlZWwsXG4gICAgbmF2aWdlZXJCdWl0ZW5SaXQsXG4gICAgUmVzZXROaWV1d2VSb3V0ZSxcbiAgICBTZXRBY3RpZU9wUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0QWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRBbHRlcm5hdGlldmVuU2VsZWN0aWVJZHMsXG4gICAgU2V0QmVnaW5TZWluUmlnaHRDbGlja2FibGVJZHMsXG4gICAgU2V0QmVnaW5TZWluU2VsZWN0aWVJZHMsXG4gICAgU2V0RWluZFNlaW5lbkNsaWNrYWJsZUlkcyxcbiAgICBTZXRFaW5kU2VpblNlbGVjdGllSWRzLFxuICAgIFNldEdlYnJva2VuUml0U2VsZWN0aWVJZHMsXG4gICAgU2V0R2VwbGFuZGVBY3RpZXMsXG4gICAgU2V0TmlldXdSb3V0ZUVpbmRTZWluLFxuICAgIFNldFJpdFNlbGVjdGllSWRzXG59IGZyb20gJy4uLy4uL3N0YXRlL2FjdGlvbnMvYWN0aW9ucyc7XG5pbXBvcnQgeyByaXRkZWVsSW52b2VnZW4sIHNldEFsdGVybmF0aWV2ZVJpdERlbGVuIH0gZnJvbSAnLi4vLi4vc3RhdGUvYWN0aW9ucy9yaXRkZWxlbi5hY3Rpb25zJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5pbXBvcnQgeyBBY3RpZUhlbHBlciB9IGZyb20gJy4uLy4uL3V0aWwvYWN0aWUtaGVscGVyJztcbmltcG9ydCB7IEFjdGllUG9wb3ZlckJlcGFsZXIgfSBmcm9tICcuLi8uLi91dGlsL2FjdGllLXBvcG92ZXItYmVwYWxlcic7XG5pbXBvcnQgeyBBcnJheU11bHRpbWFwIH0gZnJvbSAnLi4vLi4vdXRpbC9tdWx0aS1tYXAnO1xuaW1wb3J0IFV0aWxzIGZyb20gJy4uLy4uL3V0aWwvdXRpbHMnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3N2Zy12aXN1YWxpc2F0aWUnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9zdmctdmlzdWFsaXNhdGllLmNvbXBvbmVudC5zY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgU3ZnVmlzdWFsaXNhdGllQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuXG4gICAgQElucHV0KCkgbmlldEdlcGxhbmRlQWN0aWVzOiBBY3RpZVtdO1xuICAgIEBJbnB1dCgpIHVzZUNsaWNrQXJlYTogYm9vbGVhbjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lteHZpZXdlcmNvbnRhaW5lcicpIGlteHZpZXdlcjogSW14Vmlld2VyQ29tcG9uZW50O1xuXG4gICAgc3ZnSW5mb3MkOiBPYnNlcnZhYmxlPFN2Z0luZm9bXT4gPSB0aGlzLnN0b3JlLnNlbGVjdCgnc3ZnSW5mb3MnKTtcbiAgICBwb3BvdmVySW5mb3M6IFBvcG92ZXJJbmZvW10gPSBbXTtcbiAgICBjbGlja2FibGVJZHM6IHN0cmluZ1tdID0gW107XG5cbiAgICByaWdodENsaWNrYWJsZUlkczogc3RyaW5nW10gPSBbXTtcbiAgICBjb250ZXh0TWVudUFjdGlvbnM6IGFueSA9IFtdO1xuICAgIGNvbnRleHRNZW51U3R5bGU6IGFueSA9IHsgZGlzcGxheTogJ25vbmUnIH07XG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICBwcml2YXRlIHB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbCA9IG5ldyBNYXA8c3RyaW5nLCBTZWluT3BSaXRkZWVsPigpO1xuICAgIHByaXZhdGUgcHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUgPSBuZXcgTWFwPHN0cmluZywgUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZT4oKTtcbiAgICBwcml2YXRlIHB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUgPSBuZXcgTWFwPHN0cmluZywgQWx0ZXJuYXRpZWZSaXREZWVsPigpO1xuXG4gICAgcHJpdmF0ZSBvbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IGZhbHNlO1xuICAgIHByaXZhdGUgc3Vic2NyaXB0aW9uczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IFN0b3JlPE1zdEVkaXRvclN0YXRlPixcbiAgICAgICAgICAgICAgICBwdWJsaWMgdmlld2VyQ29udHJvbHNTZXJ2aWNlOiBWaWV3ZXJDb250cm9sU2VydmljZSxcbiAgICAgICAgICAgICAgICBwcml2YXRlIGFjdGllSGVscGVyOiBBY3RpZUhlbHBlcixcbiAgICAgICAgICAgICAgICBwcml2YXRlIHNibVNlcnZpY2U6IFNpZ25hbGVyaW5nc0JlZWxkTWFuYWdlclNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBlZGl0b3JTZXJ2aWNlOiBFZGl0b3JTZXJ2aWNlKSB7XG4gICAgICAgIHRoaXMub25SaXRkZWxlblVwZGF0ZSgpO1xuICAgICAgICB0aGlzLnRyaWdnZXJDbGlja2FibGVJZEJlcGFsaW5nKCk7XG4gICAgICAgIHRoaXMudHJpZ2dlclJpZ2h0Q2xpY2thYmxlSWRCZXBhbGluZygpO1xuICAgICAgICB0aGlzLmhhbmRsZU5pZXV3ZVJvdXRlVG9lZ2V2b2VnZCgpO1xuICAgICAgICB0aGlzLnNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpO1xuXG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdlZGl0YWJsZScpLnN1YnNjcmliZShlZGl0YWJsZSA9PiB7XG4gICAgICAgICAgICB0aGlzLmVkaXRhYmxlID0gZWRpdGFibGU7XG4gICAgICAgIH0pKTtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2godGhpcy5zdG9yZS5zZWxlY3QoJ29uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkJylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC5zdWJzY3JpYmUob25nZXBsYW5kZUFjdGllc0JlcGFhbGQgPT4gdGhpcy5vbmdlcGxhbmRlQWN0aWVzQmVwYWFsZCA9IG9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSk7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdmb2N1c0lkcycpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKGZvY3VzSWRzID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoZm9jdXNJZHMgJiYgdGhpcy5pbXh2aWV3ZXIpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy5pbXh2aWV3ZXIuZm9jdXNPbklkcyhmb2N1c0lkcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGV4dE1lbnUnKS5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWxlYXZlJywgKCkgPT4gdGhpcy5oaWRlQ29udGV4dE1lbnUoKSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5mb3JFYWNoKHMgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3Q2xpY2soZXZ0OiBTZWxlY3RpZUV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHB1aWMgPSBldnQuaWQ7XG4gICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVJpdERlZWwgPSB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuZ2V0KHB1aWMpO1xuICAgICAgICBjb25zdCBjb21iaW5hdGllID0gdGhpcy5wdWljTmFhckVpbmRTZWluQ29tYmluYXRpZS5nZXQocHVpYyk7XG4gICAgICAgIGlmIChhbHRlcm5hdGlldmVSaXREZWVsKSB7XG4gICAgICAgICAgICBhbHRlcm5hdGlldmVSaXREZWVsLnJpdERlZWwuYWN0aWVzLmZvckVhY2goYWN0aWUgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IHB1aWNzID0gdGhpcy5hY3RpZUhlbHBlci5iZXBhYWxQdWljc1Zvb3JBY3RpZShhY3RpZSk7XG4gICAgICAgICAgICAgICAgaWYgKHB1aWNzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChBZGRPbmdlcGxhbmRlQWN0aWUobmV3IE9uZ2VwbGFuZGVBY3RpZShhY3RpZSwgcHVpY3MpKSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHNldEFsdGVybmF0aWV2ZVJpdERlbGVuKGFsdGVybmF0aWV2ZVJpdERlZWwpKTtcbiAgICAgICAgfSBlbHNlIGlmIChjb21iaW5hdGllKSB7XG4gICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldE5pZXV3Um91dGVFaW5kU2Vpbihjb21iaW5hdGllKSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb25zdCByYW5kID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRvcG9sb2d5RWxlbWVudEJ5UHVpYyhwdWljKTtcbiAgICAgICAgICAgIGlmIChyYW5kKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChuYXZpZ2VlckJ1aXRlblJpdChwdWljKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFNlbGVjdGVkUml0ZGVlbCh1bmRlZmluZWQpKTtcbiAgICB9XG5cbiAgICBoYW5kbGVJbXh2aWV3UmlnaHRDbGljayhldnQ6IFNlbGVjdGllRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgZm4gPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgICBjb25zdCBzdGFydFNlaW5PcFJpdGRlZWwgPSB0aGlzLnB1aWNOYWFyQmVnaW5TZWluUml0ZGVlbC5nZXQoZXZ0LmlkKTtcbiAgICAgICAgICAgIGlmIChzdGFydFNlaW5PcFJpdGRlZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMgPSBbXTtcbiAgICAgICAgdGhpcy5jb250ZXh0TWVudUFjdGlvbnMucHVzaCh7IGxhYmVsOiAnYmV3ZWdpbmcgaW52b2VnZW4nLCBjbGljazogZm4gfSk7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGxlZnQ6IChldnQuZXZlbnQub2Zmc2V0WCAtIDUpICsgJ3B4JyxcbiAgICAgICAgICAgIHRvcDogKGV2dC5ldmVudC5vZmZzZXRZIC0gNSkgKyAncHgnLFxuICAgICAgICAgICAgZGlzcGxheTogJ2lubGluZScsXG4gICAgICAgICAgICBwb3NpdGlvbjogJ2Fic29sdXRlJ1xuICAgICAgICB9O1xuICAgIH1cblxuICAgIGJld2VnaW5nSW52b2VnZW4oc3RhcnRTZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaGlkZUNvbnRleHRNZW51KCk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmV3ZWdpbmdJbnZvZWdlbihzdGFydFNlaW5PcFJpdGRlZWwsIHRoaXMucHVpY05hYXJFaW5kU2VpbkNvbWJpbmF0aWUpKTtcbiAgICB9XG5cbiAgICBoaWRlQ29udGV4dE1lbnUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY29udGV4dE1lbnVTdHlsZSA9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6ICdub25lJyxcbiAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVOaWV1d2VSb3V0ZVRvZWdldm9lZ2QoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCduaWV1d2VSb3V0ZScpXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChuaWV1d2VSb3V0ZSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBpZiAobmlldXdlUm91dGUuaXNWYWxpZCgpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFJlc2V0TmlldXdlUm91dGUoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKHJpdGRlZWxJbnZvZWdlbihuaWV1d2VSb3V0ZSkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIG9uUml0ZGVsZW5VcGRhdGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKHRoaXMuc3RvcmUuc2VsZWN0KCdyaXREZWxlbicpLnN1YnNjcmliZShyaXREZWxlbiA9PiB7XG4gICAgICAgICAgICBpZiAocml0RGVsZW4gJiYgcml0RGVsZW4ubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsUm91dGVIaWdobGlnaHRzKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5lZGl0YWJsZSkge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmJlcGFhbENvbnRleHRNZW51Vm9vckJlZ2luU2VpbmVuKHJpdERlbGVuKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKCF0aGlzLm9uZ2VwbGFuZGVBY3RpZXNCZXBhYWxkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuYmVwYWFsT25nZXBsYW5kZUFjdGllcygpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdHJpZ2dlckNsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW1xuICAgICAgICAgICAgdGhpcy5zdG9yZS5zZWxlY3QoJ2FsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMnKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdlaW5kU2VpbmVuQ2xpY2thYmxlSWRzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnY29ubmVjdG9yQ2xpY2thYmxlSWRzJyldXG4gICAgICAgICkuc3Vic2NyaWJlKChbYWx0ZXJuYXRpZXZlbkNsaWNrYWJsZUlkcywgZWluZFNlaW5lbkNsaWNrYWJsZUlkcywgY29ubmVjdG9yQ2xpY2thYmxlSWRzXSkgPT5cbiAgICAgICAgICAgIHRoaXMuY2xpY2thYmxlSWRzID0gWy4uLmFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHMsIC4uLmVpbmRTZWluZW5DbGlja2FibGVJZHMsIC4uLmNvbm5lY3RvckNsaWNrYWJsZUlkc10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHRyaWdnZXJSaWdodENsaWNrYWJsZUlkQmVwYWxpbmcoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5wdXNoKGNvbWJpbmVMYXRlc3QoW3RoaXMuc3RvcmUuc2VsZWN0KCdiZWdpblNlaW5SaWdodENsaWNrYWJsZUlkcycpXVxuICAgICAgICApLnN1YnNjcmliZSgoW2JlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzXSkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGlkcyA9IFtdO1xuICAgICAgICAgICAgICAgIGlkcy5wdXNoKC4uLmJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKTtcbiAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0Q2xpY2thYmxlSWRzID0gaWRzO1xuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldHVwVHJpZ2dlclBvcG92ZXJCZXBhbGluZygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLnB1c2goY29tYmluZUxhdGVzdChbXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgncml0RGVsZW4nKSxcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuc2VsZWN0KCdvbmdlcGxhbmRlQWN0aWVzJyksXG4gICAgICAgICAgICB0aGlzLnN0b3JlLnNlbGVjdCgnZ2VwbGFuZGVBY3RpZXMnKV1cbiAgICAgICAgKS5zdWJzY3JpYmUoKFtyaXRkZWxlbiwgb25nZXBsYW5kZUFjdGllcywgZ2VwbGFuZGVBY3RpZXNdKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKHJpdGRlbGVuICYmIHJpdGRlbGVuLmxlbmd0aCA+IDAgJiYgZ2VwbGFuZGVBY3RpZXMgJiYgb25nZXBsYW5kZUFjdGllcykge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnBvcG92ZXJJbmZvcyA9IEFjdGllUG9wb3ZlckJlcGFsZXIuYmVwYWFsUG9wb3ZlckluZm9zKHJpdGRlbGVuLCBnZXBsYW5kZUFjdGllcywgb25nZXBsYW5kZUFjdGllcyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICBiZXBhYWxPbmdlcGxhbmRlQWN0aWVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5uaWV0R2VwbGFuZGVBY3RpZXMpIHtcbiAgICAgICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQmVwYWFsT25nZXBsYW5kZUFjdGllcyh0aGlzLm5pZXRHZXBsYW5kZUFjdGllcykpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxDb250ZXh0TWVudVZvb3JCZWdpblNlaW5lbihyaXREZWxlbjogUml0ZGVlbFtdKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zYm1TZXJ2aWNlLmlzUmVhZHkoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IGlkcyA9IFtdO1xuICAgICAgICByaXREZWxlbi5maWx0ZXIocml0RGVlbCA9PiByaXREZWVsLmlzWmljaHRiYWFyKCkpLmZvckVhY2gocml0RGVlbCA9PiB7XG4gICAgICAgICAgICBjb25zdCBwdWljcyA9IHJpdERlZWwuZ2V0U2VpbmVuKCkuZmxhdE1hcChzZWluID0+IHRoaXMudmVyemFtZWxCZWdpblNlaW5JbmZvcm1hdGllKHNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIGlkcyA9IGlkcy5jb25jYXQocHVpY3MpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblJpZ2h0Q2xpY2thYmxlSWRzKGlkcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEJlZ2luU2VpblNlbGVjdGllSWRzKFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0RWluZFNlaW5TZWxlY3RpZUlkcyhbXSkpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEVpbmRTZWluZW5DbGlja2FibGVJZHMoW10pKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHZlcnphbWVsQmVnaW5TZWluSW5mb3JtYXRpZShzZWluOiBkb21laW4uU2Vpbiwgcml0RGVlbDogUml0ZGVlbCk6IHN0cmluZ1tdIHtcbiAgICAgICAgY29uc3QgcHVpY3M6IHN0cmluZ1tdID0gW107XG4gICAgICAgIGNvbnN0IHNiU2VpbiA9IHRoaXMuc2JtU2VydmljZS5nZXRTQlNlaW4oc2Vpbik7XG4gICAgICAgIGlmIChzYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBzYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIHRoaXMucHVpY05hYXJCZWdpblNlaW5SaXRkZWVsLnNldChwdWljLCBuZXcgU2Vpbk9wUml0ZGVlbChzZWluLCByaXREZWVsKSk7XG4gICAgICAgIH1cbiAgICAgICAgY29uc3QgYWx0U2JTZWluID0gdGhpcy5zYm1TZXJ2aWNlLmdldFRlY2huaXNjaEFsdGVybmF0aWVmU0JTZWluKHNiU2Vpbik7XG4gICAgICAgIGlmIChhbHRTYlNlaW4pIHtcbiAgICAgICAgICAgIGNvbnN0IHB1aWMgPSBhbHRTYlNlaW4uZ2V0UHVpYygpO1xuICAgICAgICAgICAgcHVpY3MucHVzaChwdWljKTtcbiAgICAgICAgICAgIGNvbnN0IHJ3cCA9IHRoaXMuZWRpdG9yU2VydmljZS5nZXRSaWp3ZWdwbGFuKGFsdFNiU2Vpbi5nZXRQUExHKCkpO1xuICAgICAgICAgICAgY29uc3QgZG9tZWluU2VpbiA9IHJ3cC5nZXRCZWdpblNlaW4oYWx0U2JTZWluLmdldE5hbWUoKSk7XG4gICAgICAgICAgICAvLyBzZWluIGthbiBuaWV0IGFsdGlqZCBnZXZvbmRlbiB3b3JkZW4gb21kYXQgZXIgbmlldCBhbHRpamQgZWVuIHJpandlZyB2YW5hZiBkaXQgc2VpbiBpcywgYmlqdiBiaWogdmVlcndpc3NlbC5cbiAgICAgICAgICAgIGlmIChkb21laW5TZWluKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5wdWljTmFhckJlZ2luU2VpblJpdGRlZWwuc2V0KHB1aWMsIG5ldyBTZWluT3BSaXRkZWVsKGRvbWVpblNlaW4sIHJpdERlZWwpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gcHVpY3M7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBiZXBhYWxSb3V0ZUhpZ2hsaWdodHMocml0RGVsZW46IFJpdGRlZWxbXSk6IHZvaWQge1xuICAgICAgICBsZXQgcml0U2VsZWN0aWVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBhY3RpZU9wUml0U2VsZWN0aWVQdWljcyA9IG5ldyBBcnJheU11bHRpbWFwPEFjdGllLCBzdHJpbmc+KCk7XG4gICAgICAgIGxldCBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBbXTtcbiAgICAgICAgY29uc3QgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyA9IFtdO1xuICAgICAgICBjb25zdCBjbGlja2FibGVJZHMgPSBbXTtcbiAgICAgICAgbGV0IGxhYXRzdGVOYWFyU3Bvb3I6IHN0cmluZztcbiAgICAgICAgY29uc3QgYmVzdGFhdFVpdDFSaXRkZWVsID0gcml0RGVsZW4ubGVuZ3RoID09PSAxO1xuICAgICAgICBsZXQgZ2Vicm9rZW5SaXQgPSBmYWxzZTtcbiAgICAgICAgcml0RGVsZW4uZm9yRWFjaChyaXREZWVsID0+IHtcbiAgICAgICAgICAgIGlmIChyaXREZWVsLmlzWmljaHRiYWFyKCkpIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtYXA6IEFycmF5TXVsdGltYXA8QWN0aWUsIHN0cmluZz4gPSB0aGlzLmFjdGllSGVscGVyLmJlcGFhbEFjdGllUHVpY3NVaXRSaXRkZWVsKHJpdERlZWwpO1xuICAgICAgICAgICAgICAgIG1hcC5rZXlzKCkuZm9yRWFjaChrZXkgPT4gYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MucHV0QWxsKGtleSwgbWFwLmdldChrZXkpKSk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBpc0dlYnJva2VuUml0ZGVlbCA9ICFiZXN0YWF0VWl0MVJpdGRlZWwgJiYgdGhpcy5pc0dlYnJva2VuUml0ZGVlbChyaXREZWVsLCBsYWF0c3RlTmFhclNwb29yKTtcbiAgICAgICAgICAgICAgICBjb25zdCBwdWljcyA9IFsuLi50aGlzLmdldFB1aWNzKHJpdERlZWwuZ2V0VG9wb2xvZ2llRWxlbWVudGVuKCkpLFxuICAgICAgICAgICAgICAgICAgICAuLi50aGlzLnNibVNlcnZpY2UuZ2V0UHVpY3NWb29yU2VpbmVuSW5Sb3V0ZShyaXREZWVsLmdldFJvdXRlKCkpXTtcblxuICAgICAgICAgICAgICAgIGlmIChwdWljcyAmJiBpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgICAgICAgICBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MgPSBnZWJyb2tlblJpdFNlbGVjdGllUHVpY3MuY29uY2F0KHB1aWNzKTtcbiAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHB1aWNzKSB7XG4gICAgICAgICAgICAgICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmNvbmNhdChwdWljcyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGhpcy5iZXBhYWxBbHRlcm5hdGlldmVuKHJpdERlZWwsIGNsaWNrYWJsZUlkcywgYWx0ZXJuYXRpZXZlUm91dGVQdWljcyk7XG5cbiAgICAgICAgICAgICAgICBnZWJyb2tlblJpdCA9IGdlYnJva2VuUml0IHx8IGlzR2Vicm9rZW5SaXRkZWVsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGFhdHN0ZU5hYXJTcG9vciA9IHJpdERlZWwuZ2V0VmlzdWVlbE5hYXJQcmxTcG9vcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5zZXRWYWxpZGVSaXQoIWdlYnJva2VuUml0KTtcblxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEdlcGxhbmRlQWN0aWVzKGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzKSk7XG4gICAgICAgIGNvbnN0IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkgPSBVdGlscy5mbGF0TWFwKEFycmF5LmZyb20oYWN0aWVPcFJpdFNlbGVjdGllUHVpY3MudmFsdWVzKCkpLCB4ID0+IHgpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFjdGllT3BSaXRTZWxlY3RpZUlkcyhhY3RpZU9wUml0U2VsZWN0aWVQdWljc0FycmF5KSk7XG4gICAgICAgIHJpdFNlbGVjdGllUHVpY3MgPSByaXRTZWxlY3RpZVB1aWNzLmZpbHRlcihpdGVtID0+IGFjdGllT3BSaXRTZWxlY3RpZVB1aWNzQXJyYXkuaW5kZXhPZihpdGVtKSA8IDApOyAvLyBtYWtlIG11dHVhbGx5IGV4Y2x1c2l2ZVxuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldFJpdFNlbGVjdGllSWRzKHJpdFNlbGVjdGllUHVpY3MpKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChTZXRHZWJyb2tlblJpdFNlbGVjdGllSWRzKGdlYnJva2VuUml0U2VsZWN0aWVQdWljcykpO1xuICAgICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFNldEFsdGVybmF0aWV2ZW5DbGlja2FibGVJZHModGhpcy5lZGl0YWJsZSA/IGNsaWNrYWJsZUlkcyA6IFtdKSk7XG4gICAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goU2V0QWx0ZXJuYXRpZXZlblNlbGVjdGllSWRzKHRoaXMuZWRpdGFibGUgPyBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzIDogW10pKTtcbiAgICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDbGVhclByb2dyZXNzKCkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgYmVwYWFsQWx0ZXJuYXRpZXZlbihyaXREZWVsOiBSaXRkZWVsLCBjbGlja2FibGVJZHM6IHN0cmluZ1tdLCBhbHRlcm5hdGlldmVSb3V0ZVB1aWNzOiBzdHJpbmdbXSk6IHZvaWQge1xuICAgICAgICByaXREZWVsLmdldEFsdGVybmF0aWV2ZVJvdXRlcygpPy5mb3JFYWNoKGFsdGVybmF0aWV2ZVJvdXRlID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFsdGVybmF0aWV2ZVRvcG9FbGVtZW50ZW4gPVxuICAgICAgICAgICAgICAgIHRoaXMuc2JtU2VydmljZS5iZXBhYWxBbHRlcm5hdGl2ZVJvdXRlSGlnaGxpZ2h0cyhhbHRlcm5hdGlldmVSb3V0ZSwgcml0RGVlbC5nZXRUb3BvbG9naWVFbGVtZW50ZW4oKSk7XG5cbiAgICAgICAgICAgIGNvbnN0IGFsdFB1aWNzID0gdGhpcy5nZXRQdWljcyhhbHRlcm5hdGlldmVUb3BvRWxlbWVudGVuKTtcbiAgICAgICAgICAgIGlmIChhbHRQdWljcykge1xuICAgICAgICAgICAgICAgIGNsaWNrYWJsZUlkcy5wdXNoKC4uLmFsdFB1aWNzKTtcbiAgICAgICAgICAgICAgICBhbHRQdWljcy5mb3JFYWNoKHB1aWMgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnB1aWNOYWFyQWx0ZXJuYXRpZXZlUm91dGUuc2V0KHB1aWMsIG5ldyBBbHRlcm5hdGllZlJpdERlZWwocml0RGVlbCwgYWx0ZXJuYXRpZXZlUm91dGUpKTtcbiAgICAgICAgICAgICAgICAgICAgYWx0ZXJuYXRpZXZlUm91dGVQdWljcy5wdXNoKHB1aWMpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGlzR2Vicm9rZW5SaXRkZWVsKHJpdERlZWwsIGxhYXRzdGVOYWFyU3Bvb3IpOiBib29sZWFuIHtcbiAgICAgICAgY29uc3QgaXNHZWJyb2tlblJpdGRlZWwgPSAhKCFsYWF0c3RlTmFhclNwb29yIHx8IHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSA9PT0gbGFhdHN0ZU5hYXJTcG9vcik7XG4gICAgICAgIGlmIChpc0dlYnJva2VuUml0ZGVlbCkge1xuICAgICAgICAgICAgY29uc29sZS5sb2coJ1JpdCB2YW4gJyArIHJpdERlZWwuZ2V0VmFuUHJsU3Bvb3IoKSArICcgbmFhciAnICsgcml0RGVlbC5nZXROYWFyUHJsU3Bvb3IoKVxuICAgICAgICAgICAgICAgICsgJyBpbiBwcGxnICcgKyByaXREZWVsLmdldFBwbGcoKSArICcgc2x1aXQgbmlldCBhYW4gb3Agdm9yaWdlIGJld2VnaW5nLicpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBpc0dlYnJva2VuUml0ZGVlbDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldFB1aWNzKHRvcG9FbGVtZW50ZW46IHNiYmxhZC5IYXNJZGVudGlmaWVyW10pOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiB0b3BvRWxlbWVudGVuLm1hcChlID0+IGUuZ2V0UHVpYygpKTtcbiAgICB9XG59XG4iLCI8aW14LXZpZXdlciAjaW14dmlld2VyY29udGFpbmVyXG4gICAgICAgICAgICBbc3ZnSW5mb109XCJzdmdJbmZvcyQgfCBhc3luY1wiXG4gICAgICAgICAgICBbc2VsZWN0aWVJbmZvc109XCJ2aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvc1wiXG4gICAgICAgICAgICBbY2xpY2thYmxlSWRzXT1cImNsaWNrYWJsZUlkc1wiXG4gICAgICAgICAgICBbcmlnaHRDbGlja2FibGVJZHNdPVwicmlnaHRDbGlja2FibGVJZHNcIlxuICAgICAgICAgICAgW3BvcG92ZXJJbmZvc109XCJwb3BvdmVySW5mb3NcIlxuICAgICAgICAgICAgW2lubGluZURnbkNzc0ltcG9ydF09XCJmYWxzZVwiXG4gICAgICAgICAgICBbdXNlQ2xpY2tBcmVhXT1cInVzZUNsaWNrQXJlYVwiXG4gICAgICAgICAgICBbem9vbVNjYWxlU2Vuc2l0aXZpdHldPVwiMC4yNVwiXG4gICAgICAgICAgICAoY2xpY2tIYW5kbGVyKT1cImhhbmRsZUlteHZpZXdDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICAgIChyaWdodENsaWNrSGFuZGxlcik9XCJoYW5kbGVJbXh2aWV3UmlnaHRDbGljaygkZXZlbnQpXCJcbiAgICAgICAgICA+PC9pbXgtdmlld2VyPlxuXG48dWwgaWQ9XCJjb250ZXh0TWVudVwiIGNsYXNzPVwiZHJvcGRvd24tbWVudVwiIHJvbGU9XCJtZW51XCIgW25nU3R5bGVdPVwiY29udGV4dE1lbnVTdHlsZVwiPlxuICAgIDxsaSAqbmdGb3I9XCJsZXQgYWN0aW9uIG9mIGNvbnRleHRNZW51QWN0aW9uc1wiPjxhIGNsYXNzPVwiZHJvcGRvd24taXRlbVwiIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoY2xpY2spPVwiYWN0aW9uLmNsaWNrKClcIj57e2FjdGlvbi5sYWJlbH19PC9hPjwvbGk+XG48L3VsPlxuIl19
@@ -1,52 +0,0 @@
1
- import { Component, Input } from '@angular/core';
2
- import { Subscription } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- import * as i1 from "@ngrx/store";
5
- import * as i2 from "../../services/viewer-control.service";
6
- import * as i3 from "../../services/beweging-utils.service";
7
- import * as i4 from "@angular/common";
8
- import * as i5 from "../carousel-controls/carousel-controls.component";
9
- export class ViewerControlsComponent {
10
- constructor(store, viewerControlsService, bewegingUtils) {
11
- this.store = store;
12
- this.viewerControlsService = viewerControlsService;
13
- this.bewegingUtils = bewegingUtils;
14
- this.paginationSize = 4;
15
- this.printing$ = this.viewerControlsService.isPrinting$();
16
- this.valideRit$ = this.viewerControlsService.isValideRit$();
17
- this.subscriptions = new Subscription();
18
- this.subscriptions.add(this.store.select('editable').subscribe(editable => this.editable = editable));
19
- }
20
- ngOnChanges({ treinpad }) {
21
- if (treinpad && this.treinpad) {
22
- this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
23
- }
24
- }
25
- showGoedkeuren() {
26
- return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
27
- }
28
- goedkeurenClick() {
29
- const ritDelen = this.viewerControlsService.ritdelen;
30
- if (ritDelen) {
31
- delete this.treinpad.aantalRitActies;
32
- this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
33
- this.goedgekeurd.emit(this.treinpad);
34
- this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
35
- }
36
- }
37
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, deps: [{ token: i1.Store }, { token: i2.ViewerControlService }, { token: i3.BewegingUtils }], target: i0.ɵɵFactoryTarget.Component }); }
38
- 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: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i5.CarouselControlsComponent, selector: "carousel-controls", inputs: ["paginationSize", "iaversieinfo", "sideNavOpen"] }, { kind: "pipe", type: i4.AsyncPipe, name: "async" }] }); }
39
- }
40
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
41
- type: Component,
42
- 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"] }]
43
- }], ctorParameters: () => [{ type: i1.Store }, { type: i2.ViewerControlService }, { type: i3.BewegingUtils }], propDecorators: { paginationSize: [{
44
- type: Input
45
- }], iaversieinfo: [{
46
- type: Input
47
- }], treinpad: [{
48
- type: Input
49
- }], goedgekeurd: [{
50
- type: Input
51
- }] } });
52
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdlci1jb250cm9scy92aWV3ZXItY29udHJvbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL2NvbXBvbmVudHMvdmlld2VyLWNvbnRyb2xzL3ZpZXdlci1jb250cm9scy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFnQixLQUFLLEVBQTRCLE1BQU0sZUFBZSxDQUFDO0FBRXpGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFXcEMsTUFBTSxPQUFPLHVCQUF1QjtJQVloQyxZQUFvQixLQUE0QixFQUM3QixxQkFBMkMsRUFDMUMsYUFBNEI7UUFGNUIsVUFBSyxHQUFMLEtBQUssQ0FBdUI7UUFDN0IsMEJBQXFCLEdBQXJCLHFCQUFxQixDQUFzQjtRQUMxQyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQWJ2QyxtQkFBYyxHQUFHLENBQUMsQ0FBQztRQUs1QixjQUFTLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3JELGVBQVUsR0FBSSxJQUFJLENBQUMscUJBQXFCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFFeEQsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBTS9CLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUMxRyxDQUFDO0lBRUQsV0FBVyxDQUFDLEVBQUUsUUFBUSxFQUFpQjtRQUNuQyxJQUFJLFFBQVEsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDNUIsSUFBSSxDQUFDLHFCQUFxQixDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRSxDQUFDO0lBQ0wsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLHFCQUFxQixDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxlQUFlO1FBQ1gsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFFBQVEsQ0FBQztRQUNyRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ1gsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQztZQUNyQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLDRCQUE0QixDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMscUJBQXFCLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDOUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3JDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7OEdBcENRLHVCQUF1QjtrR0FBdkIsdUJBQXVCLDBNQ2JwQyw2ekJBa0JBOzsyRkRMYSx1QkFBdUI7a0JBTG5DLFNBQVM7K0JBQ0ksaUJBQWlCO3lJQUtsQixjQUFjO3NCQUF0QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbmZyYU1vZGVsLCBSaXQgfSBmcm9tICcuLi8uLi9vcHRpbW8nO1xuaW1wb3J0IHsgQmV3ZWdpbmdVdGlscyB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2Jld2VnaW5nLXV0aWxzLnNlcnZpY2UnO1xuaW1wb3J0IHsgVmlld2VyQ29udHJvbFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy92aWV3ZXItY29udHJvbC5zZXJ2aWNlJztcbmltcG9ydCB7IE1zdEVkaXRvclN0YXRlIH0gZnJvbSAnLi4vLi4vc3RhdGUvbXN0LWVkaXRvci1zdGF0ZSc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndmlld2VyLWNvbnRyb2xzJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdmlld2VyLWNvbnRyb2xzLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi92aWV3ZXItY29udHJvbHMuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBWaWV3ZXJDb250cm9sc0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XG4gICAgQElucHV0KCkgcGFnaW5hdGlvblNpemUgPSA0O1xuICAgIEBJbnB1dCgpIGlhdmVyc2llaW5mbzogSW5mcmFNb2RlbDtcbiAgICBASW5wdXQoKSB0cmVpbnBhZDogUml0O1xuICAgIEBJbnB1dCgpIGdvZWRnZWtldXJkOiBFdmVudEVtaXR0ZXI8Uml0PjtcblxuICAgIHByaW50aW5nJCA9IHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLmlzUHJpbnRpbmckKCk7XG4gICAgdmFsaWRlUml0JCAgPSB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5pc1ZhbGlkZVJpdCQoKTtcblxuICAgIHN1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG5cbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHN0b3JlOiBTdG9yZTxNc3RFZGl0b3JTdGF0ZT4sXG4gICAgICAgICAgICAgICAgcHVibGljIHZpZXdlckNvbnRyb2xzU2VydmljZTogVmlld2VyQ29udHJvbFNlcnZpY2UsXG4gICAgICAgICAgICAgICAgcHJpdmF0ZSBiZXdlZ2luZ1V0aWxzOiBCZXdlZ2luZ1V0aWxzKSB7XG4gICAgICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQodGhpcy5zdG9yZS5zZWxlY3QoJ2VkaXRhYmxlJykuc3Vic2NyaWJlKGVkaXRhYmxlID0+IHRoaXMuZWRpdGFibGUgPSBlZGl0YWJsZSkpO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKHsgdHJlaW5wYWQgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBpZiAodHJlaW5wYWQgJiYgdGhpcy50cmVpbnBhZCkge1xuICAgICAgICAgICAgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2V0T3JpZ2luZWVsVHJlaW5QYWQodGhpcy50cmVpbnBhZCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzaG93R29lZGtldXJlbigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWRpdGFibGUgJiYgdGhpcy52aWV3ZXJDb250cm9sc1NlcnZpY2Uuc2VsZWN0aWVJbmZvcy5sZW5ndGggIT09IDA7XG4gICAgfVxuXG4gICAgZ29lZGtldXJlbkNsaWNrKCk6IHZvaWQge1xuICAgICAgICBjb25zdCByaXREZWxlbiA9IHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnJpdGRlbGVuO1xuICAgICAgICBpZiAocml0RGVsZW4pIHtcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLnRyZWlucGFkLmFhbnRhbFJpdEFjdGllcztcbiAgICAgICAgICAgIHRoaXMudHJlaW5wYWQuYmV3ZWdpbmdlbiA9IHRoaXMuYmV3ZWdpbmdVdGlscy5leHRyYWN0QmV3ZWdpbmdlblVpdFJpdGRlbGVuKHJpdERlbGVuLCB0aGlzLnZpZXdlckNvbnRyb2xzU2VydmljZS5vcmlnaW5lZWxUcmVpblBhZC5iZXdlZ2luZ2VuKTtcbiAgICAgICAgICAgIHRoaXMuZ29lZGdla2V1cmQuZW1pdCh0aGlzLnRyZWlucGFkKTtcbiAgICAgICAgICAgIHRoaXMudmlld2VyQ29udHJvbHNTZXJ2aWNlLnNldE9yaWdpbmVlbFRyZWluUGFkKHRoaXMudHJlaW5wYWQpO1xuICAgICAgICB9XG4gICAgfVxuXG59XG4iLCI8YnV0dG9uIGlkPVwidG9vblNpZGVOYXZLbm9wXCJcbiAgICAgICAgY2xhc3M9XCJsb3hpYS1idG4gbG94aWEtYnRuLXByaW1hcnkgbG94aWEtYnRuLXNtIG9wZW4tc2lkZW5hdi1idXR0b25cIlxuICAgICAgICAoY2xpY2spPVwidmlld2VyQ29udHJvbHNTZXJ2aWNlLnRvZ2dsZVNpZGVOYXZWaXNpYmxlKClcIlxuICAgICAgICBbY2xhc3MuYWN0aXZlXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zaWRlTmF2T3BlbiQgfCBhc3luY1wiXG4gICAgICAgIFtoaWRkZW5dPVwicHJpbnRpbmckIHwgYXN5bmNcIj5SaXRkZXRhaWxzXG48L2J1dHRvbj5cbjxidXR0b24gKm5nSWY9XCJzaG93R29lZGtldXJlbigpXCJcbiAgICAgICAgaWQ9XCJnb2Vka2V1cmVuS25vcFwiXG4gICAgICAgIGNsYXNzPVwibG94aWEtYnRuIGxveGlhLWJ0bi1wcmltYXJ5IGxveGlhLWJ0bi1zbSBnb2Vka2V1cmVuLWJ1dHRvblwiXG4gICAgICAgIChjbGljayk9XCJnb2Vka2V1cmVuQ2xpY2soKVwiXG4gICAgICAgIFtkaXNhYmxlZF09XCIodmFsaWRlUml0JCB8IGFzeW5jICkgPT09IGZhbHNlXCJcbiAgICAgICAgW2hpZGRlbl09XCJwcmludGluZyQgfCBhc3luY1wiPkdvZWRrZXVyZW5cbjwvYnV0dG9uPlxuXG48Y2Fyb3VzZWwtY29udHJvbHMgW3BhZ2luYXRpb25TaXplXT1cInBhZ2luYXRpb25TaXplXCJcbiAgICAgICAgICAgICAgICAgICBbaWF2ZXJzaWVpbmZvXT1cImlhdmVyc2llaW5mb1wiXG4gICAgICAgICAgICAgICAgICAgW3NpZGVOYXZPcGVuXT1cInZpZXdlckNvbnRyb2xzU2VydmljZS5zaWRlTmF2T3BlbiQgfCBhc3luY1wiPlxuPC9jYXJvdXNlbC1jb250cm9scz5cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export class AlternatiefRitDeel {
2
- constructor(ritDeel, alternatieveRoute) {
3
- this.ritDeel = ritDeel;
4
- this.alternatieveRoute = alternatieveRoute;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWx0ZXJuYXRpZWYtcml0LWRlZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvbW9kZWwvYWx0ZXJuYXRpZWYtcml0LWRlZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsTUFBTSxPQUFPLGtCQUFrQjtJQUUzQixZQUFtQixPQUFnQixFQUFTLGlCQUEwQztRQUFuRSxZQUFPLEdBQVAsT0FBTyxDQUFTO1FBQVMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUF5QjtJQUV0RixDQUFDO0NBRUoiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IHsgUml0ZGVlbCB9IGZyb20gJy4vcml0ZGVlbCc7XG5cbmV4cG9ydCBjbGFzcyBBbHRlcm5hdGllZlJpdERlZWwge1xuXG4gICAgY29uc3RydWN0b3IocHVibGljIHJpdERlZWw6IFJpdGRlZWwsIHB1YmxpYyBhbHRlcm5hdGlldmVSb3V0ZTogc2JibGFkLkFsdGVybmF0aXZlUm91dGUpIHtcblxuICAgIH1cblxufVxuIl19
@@ -1,39 +0,0 @@
1
- import { JsJavaUtil } from '@loxia/rijwegen';
2
- export class KmRange {
3
- constructor(topologyElement, vanKilometreringen, totKilometreringen) {
4
- this.topologyElement = topologyElement;
5
- this.vanKilometreringen = vanKilometreringen;
6
- this.totKilometreringen = totKilometreringen;
7
- }
8
- static rangeVoorPuntObject(topologyElement) {
9
- return new KmRange(topologyElement, JsJavaUtil.listToArray(topologyElement.getKilometreringen()), JsJavaUtil.listToArray(topologyElement.getKilometreringen()));
10
- }
11
- static rangeVoorStrekObject(topologyElement, vanKilometreringen, totKilometreringen) {
12
- return new KmRange(topologyElement, vanKilometreringen, totKilometreringen);
13
- }
14
- static getKilometrering(lintNaam, kilometreringen) {
15
- const result = kilometreringen.filter(kilometrering => kilometrering.getKmLint() === lintNaam);
16
- if (result.length >= 1) {
17
- return result[0];
18
- }
19
- return null;
20
- }
21
- heeftOverlap(kilometrering1, kilometrering2) {
22
- const vanKilometrering = KmRange.getKilometrering(kilometrering1.getKmLint(), this.vanKilometreringen);
23
- const totKilometrering = KmRange.getKilometrering(kilometrering2.getKmLint(), this.totKilometreringen);
24
- if (!vanKilometrering || !totKilometrering) {
25
- return false;
26
- }
27
- let startKmWaarde = vanKilometrering.getKmWaarde();
28
- let endKmWaarde = totKilometrering.getKmWaarde();
29
- if (startKmWaarde > endKmWaarde) {
30
- const temp = { end: endKmWaarde, start: startKmWaarde };
31
- startKmWaarde = temp.end;
32
- endKmWaarde = temp.start;
33
- }
34
- const actieStartKmWaarde = kilometrering1.getKmWaarde();
35
- const actieEndKmWaarde = kilometrering2.getKmWaarde();
36
- return endKmWaarde >= actieStartKmWaarde && actieEndKmWaarde >= startKmWaarde;
37
- }
38
- }
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia20tcmFuZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tc3Qtdmlld2VyL3NyYy9saWIvbW9kZWwva20tcmFuZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBSXJELE1BQU0sT0FBTyxPQUFPO0lBQ2hCLFlBQTJCLGVBQWdDLEVBQ2hDLGtCQUFtQyxFQUNuQyxrQkFBbUM7UUFGbkMsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBQ2hDLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBaUI7UUFDbkMsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFpQjtJQUM5RCxDQUFDO0lBRU0sTUFBTSxDQUFDLG1CQUFtQixDQUFDLGVBQWdDO1FBQzlELE9BQU8sSUFBSSxPQUFPLENBQUMsZUFBZSxFQUM5QixVQUFVLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxrQkFBa0IsRUFBRSxDQUFDLEVBQzVELFVBQVUsQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDO0lBQ3RFLENBQUM7SUFFTSxNQUFNLENBQUMsb0JBQW9CLENBQUMsZUFBZ0MsRUFDaEMsa0JBQW1DLEVBQ25DLGtCQUFtQztRQUNsRSxPQUFPLElBQUksT0FBTyxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFTSxNQUFNLENBQUMsZ0JBQWdCLENBQUMsUUFBZ0IsRUFBRSxlQUFnQztRQUM3RSxNQUFNLE1BQU0sR0FBb0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxTQUFTLEVBQUUsS0FBSyxRQUFRLENBQUMsQ0FBQztRQUNoSCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckIsT0FBTyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxZQUFZLENBQUMsY0FBNkIsRUFBRSxjQUE2QjtRQUNyRSxNQUFNLGdCQUFnQixHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxjQUFjLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUM7UUFDdkcsTUFBTSxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZHLElBQUksQ0FBQyxnQkFBZ0IsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekMsT0FBTyxLQUFLLENBQUM7UUFDakIsQ0FBQztRQUVELElBQUksYUFBYSxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ25ELElBQUksV0FBVyxHQUFHLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ2pELElBQUksYUFBYSxHQUFHLFdBQVcsRUFBRSxDQUFDO1lBQzlCLE1BQU0sSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsYUFBYSxFQUFFLENBQUM7WUFDeEQsYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUM7WUFDekIsV0FBVyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDN0IsQ0FBQztRQUVELE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsY0FBYyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3RELE9BQU8sV0FBVyxJQUFJLGtCQUFrQixJQUFJLGdCQUFnQixJQUFJLGFBQWEsQ0FBQztJQUNsRixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBKc0phdmFVdGlsLCBzYmJsYWQgfSBmcm9tICdAbG94aWEvcmlqd2VnZW4nO1xuaW1wb3J0IEtpbG9tZXRyZXJpbmcgPSBzYmJsYWQuS2lsb21ldHJlcmluZztcbmltcG9ydCBUb3BvbG9neUVsZW1lbnQgPSBzYmJsYWQuVG9wb2xvZ3lFbGVtZW50O1xuXG5leHBvcnQgY2xhc3MgS21SYW5nZSB7XG4gICAgcHJpdmF0ZSBjb25zdHJ1Y3RvcihwdWJsaWMgdG9wb2xvZ3lFbGVtZW50OiBUb3BvbG9neUVsZW1lbnQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgdmFuS2lsb21ldHJlcmluZ2VuOiBLaWxvbWV0cmVyaW5nW10sXG4gICAgICAgICAgICAgICAgICAgICAgICBwdWJsaWMgdG90S2lsb21ldHJlcmluZ2VuOiBLaWxvbWV0cmVyaW5nW10pIHtcbiAgICB9XG5cbiAgICBwdWJsaWMgc3RhdGljIHJhbmdlVm9vclB1bnRPYmplY3QodG9wb2xvZ3lFbGVtZW50OiBUb3BvbG9neUVsZW1lbnQpOiBLbVJhbmdlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBLbVJhbmdlKHRvcG9sb2d5RWxlbWVudCxcbiAgICAgICAgICAgIEpzSmF2YVV0aWwubGlzdFRvQXJyYXkodG9wb2xvZ3lFbGVtZW50LmdldEtpbG9tZXRyZXJpbmdlbigpKSxcbiAgICAgICAgICAgIEpzSmF2YVV0aWwubGlzdFRvQXJyYXkodG9wb2xvZ3lFbGVtZW50LmdldEtpbG9tZXRyZXJpbmdlbigpKSk7XG4gICAgfVxuXG4gICAgcHVibGljIHN0YXRpYyByYW5nZVZvb3JTdHJla09iamVjdCh0b3BvbG9neUVsZW1lbnQ6IFRvcG9sb2d5RWxlbWVudCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbktpbG9tZXRyZXJpbmdlbjogS2lsb21ldHJlcmluZ1tdLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG90S2lsb21ldHJlcmluZ2VuOiBLaWxvbWV0cmVyaW5nW10pOiBLbVJhbmdlIHtcbiAgICAgICAgcmV0dXJuIG5ldyBLbVJhbmdlKHRvcG9sb2d5RWxlbWVudCwgdmFuS2lsb21ldHJlcmluZ2VuLCB0b3RLaWxvbWV0cmVyaW5nZW4pO1xuICAgIH1cblxuICAgIHB1YmxpYyBzdGF0aWMgZ2V0S2lsb21ldHJlcmluZyhsaW50TmFhbTogc3RyaW5nLCBraWxvbWV0cmVyaW5nZW46IEtpbG9tZXRyZXJpbmdbXSk6IEtpbG9tZXRyZXJpbmcge1xuICAgICAgICBjb25zdCByZXN1bHQ6IEtpbG9tZXRyZXJpbmdbXSA9IGtpbG9tZXRyZXJpbmdlbi5maWx0ZXIoa2lsb21ldHJlcmluZyA9PiBraWxvbWV0cmVyaW5nLmdldEttTGludCgpID09PSBsaW50TmFhbSk7XG4gICAgICAgIGlmIChyZXN1bHQubGVuZ3RoID49IDEpIHtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHRbMF07XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgaGVlZnRPdmVybGFwKGtpbG9tZXRyZXJpbmcxOiBLaWxvbWV0cmVyaW5nLCBraWxvbWV0cmVyaW5nMjogS2lsb21ldHJlcmluZyk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YW5LaWxvbWV0cmVyaW5nID0gS21SYW5nZS5nZXRLaWxvbWV0cmVyaW5nKGtpbG9tZXRyZXJpbmcxLmdldEttTGludCgpLCB0aGlzLnZhbktpbG9tZXRyZXJpbmdlbik7XG4gICAgICAgIGNvbnN0IHRvdEtpbG9tZXRyZXJpbmcgPSBLbVJhbmdlLmdldEtpbG9tZXRyZXJpbmcoa2lsb21ldHJlcmluZzIuZ2V0S21MaW50KCksIHRoaXMudG90S2lsb21ldHJlcmluZ2VuKTtcbiAgICAgICAgaWYgKCF2YW5LaWxvbWV0cmVyaW5nIHx8ICF0b3RLaWxvbWV0cmVyaW5nKSB7XG4gICAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgc3RhcnRLbVdhYXJkZSA9IHZhbktpbG9tZXRyZXJpbmcuZ2V0S21XYWFyZGUoKTtcbiAgICAgICAgbGV0IGVuZEttV2FhcmRlID0gdG90S2lsb21ldHJlcmluZy5nZXRLbVdhYXJkZSgpO1xuICAgICAgICBpZiAoc3RhcnRLbVdhYXJkZSA+IGVuZEttV2FhcmRlKSB7XG4gICAgICAgICAgICBjb25zdCB0ZW1wID0geyBlbmQ6IGVuZEttV2FhcmRlLCBzdGFydDogc3RhcnRLbVdhYXJkZSB9O1xuICAgICAgICAgICAgc3RhcnRLbVdhYXJkZSA9IHRlbXAuZW5kO1xuICAgICAgICAgICAgZW5kS21XYWFyZGUgPSB0ZW1wLnN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgYWN0aWVTdGFydEttV2FhcmRlID0ga2lsb21ldHJlcmluZzEuZ2V0S21XYWFyZGUoKTtcbiAgICAgICAgY29uc3QgYWN0aWVFbmRLbVdhYXJkZSA9IGtpbG9tZXRyZXJpbmcyLmdldEttV2FhcmRlKCk7XG4gICAgICAgIHJldHVybiBlbmRLbVdhYXJkZSA+PSBhY3RpZVN0YXJ0S21XYWFyZGUgJiYgYWN0aWVFbmRLbVdhYXJkZSA+PSBzdGFydEttV2FhcmRlO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,7 +0,0 @@
1
- export class MeldingEvent {
2
- constructor(meldingMessage, meldingLevel) {
3
- this.meldingMessage = meldingMessage;
4
- this.meldingLevel = meldingLevel;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVsZGluZy1ldmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9tb2RlbC9tZWxkaW5nLWV2ZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxZQUFZO0lBQ3JCLFlBQW1CLGNBQXNCLEVBQVMsWUFBb0I7UUFBbkQsbUJBQWMsR0FBZCxjQUFjLENBQVE7UUFBUyxpQkFBWSxHQUFaLFlBQVksQ0FBUTtJQUN0RSxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgTWVsZGluZ0V2ZW50IHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgbWVsZGluZ01lc3NhZ2U6IHN0cmluZywgcHVibGljIG1lbGRpbmdMZXZlbDogc3RyaW5nKSB7XG4gICAgfVxufVxuIl19
@@ -1,10 +0,0 @@
1
- export class NieuweRoute {
2
- constructor(beginSeinOpRitdeel, combinatieVoorEindsein) {
3
- this.beginSeinOpRitdeel = beginSeinOpRitdeel;
4
- this.combinatieVoorEindsein = combinatieVoorEindsein;
5
- }
6
- isValid() {
7
- return this.combinatieVoorEindsein !== null;
8
- }
9
- }
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmlldXdlLXJvdXRlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbXN0LXZpZXdlci9zcmMvbGliL21vZGVsL25pZXV3ZS1yb3V0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxNQUFNLE9BQU8sV0FBVztJQUVwQixZQUFtQixrQkFBaUMsRUFBUyxzQkFBdUQ7UUFBakcsdUJBQWtCLEdBQWxCLGtCQUFrQixDQUFlO1FBQVMsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUFpQztJQUNwSCxDQUFDO0lBRUQsT0FBTztRQUNILE9BQU8sSUFBSSxDQUFDLHNCQUFzQixLQUFLLElBQUksQ0FBQztJQUNoRCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIH0gZnJvbSAnLi9yaWp3ZWdwbGFuLXJpandlZy1kd2FuZy1jb21iaW5hdGllJztcbmltcG9ydCB7IFNlaW5PcFJpdGRlZWwgfSBmcm9tICcuL3NlaW4tb3Atcml0ZGVlbCc7XG5cbmV4cG9ydCBjbGFzcyBOaWV1d2VSb3V0ZSB7XG5cbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYmVnaW5TZWluT3BSaXRkZWVsOiBTZWluT3BSaXRkZWVsLCBwdWJsaWMgY29tYmluYXRpZVZvb3JFaW5kc2VpbjogUmlqd2VncGxhblJpandlZ0R3YW5nQ29tYmluYXRpZSkge1xuICAgIH1cblxuICAgIGlzVmFsaWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvbWJpbmF0aWVWb29yRWluZHNlaW4gIT09IG51bGw7XG4gICAgfVxufVxuIl19
@@ -1,7 +0,0 @@
1
- export class OngeplandeActie {
2
- constructor(actie, puics) {
3
- this.actie = actie;
4
- this.puics = puics;
5
- }
6
- }
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25nZXBsYW5kZS1hY3RpZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9tb2RlbC9vbmdlcGxhbmRlLWFjdGllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sT0FBTyxlQUFlO0lBQ3hCLFlBQW1CLEtBQVksRUFDWixLQUFlO1FBRGYsVUFBSyxHQUFMLEtBQUssQ0FBTztRQUNaLFVBQUssR0FBTCxLQUFLLENBQVU7SUFDbEMsQ0FBQztDQUVKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aWUgfSBmcm9tICcuLi9vcHRpbW8nO1xuXG5leHBvcnQgY2xhc3MgT25nZXBsYW5kZUFjdGllIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgYWN0aWU6IEFjdGllLFxuICAgICAgICAgICAgICAgIHB1YmxpYyBwdWljczogc3RyaW5nW10pIHtcbiAgICB9XG5cbn1cbiJdfQ==
@@ -1,24 +0,0 @@
1
- export class RijwegplanRijwegDwangCombinatie {
2
- constructor(rijwegplan, rijweg, dwang) {
3
- this.rijwegplan = rijwegplan;
4
- this.rijweg = rijweg;
5
- this.dwang = dwang;
6
- }
7
- getDwangNummer() {
8
- return this.dwang.getDwangNummer() === 0 ? -1 : this.dwang.getDwangNummer();
9
- }
10
- getVanPrlSpoor() {
11
- return this.dwang.getVanPrlSpoor();
12
- }
13
- getNaarPrlSpoor() {
14
- return this.dwang.getNaarPrlSpoor();
15
- }
16
- getRoute() {
17
- return this.dwang.getRoute();
18
- }
19
- isVrijeBaanRijweg() {
20
- const vbrwp = this.rijwegplan;
21
- return !!vbrwp.getVervolgSpoor;
22
- }
23
- }
24
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlqd2VncGxhbi1yaWp3ZWctZHdhbmctY29tYmluYXRpZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL21zdC12aWV3ZXIvc3JjL2xpYi9tb2RlbC9yaWp3ZWdwbGFuLXJpandlZy1kd2FuZy1jb21iaW5hdGllLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sT0FBTywrQkFBK0I7SUFDeEMsWUFBNEIsVUFBNkIsRUFDN0IsTUFBcUIsRUFDckIsS0FBbUI7UUFGbkIsZUFBVSxHQUFWLFVBQVUsQ0FBbUI7UUFDN0IsV0FBTSxHQUFOLE1BQU0sQ0FBZTtRQUNyQixVQUFLLEdBQUwsS0FBSyxDQUFjO0lBQy9DLENBQUM7SUFFRCxjQUFjO1FBQ1YsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDaEYsQ0FBQztJQUVELGNBQWM7UUFDVixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDdkMsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDeEMsQ0FBQztJQUVELFFBQVE7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE1BQU0sS0FBSyxHQUF3QixJQUFJLENBQUMsVUFBVSxDQUFDO1FBQ25ELE9BQU8sQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUM7SUFDbkMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZG9tZWluIH0gZnJvbSAnQGxveGlhL3JpandlZ2VuJztcbmltcG9ydCBWcmlqZWJhYW5SaWp3ZWdwbGFuID0gZG9tZWluLlZyaWplYmFhblJpandlZ3BsYW47XG5cbmV4cG9ydCBjbGFzcyBSaWp3ZWdwbGFuUmlqd2VnRHdhbmdDb21iaW5hdGllIHtcbiAgICBjb25zdHJ1Y3RvcihwdWJsaWMgcmVhZG9ubHkgcmlqd2VncGxhbjogZG9tZWluLlJpandlZ3BsYW4sXG4gICAgICAgICAgICAgICAgcHVibGljIHJlYWRvbmx5IHJpandlZzogZG9tZWluLlJpandlZyxcbiAgICAgICAgICAgICAgICBwdWJsaWMgcmVhZG9ubHkgZHdhbmc6IGRvbWVpbi5Ed2FuZykge1xuICAgIH1cblxuICAgIGdldER3YW5nTnVtbWVyKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLmR3YW5nLmdldER3YW5nTnVtbWVyKCkgPT09IDAgPyAtMSA6IHRoaXMuZHdhbmcuZ2V0RHdhbmdOdW1tZXIoKTtcbiAgICB9XG5cbiAgICBnZXRWYW5QcmxTcG9vcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kd2FuZy5nZXRWYW5QcmxTcG9vcigpO1xuICAgIH1cblxuICAgIGdldE5hYXJQcmxTcG9vcigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5kd2FuZy5nZXROYWFyUHJsU3Bvb3IoKTtcbiAgICB9XG5cbiAgICBnZXRSb3V0ZSgpOiBkb21laW4uUm91dGUge1xuICAgICAgICByZXR1cm4gdGhpcy5kd2FuZy5nZXRSb3V0ZSgpO1xuICAgIH1cblxuICAgIGlzVnJpamVCYWFuUmlqd2VnKCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YnJ3cCA9IDxWcmlqZWJhYW5SaWp3ZWdwbGFuPnRoaXMucmlqd2VncGxhbjtcbiAgICAgICAgcmV0dXJuICEhdmJyd3AuZ2V0VmVydm9sZ1Nwb29yO1xuICAgIH1cbn1cbiJdfQ==