@loxia/mst-viewer 8.1.3-202511241327 → 8.1.3-202511261647
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/generated/openapi/api/api.mjs +5 -2
- package/esm2022/generated/openapi/api/svgController.service.mjs +155 -0
- package/esm2022/generated/openapi/api/svgController.serviceInterface.mjs +2 -0
- package/esm2022/generated/openapi/model/kilometrering.mjs +13 -0
- package/esm2022/generated/openapi/model/models.mjs +10 -1
- package/esm2022/generated/openapi/model/sein.mjs +10 -0
- package/esm2022/generated/openapi/model/signaleringsElement.mjs +13 -0
- package/esm2022/generated/openapi/model/spoornummer.mjs +13 -0
- package/esm2022/generated/openapi/model/spoortakFragment.mjs +2 -0
- package/esm2022/generated/openapi/model/svgInfoDto.mjs +2 -0
- package/esm2022/generated/openapi/model/svgTopology.mjs +2 -0
- package/esm2022/generated/openapi/model/topologyElement.mjs +2 -0
- package/esm2022/generated/openapi/model/wissel.mjs +2 -0
- package/esm2022/lib/components/svg-visualisatie/svg-visualisatie.component.mjs +4 -3
- package/esm2022/lib/components/viewer-controls/viewer-controls.component.mjs +2 -2
- package/esm2022/lib/resources/signaleringsbeeldinfo.resource.mjs +23 -2
- package/esm2022/lib/services/viewer-control.service.mjs +2 -24
- package/esm2022/lib/state/actions/actions.mjs +8 -2
- package/esm2022/lib/state/effect/svg-view.effect.mjs +59 -17
- package/esm2022/lib/state/mst-editor-state.mjs +3 -1
- package/esm2022/lib/util/logging-helper.mjs +13 -5
- package/esm2022/src/generated/openapi/api/api.mjs +5 -2
- package/esm2022/src/generated/openapi/api/svgController.service.mjs +155 -0
- package/esm2022/src/generated/openapi/api/svgController.serviceInterface.mjs +2 -0
- package/esm2022/src/generated/openapi/model/kilometrering.mjs +13 -0
- package/esm2022/src/generated/openapi/model/models.mjs +10 -1
- package/esm2022/src/generated/openapi/model/sein.mjs +10 -0
- package/esm2022/src/generated/openapi/model/signaleringsElement.mjs +13 -0
- package/esm2022/src/generated/openapi/model/spoornummer.mjs +13 -0
- package/esm2022/src/generated/openapi/model/spoortakFragment.mjs +2 -0
- package/esm2022/src/generated/openapi/model/svgInfoDto.mjs +2 -0
- package/esm2022/src/generated/openapi/model/svgTopology.mjs +2 -0
- package/esm2022/src/generated/openapi/model/topologyElement.mjs +2 -0
- package/esm2022/src/generated/openapi/model/wissel.mjs +2 -0
- package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs +194 -2
- package/fesm2022/loxia-mst-viewer-src-generated-openapi.mjs.map +1 -1
- package/fesm2022/loxia-mst-viewer.mjs +295 -46
- package/fesm2022/loxia-mst-viewer.mjs.map +1 -1
- package/generated/openapi/api/api.d.ts +4 -1
- package/generated/openapi/api/svgController.service.d.ts +40 -0
- package/generated/openapi/api/svgController.serviceInterface.d.ts +27 -0
- package/generated/openapi/model/kilometrering.d.ts +15 -0
- package/generated/openapi/model/models.d.ts +9 -0
- package/generated/openapi/model/sein.d.ts +46 -0
- package/generated/openapi/model/signaleringsElement.d.ts +16 -0
- package/generated/openapi/model/spoornummer.d.ts +17 -0
- package/generated/openapi/model/spoortakFragment.d.ts +26 -0
- package/generated/openapi/model/svgInfoDto.d.ts +16 -0
- package/generated/openapi/model/svgTopology.d.ts +21 -0
- package/generated/openapi/model/topologyElement.d.ts +18 -0
- package/generated/openapi/model/wissel.d.ts +31 -0
- package/lib/components/svg-visualisatie/svg-visualisatie.component.d.ts +1 -0
- package/lib/resources/signaleringsbeeldinfo.resource.d.ts +11 -1
- package/lib/services/viewer-control.service.d.ts +0 -3
- package/lib/state/actions/actions.d.ts +10 -2
- package/lib/state/effect/svg-view.effect.d.ts +12 -6
- package/lib/state/mst-editor-state.d.ts +3 -1
- package/lib/util/logging-helper.d.ts +2 -0
- package/package.json +1 -1
- package/src/generated/openapi/api/api.d.ts +4 -1
- package/src/generated/openapi/api/svgController.service.d.ts +40 -0
- package/src/generated/openapi/api/svgController.serviceInterface.d.ts +27 -0
- package/src/generated/openapi/model/kilometrering.d.ts +15 -0
- package/src/generated/openapi/model/models.d.ts +9 -0
- package/src/generated/openapi/model/sein.d.ts +46 -0
- package/src/generated/openapi/model/signaleringsElement.d.ts +16 -0
- package/src/generated/openapi/model/spoornummer.d.ts +17 -0
- package/src/generated/openapi/model/spoortakFragment.d.ts +26 -0
- package/src/generated/openapi/model/svgInfoDto.d.ts +16 -0
- package/src/generated/openapi/model/svgTopology.d.ts +21 -0
- package/src/generated/openapi/model/topologyElement.d.ts +18 -0
- package/src/generated/openapi/model/wissel.d.ts +31 -0
|
@@ -3,8 +3,8 @@ import { CommonModule } from '@angular/common';
|
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { EventEmitter, Output, Input, Component, Injectable, ChangeDetectionStrategy, ViewChild, InjectionToken, Optional, Inject, SkipSelf, NgModule, HostListener } from '@angular/core';
|
|
5
5
|
import * as i7 from '@loxia/imx-viewer';
|
|
6
|
-
import {
|
|
7
|
-
import * as
|
|
6
|
+
import { PopoverInfo, Point, SvgInfo, ImxViewerComponent, SelectieInfo, ImxViewerModule } from '@loxia/imx-viewer';
|
|
7
|
+
import * as i3 from '@loxia/rijwegen';
|
|
8
8
|
import { JsJavaUtil, RijwegenModule } from '@loxia/rijwegen';
|
|
9
9
|
import * as i1$2 from '@ngrx/effects';
|
|
10
10
|
import { createEffect, ofType, EffectsModule } from '@ngrx/effects';
|
|
@@ -17,7 +17,7 @@ import * as i1 from '@angular/common/http';
|
|
|
17
17
|
import { HttpHeaders, HttpContext, HttpParams } from '@angular/common/http';
|
|
18
18
|
import { __decorate } from 'tslib';
|
|
19
19
|
import * as i1$1 from '@ngx-resource/core';
|
|
20
|
-
import { Resource, ResourceAction, ResourceParams } from '@ngx-resource/core';
|
|
20
|
+
import { Resource, ResourceAction, ResourceParams, ResourceModel } from '@ngx-resource/core';
|
|
21
21
|
|
|
22
22
|
class Message {
|
|
23
23
|
constructor(severity, text, timeout = 0) {
|
|
@@ -246,6 +246,8 @@ const LAAD_EN_VERWERK_SIGNALERINGSBEELD_INFO = '[mst] laadEnVerwerkSignaleringsb
|
|
|
246
246
|
const FOCUS_OP_RITDEEL = '[mst] focusOpRitdeel';
|
|
247
247
|
const FOCUS_OP_IDS = '[mst] focusOpIds';
|
|
248
248
|
const BEPAAL_SB_INFOS = '[mst] bepaalSbInfos';
|
|
249
|
+
const TRIGGER_SELECTIE_UPDATE = '[mst] TriggerSelectieUpdate';
|
|
250
|
+
const SET_SELECTIE_INFOS = '[mst] SetSelectieInfos';
|
|
249
251
|
const setEditable = createAction(SET_EDITABLE, (editable) => ({ editable }));
|
|
250
252
|
const SetRitSelectieIds = createAction(SET_RIT_SELECTIE_IDS, (ids) => ({ ids }));
|
|
251
253
|
const SetGeplandeActies = createAction(SET_GEPLANDE_ACTIES, (geplandeActiesMap) => ({ geplandeActiesMap }));
|
|
@@ -289,6 +291,8 @@ const navigeerBuitenRit = createAction(NAVIGEER_BUITEN_RIT, (randPuic) => ({ ran
|
|
|
289
291
|
const focusOpRitdeel = createAction(FOCUS_OP_RITDEEL, (ritdeel, paginationSize, iaVersieInfo) => ({ ritdeel, paginationSize, iaVersieInfo }));
|
|
290
292
|
const focusOpIds = createAction(FOCUS_OP_IDS, (puics) => ({ puics }));
|
|
291
293
|
const bepaalSbInfos = createAction(BEPAAL_SB_INFOS, (rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize) => ({ rit, ongeplandeActies, iaVersie, ritGewijzigdToegestaan, paginationSize }));
|
|
294
|
+
const svgUpdateFinished = createAction(TRIGGER_SELECTIE_UPDATE);
|
|
295
|
+
const setSelectieInfos = createAction(SET_SELECTIE_INFOS, (selectieInfos) => ({ selectieInfos }));
|
|
292
296
|
// do not export return value
|
|
293
297
|
const mstActions = union({
|
|
294
298
|
setEditable,
|
|
@@ -326,7 +330,9 @@ const mstActions = union({
|
|
|
326
330
|
ClearProgress,
|
|
327
331
|
BewegingInvoegen,
|
|
328
332
|
KeurAlleActiesGoed,
|
|
329
|
-
UpdateRit
|
|
333
|
+
UpdateRit,
|
|
334
|
+
svgUpdateFinished,
|
|
335
|
+
setSelectieInfos
|
|
330
336
|
});
|
|
331
337
|
|
|
332
338
|
/**
|
|
@@ -678,32 +684,11 @@ class ViewerControlService {
|
|
|
678
684
|
constructor(store, bewegingUtils) {
|
|
679
685
|
this.store = store;
|
|
680
686
|
this.bewegingUtils = bewegingUtils;
|
|
681
|
-
this.subscriptions = new Subscription();
|
|
682
687
|
this.valideRit$ = new BehaviorSubject(false);
|
|
683
688
|
this.printing$ = new BehaviorSubject(false);
|
|
684
689
|
this.sideNavOpen = false;
|
|
685
690
|
this.sideNavOpen$ = new BehaviorSubject(this.sideNavOpen);
|
|
686
|
-
this.selectieInfos = [];
|
|
687
691
|
this.origineelTreinPad = {};
|
|
688
|
-
this.subscriptions.add(combineLatest([
|
|
689
|
-
store.select('ritSelectieIds'),
|
|
690
|
-
store.select('actieOpRitSelectieIds'),
|
|
691
|
-
store.select('ongeplandeActieSelectieIds'),
|
|
692
|
-
store.select('gebrokenRitSelectieIds'),
|
|
693
|
-
store.select('alternatievenSelectieIds'),
|
|
694
|
-
store.select('beginSeinSelectieIds'),
|
|
695
|
-
store.select('eindSeinSelectieIds')
|
|
696
|
-
]).subscribe(([rit, actieOpRitSelectieIds, ongeplandeActieSelectieIds, gebrokenrit, alternatieven, begin, eind]) => {
|
|
697
|
-
const selectie = [];
|
|
698
|
-
selectie.push(new SelectieInfo(rit, 'rit'));
|
|
699
|
-
selectie.push(new SelectieInfo(actieOpRitSelectieIds, 'actieoprit'));
|
|
700
|
-
selectie.push(new SelectieInfo(ongeplandeActieSelectieIds, 'ongeplandeActie'));
|
|
701
|
-
selectie.push(new SelectieInfo(gebrokenrit, 'gebrokenrit'));
|
|
702
|
-
selectie.push(new SelectieInfo(alternatieven, 'alternatieveRoute'));
|
|
703
|
-
selectie.push(new SelectieInfo(begin, 'zigzagVan'));
|
|
704
|
-
selectie.push(new SelectieInfo(eind, 'zigzagNaar'));
|
|
705
|
-
this.selectieInfos = selectie;
|
|
706
|
-
}));
|
|
707
692
|
}
|
|
708
693
|
toggleSideNavVisible() {
|
|
709
694
|
this.sideNavOpen = !this.sideNavOpen;
|
|
@@ -2289,7 +2274,189 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
2289
2274
|
type: Optional
|
|
2290
2275
|
}] }] });
|
|
2291
2276
|
|
|
2292
|
-
|
|
2277
|
+
/**
|
|
2278
|
+
* MST
|
|
2279
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
2280
|
+
*
|
|
2281
|
+
* The version of the OpenAPI document: 1
|
|
2282
|
+
*
|
|
2283
|
+
*
|
|
2284
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2285
|
+
* https://openapi-generator.tech
|
|
2286
|
+
* Do not edit the class manually.
|
|
2287
|
+
*/
|
|
2288
|
+
/* tslint:disable:no-unused-variable member-ordering */
|
|
2289
|
+
class SvgControllerService {
|
|
2290
|
+
constructor(httpClient, basePath, configuration) {
|
|
2291
|
+
this.httpClient = httpClient;
|
|
2292
|
+
this.basePath = 'http://localhost:8080/mst';
|
|
2293
|
+
this.defaultHeaders = new HttpHeaders();
|
|
2294
|
+
this.configuration = new Configuration();
|
|
2295
|
+
if (configuration) {
|
|
2296
|
+
this.configuration = configuration;
|
|
2297
|
+
}
|
|
2298
|
+
if (typeof this.configuration.basePath !== 'string') {
|
|
2299
|
+
if (Array.isArray(basePath) && basePath.length > 0) {
|
|
2300
|
+
basePath = basePath[0];
|
|
2301
|
+
}
|
|
2302
|
+
if (typeof basePath !== 'string') {
|
|
2303
|
+
basePath = this.basePath;
|
|
2304
|
+
}
|
|
2305
|
+
this.configuration.basePath = basePath;
|
|
2306
|
+
}
|
|
2307
|
+
this.encoder = this.configuration.encoder || new CustomHttpParameterCodec();
|
|
2308
|
+
}
|
|
2309
|
+
// @ts-ignore
|
|
2310
|
+
addToHttpParams(httpParams, value, key) {
|
|
2311
|
+
if (typeof value === "object" && value instanceof Date === false) {
|
|
2312
|
+
httpParams = this.addToHttpParamsRecursive(httpParams, value);
|
|
2313
|
+
}
|
|
2314
|
+
else {
|
|
2315
|
+
httpParams = this.addToHttpParamsRecursive(httpParams, value, key);
|
|
2316
|
+
}
|
|
2317
|
+
return httpParams;
|
|
2318
|
+
}
|
|
2319
|
+
addToHttpParamsRecursive(httpParams, value, key) {
|
|
2320
|
+
if (value == null) {
|
|
2321
|
+
return httpParams;
|
|
2322
|
+
}
|
|
2323
|
+
if (typeof value === "object") {
|
|
2324
|
+
if (Array.isArray(value)) {
|
|
2325
|
+
value.forEach(elem => httpParams = this.addToHttpParamsRecursive(httpParams, elem, key));
|
|
2326
|
+
}
|
|
2327
|
+
else if (value instanceof Date) {
|
|
2328
|
+
if (key != null) {
|
|
2329
|
+
httpParams = httpParams.append(key, value.toISOString().substring(0, 10));
|
|
2330
|
+
}
|
|
2331
|
+
else {
|
|
2332
|
+
throw Error("key may not be null if value is Date");
|
|
2333
|
+
}
|
|
2334
|
+
}
|
|
2335
|
+
else {
|
|
2336
|
+
Object.keys(value).forEach(k => httpParams = this.addToHttpParamsRecursive(httpParams, value[k], key != null ? `${key}.${k}` : k));
|
|
2337
|
+
}
|
|
2338
|
+
}
|
|
2339
|
+
else if (key != null) {
|
|
2340
|
+
httpParams = httpParams.append(key, value);
|
|
2341
|
+
}
|
|
2342
|
+
else {
|
|
2343
|
+
throw Error("key may not be null if value is not object or array");
|
|
2344
|
+
}
|
|
2345
|
+
return httpParams;
|
|
2346
|
+
}
|
|
2347
|
+
getSvgInfo(iaVersie, signaleringsbeeldDto, observe = 'body', reportProgress = false, options) {
|
|
2348
|
+
if (iaVersie === null || iaVersie === undefined) {
|
|
2349
|
+
throw new Error('Required parameter iaVersie was null or undefined when calling getSvgInfo.');
|
|
2350
|
+
}
|
|
2351
|
+
if (signaleringsbeeldDto === null || signaleringsbeeldDto === undefined) {
|
|
2352
|
+
throw new Error('Required parameter signaleringsbeeldDto was null or undefined when calling getSvgInfo.');
|
|
2353
|
+
}
|
|
2354
|
+
let localVarHeaders = this.defaultHeaders;
|
|
2355
|
+
let localVarHttpHeaderAcceptSelected = options && options.httpHeaderAccept;
|
|
2356
|
+
if (localVarHttpHeaderAcceptSelected === undefined) {
|
|
2357
|
+
// to determine the Accept header
|
|
2358
|
+
const httpHeaderAccepts = [
|
|
2359
|
+
'application/json'
|
|
2360
|
+
];
|
|
2361
|
+
localVarHttpHeaderAcceptSelected = this.configuration.selectHeaderAccept(httpHeaderAccepts);
|
|
2362
|
+
}
|
|
2363
|
+
if (localVarHttpHeaderAcceptSelected !== undefined) {
|
|
2364
|
+
localVarHeaders = localVarHeaders.set('Accept', localVarHttpHeaderAcceptSelected);
|
|
2365
|
+
}
|
|
2366
|
+
let localVarHttpContext = options && options.context;
|
|
2367
|
+
if (localVarHttpContext === undefined) {
|
|
2368
|
+
localVarHttpContext = new HttpContext();
|
|
2369
|
+
}
|
|
2370
|
+
let localVarTransferCache = options && options.transferCache;
|
|
2371
|
+
if (localVarTransferCache === undefined) {
|
|
2372
|
+
localVarTransferCache = true;
|
|
2373
|
+
}
|
|
2374
|
+
// to determine the Content-Type header
|
|
2375
|
+
const consumes = [
|
|
2376
|
+
'application/json'
|
|
2377
|
+
];
|
|
2378
|
+
const httpContentTypeSelected = this.configuration.selectHeaderContentType(consumes);
|
|
2379
|
+
if (httpContentTypeSelected !== undefined) {
|
|
2380
|
+
localVarHeaders = localVarHeaders.set('Content-Type', httpContentTypeSelected);
|
|
2381
|
+
}
|
|
2382
|
+
let responseType_ = 'json';
|
|
2383
|
+
if (localVarHttpHeaderAcceptSelected) {
|
|
2384
|
+
if (localVarHttpHeaderAcceptSelected.startsWith('text')) {
|
|
2385
|
+
responseType_ = 'text';
|
|
2386
|
+
}
|
|
2387
|
+
else if (this.configuration.isJsonMime(localVarHttpHeaderAcceptSelected)) {
|
|
2388
|
+
responseType_ = 'json';
|
|
2389
|
+
}
|
|
2390
|
+
else {
|
|
2391
|
+
responseType_ = 'blob';
|
|
2392
|
+
}
|
|
2393
|
+
}
|
|
2394
|
+
let localVarPath = `/rest/${this.configuration.encodeParam({ name: "iaVersie", value: iaVersie, in: "path", style: "simple", explode: false, dataType: "string", dataFormat: undefined })}/svgs`;
|
|
2395
|
+
return this.httpClient.request('post', `${this.configuration.basePath}${localVarPath}`, {
|
|
2396
|
+
context: localVarHttpContext,
|
|
2397
|
+
body: signaleringsbeeldDto,
|
|
2398
|
+
responseType: responseType_,
|
|
2399
|
+
withCredentials: this.configuration.withCredentials,
|
|
2400
|
+
headers: localVarHeaders,
|
|
2401
|
+
observe: observe,
|
|
2402
|
+
transferCache: localVarTransferCache,
|
|
2403
|
+
reportProgress: reportProgress
|
|
2404
|
+
});
|
|
2405
|
+
}
|
|
2406
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgControllerService, deps: [{ token: i1.HttpClient }, { token: BASE_PATH, optional: true }, { token: Configuration, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2407
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgControllerService, providedIn: 'root' }); }
|
|
2408
|
+
}
|
|
2409
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgControllerService, decorators: [{
|
|
2410
|
+
type: Injectable,
|
|
2411
|
+
args: [{
|
|
2412
|
+
providedIn: 'root'
|
|
2413
|
+
}]
|
|
2414
|
+
}], ctorParameters: () => [{ type: i1.HttpClient }, { type: undefined, decorators: [{
|
|
2415
|
+
type: Optional
|
|
2416
|
+
}, {
|
|
2417
|
+
type: Inject,
|
|
2418
|
+
args: [BASE_PATH]
|
|
2419
|
+
}] }, { type: Configuration, decorators: [{
|
|
2420
|
+
type: Optional
|
|
2421
|
+
}] }] });
|
|
2422
|
+
|
|
2423
|
+
const APIS = [AppConfigControllerService, BewegingControllerService, Class0BuildPropertiesService, ConnectorControllerService, LogControllerService, P21ControllerService, SbControllerService, SvgControllerService];
|
|
2424
|
+
|
|
2425
|
+
/**
|
|
2426
|
+
* MST
|
|
2427
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
2428
|
+
*
|
|
2429
|
+
* The version of the OpenAPI document: 1
|
|
2430
|
+
*
|
|
2431
|
+
*
|
|
2432
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2433
|
+
* https://openapi-generator.tech
|
|
2434
|
+
* Do not edit the class manually.
|
|
2435
|
+
*/
|
|
2436
|
+
|
|
2437
|
+
/**
|
|
2438
|
+
* MST
|
|
2439
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
2440
|
+
*
|
|
2441
|
+
* The version of the OpenAPI document: 1
|
|
2442
|
+
*
|
|
2443
|
+
*
|
|
2444
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2445
|
+
* https://openapi-generator.tech
|
|
2446
|
+
* Do not edit the class manually.
|
|
2447
|
+
*/
|
|
2448
|
+
|
|
2449
|
+
/**
|
|
2450
|
+
* MST
|
|
2451
|
+
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
2452
|
+
*
|
|
2453
|
+
* The version of the OpenAPI document: 1
|
|
2454
|
+
*
|
|
2455
|
+
*
|
|
2456
|
+
* NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
|
|
2457
|
+
* https://openapi-generator.tech
|
|
2458
|
+
* Do not edit the class manually.
|
|
2459
|
+
*/
|
|
2293
2460
|
|
|
2294
2461
|
/**
|
|
2295
2462
|
* MST
|
|
@@ -2303,6 +2470,16 @@ const APIS = [AppConfigControllerService, BewegingControllerService, Class0Build
|
|
|
2303
2470
|
* Do not edit the class manually.
|
|
2304
2471
|
*/
|
|
2305
2472
|
|
|
2473
|
+
var Sein;
|
|
2474
|
+
(function (Sein) {
|
|
2475
|
+
Sein.DirectionEnum = {
|
|
2476
|
+
LeftToRight: 'LEFT_TO_RIGHT',
|
|
2477
|
+
RightToLeft: 'RIGHT_TO_LEFT',
|
|
2478
|
+
TopToBottom: 'TOP_TO_BOTTOM',
|
|
2479
|
+
BottomToTop: 'BOTTOM_TO_TOP'
|
|
2480
|
+
};
|
|
2481
|
+
})(Sein || (Sein = {}));
|
|
2482
|
+
|
|
2306
2483
|
/**
|
|
2307
2484
|
* MST
|
|
2308
2485
|
* No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
|
|
@@ -2402,9 +2579,8 @@ class LoggingHelper {
|
|
|
2402
2579
|
maakLogDTO(melding, actie) {
|
|
2403
2580
|
return combineLatest([
|
|
2404
2581
|
this.store.select('algemeneRitInfoDto'),
|
|
2405
|
-
this.store.select('iaVersie')
|
|
2406
|
-
|
|
2407
|
-
]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie, visibleSbInfoDtos]) => {
|
|
2582
|
+
this.store.select('iaVersie')
|
|
2583
|
+
]).pipe(take(1), map(([algemeneRitInfoDto, iaVersie]) => {
|
|
2408
2584
|
let actieDto = null;
|
|
2409
2585
|
if (actie) {
|
|
2410
2586
|
actieDto = {
|
|
@@ -2427,10 +2603,19 @@ class LoggingHelper {
|
|
|
2427
2603
|
meldingMessage: melding.meldingMessage,
|
|
2428
2604
|
actieDto,
|
|
2429
2605
|
algemeneRitInfoDto,
|
|
2430
|
-
sbinfoDtos:
|
|
2606
|
+
sbinfoDtos: this.getSbInfoDtos()
|
|
2431
2607
|
};
|
|
2432
2608
|
}));
|
|
2433
2609
|
}
|
|
2610
|
+
getSbInfoDtos() {
|
|
2611
|
+
const sbInfoDtos = [];
|
|
2612
|
+
this.store.select('visibleSbInfoDtos').pipe(take(1)).subscribe(dtos => {
|
|
2613
|
+
dtos.forEach(d => {
|
|
2614
|
+
sbInfoDtos.push(d);
|
|
2615
|
+
});
|
|
2616
|
+
});
|
|
2617
|
+
return sbInfoDtos;
|
|
2618
|
+
}
|
|
2434
2619
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper, deps: [{ token: i2$1.Store }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2435
2620
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: LoggingHelper }); }
|
|
2436
2621
|
}
|
|
@@ -3244,7 +3429,7 @@ class ViewerControlsComponent {
|
|
|
3244
3429
|
}
|
|
3245
3430
|
}
|
|
3246
3431
|
showGoedkeuren() {
|
|
3247
|
-
return this.editable
|
|
3432
|
+
return this.editable;
|
|
3248
3433
|
}
|
|
3249
3434
|
goedkeurenClick() {
|
|
3250
3435
|
this.store.select('ritDelen').pipe(filter(ritdelen => !!ritdelen), tap(ritDelen => {
|
|
@@ -3383,6 +3568,7 @@ class SvgVisualisatieComponent {
|
|
|
3383
3568
|
this.svgInfos$ = this.store.select('svgInfos');
|
|
3384
3569
|
this.popoverInfos = [];
|
|
3385
3570
|
this.clickableIds = [];
|
|
3571
|
+
this.selectieInfos$ = this.store.select('selectieInfos');
|
|
3386
3572
|
this.rightClickableIds = [];
|
|
3387
3573
|
this.contextMenuActions = [];
|
|
3388
3574
|
this.contextMenuStyle = { display: 'none' };
|
|
@@ -3614,11 +3800,11 @@ class SvgVisualisatieComponent {
|
|
|
3614
3800
|
return topoElementen.map(e => e.getPuic());
|
|
3615
3801
|
}
|
|
3616
3802
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgVisualisatieComponent, deps: [{ token: i2$1.Store }, { token: ViewerControlService }, { token: ActieHelper }, { token: SignaleringsBeeldManagerService }, { token: EditorService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3617
|
-
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]=\"
|
|
3803
|
+
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]=\"selectieInfos$ | async\"\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: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.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: i2.AsyncPipe, name: "async" }] }); }
|
|
3618
3804
|
}
|
|
3619
3805
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgVisualisatieComponent, decorators: [{
|
|
3620
3806
|
type: Component,
|
|
3621
|
-
args: [{ selector: 'svg-visualisatie', template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"
|
|
3807
|
+
args: [{ selector: 'svg-visualisatie', template: "<imx-viewer #imxviewercontainer\n [svgInfo]=\"svgInfos$ | async\"\n [selectieInfos]=\"selectieInfos$ | async\"\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"] }]
|
|
3622
3808
|
}], ctorParameters: () => [{ type: i2$1.Store }, { type: ViewerControlService }, { type: ActieHelper }, { type: SignaleringsBeeldManagerService }, { type: EditorService }], propDecorators: { nietGeplandeActies: [{
|
|
3623
3809
|
type: Input
|
|
3624
3810
|
}], useClickArea: [{
|
|
@@ -3757,6 +3943,27 @@ SignaleringsbeeldInfoResource = __decorate([
|
|
|
3757
3943
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SignaleringsbeeldInfoResource, decorators: [{
|
|
3758
3944
|
type: Injectable
|
|
3759
3945
|
}], ctorParameters: () => [{ type: i1$1.ResourceHandler }, { type: i2$1.Store }, { type: SbControllerService }], propDecorators: { getBestaatIALevering: [] } });
|
|
3946
|
+
class SignaleringsbeeldInfoDto extends ResourceModel {
|
|
3947
|
+
constructor(data) {
|
|
3948
|
+
super();
|
|
3949
|
+
this.$resource = SignaleringsbeeldInfoResource;
|
|
3950
|
+
this.$setData(data);
|
|
3951
|
+
}
|
|
3952
|
+
toJSON() {
|
|
3953
|
+
return { bladnaam: this.bladNaam, pplgs: this.pplgs, metVisualisatie: this.metVisualisatie };
|
|
3954
|
+
}
|
|
3955
|
+
toString() {
|
|
3956
|
+
return `${this.bladNaam}, ${this.pplgs}, ${this.metVisualisatie}`;
|
|
3957
|
+
}
|
|
3958
|
+
$setData(data) {
|
|
3959
|
+
if (data) {
|
|
3960
|
+
this.bladNaam = data.bladNaam;
|
|
3961
|
+
this.pplgs = data.pplgs;
|
|
3962
|
+
this.metVisualisatie = data.metVisualisatie;
|
|
3963
|
+
}
|
|
3964
|
+
return this;
|
|
3965
|
+
}
|
|
3966
|
+
}
|
|
3760
3967
|
|
|
3761
3968
|
class BaseRestService {
|
|
3762
3969
|
constructor(httpClient, store) {
|
|
@@ -4910,29 +5117,57 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
4910
5117
|
}], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: SignaleringsBeeldManagerService }, { type: EditorService }] });
|
|
4911
5118
|
|
|
4912
5119
|
class SvgViewEffect {
|
|
4913
|
-
constructor(actions$, store,
|
|
5120
|
+
constructor(actions$, store, sbSvgUtilService, svgService) {
|
|
4914
5121
|
this.actions$ = actions$;
|
|
4915
5122
|
this.store = store;
|
|
4916
|
-
this.signaleringsBeeldManagerService = signaleringsBeeldManagerService;
|
|
4917
5123
|
this.sbSvgUtilService = sbSvgUtilService;
|
|
4918
|
-
this.
|
|
5124
|
+
this.svgService = svgService;
|
|
5125
|
+
this.updateSvgView$ = createEffect(() => this.actions$.pipe(ofType(SetSvgInfos), withLatestFrom(this.store), switchMap(([_actie, storeState]) => this.svgService.getSvgInfo(storeState.iaVersie.versie, storeState.signaleringsbeeldInfoDtos)), map((svgInfo) => {
|
|
4919
5126
|
setTimeout(() => {
|
|
5127
|
+
console.log('SVG INFO RECEIVED, updating SVG view');
|
|
5128
|
+
const svgTopology = svgInfo.topology;
|
|
5129
|
+
if (!svgTopology) {
|
|
5130
|
+
return;
|
|
5131
|
+
}
|
|
4920
5132
|
this.sbSvgUtilService.addSvgDefs();
|
|
4921
5133
|
const wisselEnStoringskaderPuicMap = new Map();
|
|
4922
|
-
|
|
4923
|
-
|
|
5134
|
+
svgTopology.alleSoortenWissels
|
|
5135
|
+
?.forEach(wissel => wisselEnStoringskaderPuicMap.set(wissel.puic, wissel.storingSymboolPuic));
|
|
4924
5136
|
this.sbSvgUtilService.zetClassOpStoringSymbolenMetMap(wisselEnStoringskaderPuicMap);
|
|
4925
|
-
this.sbSvgUtilService.zetClassOpSpoornummers(
|
|
5137
|
+
this.sbSvgUtilService.zetClassOpSpoornummers(svgTopology.puicVoorSpoorNummers ?? []);
|
|
4926
5138
|
this.sbSvgUtilService.maakOngewensteElementenOnzichtbaar();
|
|
4927
5139
|
this.sbSvgUtilService.zetClassOpLangeText();
|
|
4928
|
-
|
|
4929
|
-
this.sbSvgUtilService.
|
|
4930
|
-
|
|
5140
|
+
const seinen = svgTopology.seinen?.map(this.toSbSein) ?? [];
|
|
5141
|
+
this.sbSvgUtilService.maakOngewensteSeindelenOnzichtbaar(seinen);
|
|
5142
|
+
this.sbSvgUtilService.maakSignaleringsElementenOnzichtbaar(svgTopology.signaleringsElementen
|
|
5143
|
+
?.map(signaleringsElement => this.toSbSignaleringsElement(signaleringsElement)) ?? []);
|
|
5144
|
+
const puicsVoorRanden = svgTopology.puicVoorRanden ?? [];
|
|
4931
5145
|
this.zetClassOpRanden(puicsVoorRanden);
|
|
4932
|
-
this.sbSvgUtilService.zetClassOpRijrichtingen(
|
|
5146
|
+
this.sbSvgUtilService.zetClassOpRijrichtingen(seinen);
|
|
4933
5147
|
this.store.dispatch(SetConnectorenClickableIds(puicsVoorRanden));
|
|
5148
|
+
this.store.dispatch(svgUpdateFinished());
|
|
4934
5149
|
}, 0);
|
|
4935
5150
|
})), { dispatch: false });
|
|
5151
|
+
this.updateSelectieInfos$ = createEffect(() => this.actions$.pipe(ofType(svgUpdateFinished), switchMap(() => combineLatest([
|
|
5152
|
+
this.store.select('ritSelectieIds'),
|
|
5153
|
+
this.store.select('actieOpRitSelectieIds'),
|
|
5154
|
+
this.store.select('ongeplandeActieSelectieIds'),
|
|
5155
|
+
this.store.select('gebrokenRitSelectieIds'),
|
|
5156
|
+
this.store.select('alternatievenSelectieIds'),
|
|
5157
|
+
this.store.select('beginSeinSelectieIds'),
|
|
5158
|
+
this.store.select('eindSeinSelectieIds')
|
|
5159
|
+
]).pipe(map(([rit, actieOpRitSelectieIds, ongeplandeActieSelectieIds, gebrokenRit, alternatieven, begin, eind]) => {
|
|
5160
|
+
return setSelectieInfos([
|
|
5161
|
+
new SelectieInfo(rit, 'rit'),
|
|
5162
|
+
new SelectieInfo(actieOpRitSelectieIds, 'actieoprit'),
|
|
5163
|
+
new SelectieInfo(ongeplandeActieSelectieIds, 'ongeplandeActie'),
|
|
5164
|
+
new SelectieInfo(gebrokenRit, 'gebrokenrit'),
|
|
5165
|
+
new SelectieInfo(alternatieven, 'alternatieveRoute'),
|
|
5166
|
+
new SelectieInfo(begin, 'zigzagVan'),
|
|
5167
|
+
new SelectieInfo(eind, 'zigzagNaar')
|
|
5168
|
+
]);
|
|
5169
|
+
})))));
|
|
5170
|
+
this.store.select('baseUrl').pipe(filter(baseUrl => !!baseUrl), take(1), tap(baseUrl => svgService.configuration.basePath = baseUrl + '/mst')).subscribe();
|
|
4936
5171
|
}
|
|
4937
5172
|
zetClassOpRanden(puics) {
|
|
4938
5173
|
puics.forEach(element => {
|
|
@@ -4940,12 +5175,24 @@ class SvgViewEffect {
|
|
|
4940
5175
|
rand?.classList.add('connector');
|
|
4941
5176
|
});
|
|
4942
5177
|
}
|
|
4943
|
-
|
|
5178
|
+
toSbSein(sein) {
|
|
5179
|
+
return {
|
|
5180
|
+
getPuic: () => sein.puic,
|
|
5181
|
+
isBediend: () => sein.bediend,
|
|
5182
|
+
getType: () => sein.type
|
|
5183
|
+
};
|
|
5184
|
+
}
|
|
5185
|
+
toSbSignaleringsElement(signaleringsElement) {
|
|
5186
|
+
return {
|
|
5187
|
+
getPuic: () => signaleringsElement.puic
|
|
5188
|
+
};
|
|
5189
|
+
}
|
|
5190
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgViewEffect, deps: [{ token: i1$2.Actions }, { token: i2$1.Store }, { token: i3.SignaleringsbeeldSvgUtilityService }, { token: SvgControllerService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4944
5191
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgViewEffect }); }
|
|
4945
5192
|
}
|
|
4946
5193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: SvgViewEffect, decorators: [{
|
|
4947
5194
|
type: Injectable
|
|
4948
|
-
}], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type:
|
|
5195
|
+
}], ctorParameters: () => [{ type: i1$2.Actions }, { type: i2$1.Store }, { type: i3.SignaleringsbeeldSvgUtilityService }, { type: SvgControllerService }] });
|
|
4949
5196
|
|
|
4950
5197
|
class ProgressIndicator {
|
|
4951
5198
|
constructor(lowerText, upperText, iconClass) {
|
|
@@ -5034,6 +5281,7 @@ const progressIndicatorReducer = createReducer({}, on(ShowProgress, () => ({ pro
|
|
|
5034
5281
|
const svgInfoReducer = createReducer([], on(SetSvgInfos, (_, { svgInfos }) => svgInfos));
|
|
5035
5282
|
const debugReducer = createReducer(false, on(SetDebug, (_, { debug }) => debug));
|
|
5036
5283
|
const ritSelectieIdsReducer = createIdsReducer(SetRitSelectieIds);
|
|
5284
|
+
const selectieInfosReducer = createReducer([], on(setSelectieInfos, (_, { selectieInfos }) => selectieInfos));
|
|
5037
5285
|
const actieOpRitReducer = createReducer(new ArrayMultimap(), on(SetGeplandeActies, (_, { geplandeActiesMap }) => geplandeActiesMap), on(AddGeplandeActie, (geplandeActies, { actie, puics }) => {
|
|
5038
5286
|
geplandeActies.putAll(actie, puics);
|
|
5039
5287
|
return new ArrayMultimap(geplandeActies);
|
|
@@ -5105,6 +5353,7 @@ const storeReducers = {
|
|
|
5105
5353
|
nieuweBewegingen: nieuweBewegingReducer,
|
|
5106
5354
|
baseUrl: baseUrlReducer,
|
|
5107
5355
|
focusIds: focusIdsReducer,
|
|
5356
|
+
selectieInfos: selectieInfosReducer
|
|
5108
5357
|
};
|
|
5109
5358
|
|
|
5110
5359
|
// @ts-nocheck
|
|
@@ -5253,5 +5502,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
|
|
|
5253
5502
|
* Generated bundle index. Do not edit.
|
|
5254
5503
|
*/
|
|
5255
5504
|
|
|
5256
|
-
export { MeldingEvent, MstViewerModule, MstviewerComponent, STORE_CONFIG, SignaleringsbeeldInfoResource };
|
|
5505
|
+
export { MeldingEvent, MstViewerModule, MstviewerComponent, STORE_CONFIG, SignaleringsbeeldInfoDto, SignaleringsbeeldInfoResource };
|
|
5257
5506
|
//# sourceMappingURL=loxia-mst-viewer.mjs.map
|