@loxia/mst-viewer 8.1.3-202511181116 → 8.1.3-202511191453
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.
- package/esm2022/lib/components/carousel-controls/carousel-controls.component.mjs +5 -6
- package/esm2022/lib/components/mstviewer/mstviewer.component.mjs +4 -4
- package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +12 -13
- package/esm2022/lib/model/km-range.mjs +2 -2
- package/esm2022/lib/services/print-beweging.service.mjs +23 -20
- package/esm2022/lib/services/signalerings-beeld-manager.service.mjs +1 -1
- package/esm2022/lib/services/viewer-control.service.mjs +8 -6
- package/esm2022/lib/state/actions/actions.mjs +1 -2
- package/esm2022/lib/state/actions/ritdelen.actions.mjs +4 -4
- package/esm2022/lib/state/effect/focus-effect.mjs +2 -2
- package/esm2022/lib/state/effect/laad-route-files.effect.mjs +6 -6
- package/esm2022/lib/state/effect/laad-signaleringsbeelden.effect.mjs +2 -2
- package/esm2022/lib/util/actie-helper.mjs +6 -6
- package/esm2022/lib/util/utils.mjs +4 -1
- package/fesm2022/loxia-mst-viewer.mjs +63 -61
- package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
- package/lib/components/carousel-controls/carousel-controls.component.d.ts +1 -3
- package/lib/components/viewer-controls/viewer-controls.component.d.ts +2 -3
- package/lib/model/km-range.d.ts +1 -1
- package/lib/services/print-beweging.service.d.ts +1 -3
- package/lib/services/signalerings-beeld-manager.service.d.ts +1 -1
- package/lib/services/viewer-control.service.d.ts +0 -2
- package/lib/state/actions/actions.d.ts +0 -1
- package/lib/state/actions/ritdelen.actions.d.ts +3 -7
- package/lib/state/effect/laad-route-files.effect.d.ts +2 -4
- package/package.json +1 -1
|
@@ -138,10 +138,10 @@ const DELETE_RITDEEL_ACTIE = '[mst] DeleteRitdeelActie';
|
|
|
138
138
|
const ADD_RITDEEL_ACTIE = '[mst] AddRitdeelActie';
|
|
139
139
|
const NAVIGEER = '[mst] Navigeer';
|
|
140
140
|
const NAVIGEER_VANAF = '[mst] NavigeerVanaf';
|
|
141
|
-
const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize
|
|
141
|
+
const setRitDelen = createAction(SET_RIT_DELEN, (ritDelen, paginationSize) => ({ ritDelen, paginationSize }));
|
|
142
142
|
const setRitdelenAfterUpdate = createAction(SET_RIT_DELEN_AFTER_UPDATE, (ritDelen) => ({ ritDelen }));
|
|
143
|
-
const navigeer = createAction(NAVIGEER, (stapSize, paginationSize
|
|
144
|
-
const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize,
|
|
143
|
+
const navigeer = createAction(NAVIGEER, (stapSize, paginationSize) => ({ stapSize, paginationSize }));
|
|
144
|
+
const navigeerVanaf = createAction(NAVIGEER_VANAF, (paginationSize, ritdeel) => ({ paginationSize, ritdeel }));
|
|
145
145
|
const updateRitDelen = createAction(UPDATE_RIT_DELEN, (ritDelen) => ({ ritDelen }));
|
|
146
146
|
const toggleRitdeelZichtbaar = createAction(TOGGLE_RITDEEL_ZICHTBAAR, (ritDeel) => ({ ritDeel }));
|
|
147
147
|
const setRitdeelZichtbaar = createAction(SET_RITDEEL_ZICHTBAAR, (ritDeel, zichtbaar) => ({ ritDeel, zichtbaar }));
|
|
@@ -172,6 +172,7 @@ class CarouselControlsComponent {
|
|
|
172
172
|
constructor(store) {
|
|
173
173
|
this.store = store;
|
|
174
174
|
this.paginationSize = 4;
|
|
175
|
+
this.sideNavOpen = false;
|
|
175
176
|
this.ritdelen$ = this.store.select('ritDelen').pipe(filter(r => r?.length > 0));
|
|
176
177
|
this.kanLinks$ = this.ritdelen$.pipe(map(r => this.kanLinksNavigeren(r)));
|
|
177
178
|
this.kanRechts$ = this.ritdelen$.pipe(map(r => this.kanRechtsNavigeren(r)));
|
|
@@ -183,21 +184,19 @@ class CarouselControlsComponent {
|
|
|
183
184
|
return ritDelen.length > this.paginationSize && !ritDelen[ritDelen.length - 1].isBinnenWindow();
|
|
184
185
|
}
|
|
185
186
|
navigeerNaarLinks(event) {
|
|
186
|
-
this.store.dispatch(navigeer(event?.ctrlKey ? -1 : -(this.paginationSize - 1), this.paginationSize
|
|
187
|
+
this.store.dispatch(navigeer(event?.ctrlKey ? -1 : -(this.paginationSize - 1), this.paginationSize));
|
|
187
188
|
}
|
|
188
189
|
navigeerNaarRechts(event) {
|
|
189
|
-
this.store.dispatch(navigeer(event?.ctrlKey ? 1 : this.paginationSize - 1, this.paginationSize
|
|
190
|
+
this.store.dispatch(navigeer(event?.ctrlKey ? 1 : this.paginationSize - 1, this.paginationSize));
|
|
190
191
|
}
|
|
191
192
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CarouselControlsComponent, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
192
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CarouselControlsComponent, selector: "carousel-controls", inputs: { paginationSize: "paginationSize",
|
|
193
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: CarouselControlsComponent, selector: "carousel-controls", inputs: { paginationSize: "paginationSize", sideNavOpen: "sideNavOpen" }, ngImport: i0, template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
193
194
|
}
|
|
194
195
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: CarouselControlsComponent, decorators: [{
|
|
195
196
|
type: Component,
|
|
196
197
|
args: [{ selector: 'carousel-controls', template: "<div *ngIf=\"ritdelen$ | async\">\n <a class=\"loxia-carousel-control-prev\" [ngClass]=\"(sideNavOpen)?'carousel-sidebar-open':'carousel-sidebar'\" role=\"button\"\n data-slide=\"prev\" (click)=\"navigeerNaarLinks($event)\" [hidden]=\"(kanLinks$ | async) === false\">\n <span id=\"previous-page\" class=\"loxia-carousel-control-prev-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Previous</span>\n</a>\n <a class=\"loxia-carousel-control-next\" style=\"width: 2%;\" role=\"button\" data-slide=\"next\" (click)=\"navigeerNaarRechts($event)\"\n [hidden]=\"(kanRechts$ | async) === false\">\n <span id=\"next-page\" class=\"loxia-carousel-control-next-icon\" aria-hidden=\"true\"></span>\n <span class=\"loxia-sr-only\">Next</span>\n </a>\n</div>\n", styles: [".loxia-carousel-control-prev{left:0}.loxia-carousel-control-next{right:0}.loxia-carousel-control-next-icon,.loxia-carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.loxia-carousel-control-prev-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next-icon{background-image:url(\"data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e\")}.loxia-carousel-control-next:focus,.loxia-carousel-control-next:hover,.loxia-carousel-control-prev:focus,.loxia-carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.loxia-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.loxia-carousel-control-next,.loxia-carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}.carousel-sidebar{width:2%}.carousel-sidebar-open{width:2%;transition:all .3s;left:470px}[hidden]{display:none!important}\n"] }]
|
|
197
198
|
}], ctorParameters: () => [{ type: i2$1.Store }], propDecorators: { paginationSize: [{
|
|
198
199
|
type: Input
|
|
199
|
-
}], iaversieinfo: [{
|
|
200
|
-
type: Input
|
|
201
200
|
}], sideNavOpen: [{
|
|
202
201
|
type: Input
|
|
203
202
|
}] } });
|
|
@@ -247,7 +246,6 @@ const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignaleringsb
|
|
|
247
246
|
const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
|
|
248
247
|
const FOCUS_OP_IDS = '[mst] focusOpIds';
|
|
249
248
|
const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
|
|
250
|
-
const SET_SELECTED_RITDEEL = '[mst] SetSelectedRitdeel';
|
|
251
249
|
const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
|
|
252
250
|
const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
|
|
253
251
|
const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
|
|
@@ -685,6 +683,8 @@ class ViewerControlService {
|
|
|
685
683
|
this.printing$ = new BehaviorSubject(false);
|
|
686
684
|
this.sideNavOpen = false;
|
|
687
685
|
this.sideNavOpen$ = new BehaviorSubject(this.sideNavOpen);
|
|
686
|
+
this.selectieInfos = [];
|
|
687
|
+
this.origineelTreinPad = {};
|
|
688
688
|
this.subscriptions.add(combineLatest([
|
|
689
689
|
store.select('ritSelectieIds'),
|
|
690
690
|
store.select('actieOpRitSelectieIds'),
|
|
@@ -704,19 +704,18 @@ class ViewerControlService {
|
|
|
704
704
|
selectie.push(new SelectieInfo(eind, 'zigzagNaar'));
|
|
705
705
|
this.selectieInfos = selectie;
|
|
706
706
|
}));
|
|
707
|
-
this.subscriptions.add(store.select('ritDelen').subscribe(ritdelen => this.ritdelen = ritdelen));
|
|
708
707
|
}
|
|
709
708
|
toggleSideNavVisible() {
|
|
710
709
|
this.sideNavOpen = !this.sideNavOpen;
|
|
711
710
|
this.sideNavOpen$.next(this.sideNavOpen);
|
|
712
711
|
}
|
|
713
712
|
keurAlleActiesGoed(ongeplandeActies) {
|
|
714
|
-
|
|
713
|
+
this.store.select('ritDelen').pipe(take(1), filter(ritdelen => !!ritdelen), tap(ritdelen => {
|
|
715
714
|
this.store.dispatch(ShowProgress());
|
|
716
|
-
const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(
|
|
717
|
-
const alleActies = this.verzamelAlleActies(
|
|
715
|
+
const bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritdelen, this.origineelTreinPad.bewegingen);
|
|
716
|
+
const alleActies = this.verzamelAlleActies(ritdelen, ongeplandeActies);
|
|
718
717
|
this.store.dispatch(KeurAlleActiesGoed(this.getBewegingenZonderActies(bewegingen), alleActies));
|
|
719
|
-
}
|
|
718
|
+
})).subscribe();
|
|
720
719
|
}
|
|
721
720
|
setValideRit(valideRit) {
|
|
722
721
|
this.valideRit$.next(valideRit);
|
|
@@ -831,26 +830,28 @@ class PrintBewegingService {
|
|
|
831
830
|
this.store = store;
|
|
832
831
|
this.viewerControlService = viewerControlService;
|
|
833
832
|
this.sbmService = sbmService;
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
|
|
839
|
-
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
833
|
+
}
|
|
834
|
+
printBeweging(bewegingId, paginationSize) {
|
|
835
|
+
return new Promise((resolve, reject) => {
|
|
836
|
+
this.store.select('ritDelen').pipe(take(1), tap(ritdelen => {
|
|
837
|
+
const gevondenRitdeel = ritdelen.filter(r => parseInt(r.getBewegingId(), 10) === bewegingId);
|
|
838
|
+
// hide/show de knoppen
|
|
839
|
+
const printing = !!bewegingId && gevondenRitdeel.length === 1;
|
|
840
|
+
this.viewerControlService.setPrinting(printing);
|
|
841
|
+
if (!printing) {
|
|
842
|
+
reject(new Error('Geen beweging gevonden voor ' + bewegingId));
|
|
843
|
+
return;
|
|
844
|
+
}
|
|
845
|
+
const ritdeel = gevondenRitdeel[0];
|
|
846
|
+
if (ritdeel.isNietBeschikbaar()) {
|
|
847
|
+
this.store.dispatch(navigeerVanaf(paginationSize, ritdeel));
|
|
848
|
+
this.store.dispatch(ShowProgress());
|
|
849
|
+
setTimeout(() => this.focusOpBeweging(ritdeel, resolve), 1000);
|
|
850
|
+
}
|
|
851
|
+
else {
|
|
852
|
+
this.focusOpBeweging(ritdeel, resolve);
|
|
853
|
+
}
|
|
854
|
+
})).subscribe();
|
|
854
855
|
});
|
|
855
856
|
}
|
|
856
857
|
focusOpBeweging(ritdeel, resolve) {
|
|
@@ -943,7 +944,7 @@ class KmRange {
|
|
|
943
944
|
if (result.length >= 1) {
|
|
944
945
|
return result[0];
|
|
945
946
|
}
|
|
946
|
-
return
|
|
947
|
+
return undefined;
|
|
947
948
|
}
|
|
948
949
|
heeftOverlap(kilometrering1, kilometrering2) {
|
|
949
950
|
const vanKilometrering = KmRange.getKilometrering(kilometrering1.getKmLint(), this.vanKilometreringen);
|
|
@@ -1019,6 +1020,9 @@ class Utils {
|
|
|
1019
1020
|
if (errorMsg !== '') {
|
|
1020
1021
|
return errorMsg;
|
|
1021
1022
|
}
|
|
1023
|
+
else {
|
|
1024
|
+
return 'Er is een onbekende fout opgetreden';
|
|
1025
|
+
}
|
|
1022
1026
|
}
|
|
1023
1027
|
}
|
|
1024
1028
|
|
|
@@ -2638,7 +2642,7 @@ class ActieHelper {
|
|
|
2638
2642
|
lint = kilometreringen[0].getKmLint();
|
|
2639
2643
|
}
|
|
2640
2644
|
else if (kilometreringen && first && !second) {
|
|
2641
|
-
const km = KmRange.getKilometrering(lint
|
|
2645
|
+
const km = KmRange.getKilometrering(lint, kilometreringen);
|
|
2642
2646
|
if (km) {
|
|
2643
2647
|
second = km.getKmWaarde();
|
|
2644
2648
|
}
|
|
@@ -2658,11 +2662,11 @@ class ActieHelper {
|
|
|
2658
2662
|
if (!totKilometreringen && vanKilometreringen) {
|
|
2659
2663
|
totKilometreringen = [new MstKilometrering(vanKilometreringen[0].getKmLint(), 100000)];
|
|
2660
2664
|
}
|
|
2661
|
-
if (vanKilometreringen[0] > totKilometreringen[0]) {
|
|
2665
|
+
if (vanKilometreringen && totKilometreringen && vanKilometreringen[0] > totKilometreringen[0]) {
|
|
2662
2666
|
kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, -1), this.addKm(totKilometreringen, 1)));
|
|
2663
2667
|
}
|
|
2664
2668
|
else {
|
|
2665
|
-
kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen, 1), this.addKm(totKilometreringen, -1)));
|
|
2669
|
+
kmRanges.push(KmRange.rangeVoorStrekObject(e, this.addKm(vanKilometreringen ?? [], 1), this.addKm(totKilometreringen ?? [], -1)));
|
|
2666
2670
|
}
|
|
2667
2671
|
});
|
|
2668
2672
|
}
|
|
@@ -2785,7 +2789,7 @@ class ActieHelper {
|
|
|
2785
2789
|
verwerkTopoElementen(topoElementen) {
|
|
2786
2790
|
const kmRanges = [];
|
|
2787
2791
|
let topoElementenZonderKms = [];
|
|
2788
|
-
let laatstePuntKms =
|
|
2792
|
+
let laatstePuntKms = undefined;
|
|
2789
2793
|
topoElementen.forEach(elem => {
|
|
2790
2794
|
const kms = JsJavaUtil.listToArray(elem.getKilometreringen());
|
|
2791
2795
|
if (kms.length > 0) {
|
|
@@ -2799,7 +2803,7 @@ class ActieHelper {
|
|
|
2799
2803
|
}
|
|
2800
2804
|
});
|
|
2801
2805
|
if (topoElementenZonderKms.length > 0 && laatstePuntKms) {
|
|
2802
|
-
ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms,
|
|
2806
|
+
ActieHelper.corrigeerTopoElementenZonderKms(topoElementenZonderKms, laatstePuntKms, undefined, kmRanges);
|
|
2803
2807
|
}
|
|
2804
2808
|
return kmRanges;
|
|
2805
2809
|
}
|
|
@@ -3245,7 +3249,6 @@ class ViewerControlsComponent {
|
|
|
3245
3249
|
this.viewerControlsService = viewerControlsService;
|
|
3246
3250
|
this.bewegingUtils = bewegingUtils;
|
|
3247
3251
|
this.paginationSize = 4;
|
|
3248
|
-
this.iaversieinfo = undefined;
|
|
3249
3252
|
this.treinpad = undefined;
|
|
3250
3253
|
this.goedgekeurd = new EventEmitter();
|
|
3251
3254
|
this.printing$ = this.viewerControlsService.isPrinting$();
|
|
@@ -3263,24 +3266,23 @@ class ViewerControlsComponent {
|
|
|
3263
3266
|
return this.editable && this.viewerControlsService.selectieInfos.length !== 0;
|
|
3264
3267
|
}
|
|
3265
3268
|
goedkeurenClick() {
|
|
3266
|
-
|
|
3267
|
-
|
|
3268
|
-
|
|
3269
|
-
|
|
3270
|
-
|
|
3271
|
-
|
|
3272
|
-
|
|
3269
|
+
this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
|
|
3270
|
+
if (this.treinpad) {
|
|
3271
|
+
delete this.treinpad.aantalRitActies;
|
|
3272
|
+
this.treinpad.bewegingen = this.bewegingUtils.extractBewegingenUitRitdelen(ritDelen, this.viewerControlsService.origineelTreinPad.bewegingen);
|
|
3273
|
+
this.goedgekeurd.emit(this.treinpad);
|
|
3274
|
+
this.viewerControlsService.setOrigineelTreinPad(this.treinpad);
|
|
3275
|
+
}
|
|
3276
|
+
})).subscribe();
|
|
3273
3277
|
}
|
|
3274
3278
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: BewegingUtils }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3275
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ViewerControlsComponent, selector: "viewer-controls", inputs: { paginationSize: "paginationSize",
|
|
3279
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: ViewerControlsComponent, selector: "viewer-controls", inputs: { paginationSize: "paginationSize", treinpad: "treinpad", goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: CarouselControlsComponent, selector: "carousel-controls", inputs: ["paginationSize", "sideNavOpen"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
3276
3280
|
}
|
|
3277
3281
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: ViewerControlsComponent, decorators: [{
|
|
3278
3282
|
type: Component,
|
|
3279
|
-
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 [
|
|
3283
|
+
args: [{ selector: 'viewer-controls', template: "<button id=\"toonSideNavKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm open-sidenav-button\"\n (click)=\"viewerControlsService.toggleSideNavVisible()\"\n [class.active]=\"viewerControlsService.sideNavOpen$ | async\"\n [hidden]=\"printing$ | async\">Ritdetails\n</button>\n<button *ngIf=\"showGoedkeuren()\"\n id=\"goedkeurenKnop\"\n class=\"loxia-btn loxia-btn-primary loxia-btn-sm goedkeuren-button\"\n (click)=\"goedkeurenClick()\"\n [disabled]=\"(valideRit$ | async ) === false\"\n [hidden]=\"printing$ | async\">Goedkeuren\n</button>\n\n<carousel-controls [paginationSize]=\"paginationSize\"\n [sideNavOpen]=\"viewerControlsService.sideNavOpen$ | async\">\n</carousel-controls>\n", styles: [".open-sidenav-button.active{visibility:hidden}.open-sidenav-button,.goedkeuren-button{position:absolute;top:15px;z-index:600}.open-sidenav-button{left:15px}.goedkeuren-button{right:15px}\n"] }]
|
|
3280
3284
|
}], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: BewegingUtils }], propDecorators: { paginationSize: [{
|
|
3281
3285
|
type: Input
|
|
3282
|
-
}], iaversieinfo: [{
|
|
3283
|
-
type: Input
|
|
3284
3286
|
}], treinpad: [{
|
|
3285
3287
|
type: Input
|
|
3286
3288
|
}], goedgekeurd: [{
|
|
@@ -3706,17 +3708,17 @@ class MstviewerComponent {
|
|
|
3706
3708
|
}
|
|
3707
3709
|
}
|
|
3708
3710
|
printFocusBeweging(bewegingId) {
|
|
3709
|
-
return this.printBewegingService.printBeweging(bewegingId, this.paginationSize
|
|
3711
|
+
return this.printBewegingService.printBeweging(bewegingId, this.paginationSize);
|
|
3710
3712
|
}
|
|
3711
3713
|
keurAlleActiesGoed() {
|
|
3712
3714
|
this.viewerControlsService.keurAlleActiesGoed(this.ongeplandeActies);
|
|
3713
3715
|
}
|
|
3714
3716
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: DebugService }, { token: PrintBewegingService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3715
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MstviewerComponent, selector: "mst-viewer", inputs: { iaversieinfo: "iaversieinfo", treinpad: "treinpad", ongeplandeActies: "ongeplandeActies", paginationSize: "paginationSize", baseurl: "baseurl", debug: "debug", viewer: "viewer", useClickArea: "useClickArea" }, outputs: { goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">×</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [
|
|
3717
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: MstviewerComponent, selector: "mst-viewer", inputs: { iaversieinfo: "iaversieinfo", treinpad: "treinpad", ongeplandeActies: "ongeplandeActies", paginationSize: "paginationSize", baseurl: "baseurl", debug: "debug", viewer: "viewer", useClickArea: "useClickArea" }, outputs: { goedgekeurd: "goedgekeurd" }, usesOnChanges: true, ngImport: i0, template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">×</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: OverlayComponent, selector: "loxia-overlay" }, { kind: "component", type: ProgressIndicatorComponent, selector: "loxia-progress-indicator" }, { kind: "component", type: RpeComponent, selector: "rpe-component", inputs: ["baseurl", "path"] }, { kind: "component", type: RitdelenLijstComponent, selector: "ritdelen-lijst", inputs: ["nietGeplandeActies"], outputs: ["focusEmitter", "keurAlleActiesGoed"] }, { kind: "component", type: RitdelenViewComponent, selector: "ritdelen-view", outputs: ["focusEmitter"] }, { kind: "component", type: ViewerControlsComponent, selector: "viewer-controls", inputs: ["paginationSize", "treinpad", "goedgekeurd"] }, { kind: "component", type: SvgVisualisatieComponent, selector: "svg-visualisatie", inputs: ["nietGeplandeActies", "useClickArea"] }, { kind: "component", type: MessagesComponent, selector: "loxia-messages" }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] }); }
|
|
3716
3718
|
}
|
|
3717
3719
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: MstviewerComponent, decorators: [{
|
|
3718
3720
|
type: Component,
|
|
3719
|
-
args: [{ selector: 'mst-viewer', template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">×</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [
|
|
3721
|
+
args: [{ selector: 'mst-viewer', template: "<loxia-messages></loxia-messages>\n<loxia-overlay *ngIf=\"(progressIndicator$ | async)\">\n <loxia-progress-indicator id=\"progress-indicator\" [border]=\"false\" upperText=\"\">\n </loxia-progress-indicator>\n</loxia-overlay>\n\n<div style=\"position: relative\">\n <rpe-component [baseurl]=\"baseurl\" path=\"/mst/editor/editor.nocache.js\"></rpe-component>\n\n <svg-visualisatie [useClickArea]=\"useClickArea\" [nietGeplandeActies]=\"ongeplandeActies\"></svg-visualisatie>\n\n <nav [class.active]=\"(viewerControlsService.sideNavOpen$ | async) === false\" id=\"sidebar\">\n <div id=\"dismiss\">\n <em id=\"verbergSideNav\" class=\"fa fa-arrow-left\" (click)=\"viewerControlsService.toggleSideNavVisible()\">×</em>\n </div>\n <ritdelen-lijst *ngIf=\"!viewer\" (focusEmitter)=\"focusRitdeel($event)\" (keurAlleActiesGoed)=\"keurAlleActiesGoed()\"\n [nietGeplandeActies]=\"ongeplandeActies\"></ritdelen-lijst>\n <ritdelen-view *ngIf=\"viewer\" (focusEmitter)=\"focusRitdeel($event)\"></ritdelen-view>\n </nav>\n\n <viewer-controls [paginationSize]=\"paginationSize\"\n [treinpad]=\"treinpad\"\n [goedgekeurd]=\"goedgekeurd\"\n ></viewer-controls>\n\n</div>\n", styles: ["#sidebar{min-width:350px;max-width:475px;background:#fff;transition:all .3s;height:93vh;position:absolute;top:0;z-index:20}#sidebar.active{margin-left:-475px}#sidebar .sidebar-header{padding:20px;background:#6d7fcc}#dismiss{width:20px;height:20px;position:absolute;cursor:pointer;top:5px;right:0;color:#000;z-index:300}[hidden]{display:none}\n"] }]
|
|
3720
3722
|
}], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: DebugService }, { type: PrintBewegingService }], propDecorators: { iaversieinfo: [{
|
|
3721
3723
|
type: Input,
|
|
3722
3724
|
args: [{ required: true }]
|
|
@@ -4398,7 +4400,7 @@ class FocusEffect {
|
|
|
4398
4400
|
const dwangPuics = this.getPuics(topoElementen);
|
|
4399
4401
|
if (ritdeel.isNietBeschikbaar()) {
|
|
4400
4402
|
this.store.dispatch(SetOngeplandeActiesBepaald(false));
|
|
4401
|
-
this.store.dispatch(navigeerVanaf(actie.paginationSize,
|
|
4403
|
+
this.store.dispatch(navigeerVanaf(actie.paginationSize, ritdeel));
|
|
4402
4404
|
}
|
|
4403
4405
|
return focusOpIds(dwangPuics);
|
|
4404
4406
|
})));
|
|
@@ -4420,13 +4422,13 @@ class LaadRouteFilesEffect {
|
|
|
4420
4422
|
this.ritLezer = ritLezer;
|
|
4421
4423
|
this.editorService = editorService;
|
|
4422
4424
|
this.messagesService = messagesService;
|
|
4423
|
-
this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), map(action => this.laadRouteFiles(action))), { dispatch: false });
|
|
4425
|
+
this.authActions$ = createEffect(() => this.actions$.pipe(ofType(SetSignaleringsbeeldInfoDtos), withLatestFrom(this.store), map(([action, storeState]) => this.laadRouteFiles(action, storeState.iaVersie.versie))), { dispatch: false });
|
|
4424
4426
|
}
|
|
4425
|
-
laadRouteFiles(actie) {
|
|
4427
|
+
laadRouteFiles(actie, iaVersie) {
|
|
4426
4428
|
const isReady = this.editorService.isReady();
|
|
4427
4429
|
isReady.then(() => {
|
|
4428
4430
|
const pplgs = this.bepaalSbDtoPplgs(actie.dtos);
|
|
4429
|
-
const promise = this.editorService.laadRouteFiles(
|
|
4431
|
+
const promise = this.editorService.laadRouteFiles(iaVersie, pplgs);
|
|
4430
4432
|
promise.then(() => {
|
|
4431
4433
|
this.updateRitdelen(actie);
|
|
4432
4434
|
}, (err) => {
|
|
@@ -4440,7 +4442,7 @@ class LaadRouteFilesEffect {
|
|
|
4440
4442
|
if (ritdelen.length === 0) {
|
|
4441
4443
|
ritdelen = this.ritLezer.parseRit(actie.treinpad, actie.ritGewijzigdToegestaan);
|
|
4442
4444
|
}
|
|
4443
|
-
this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize
|
|
4445
|
+
this.store.dispatch(setRitDelen(ritdelen, actie.paginationSize));
|
|
4444
4446
|
this.store.dispatch(setEditable(actie.treinpad.ritStatus !== 'Definitief'));
|
|
4445
4447
|
});
|
|
4446
4448
|
}, 0);
|
|
@@ -4547,7 +4549,7 @@ class LaadSignaleringsbeeldenEffect {
|
|
|
4547
4549
|
const visibleRitPplgs = visibleRitDelen.map(r => r.getPplg()).filter(this.distinct);
|
|
4548
4550
|
const visibleDtos = this.bepaalZichtbareDtos(visibleRitPplgs, storeDtos);
|
|
4549
4551
|
const loadingDtos = this.bepaalToLoadDtos(visibleDtos, ritDelen, visibleRitDelen, visibleRitPplgs, storeState);
|
|
4550
|
-
this.editorService.laadSignaleringsbeelden(
|
|
4552
|
+
this.editorService.laadSignaleringsbeelden(storeState.iaVersie.versie, loadingDtos).pipe(tap(svgDataUrls => {
|
|
4551
4553
|
this.verwerkSvgs(svgDataUrls);
|
|
4552
4554
|
this.updateState(ritDelen, visibleDtos, storeState, visibleRitPplgs, loadingDtos, isInit, storeDtos);
|
|
4553
4555
|
}), catchError(err => {
|