@tiba-spark/client-shared-lib 25.3.0-905 → 25.3.0-910

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.
@@ -24,7 +24,7 @@ import { MatDialogModule, MAT_DIALOG_DATA, MatDialogConfig, MatDialogState } fro
24
24
  import * as i1$6 from '@angular/material/snack-bar';
25
25
  import { MAT_SNACK_BAR_DATA, MatSnackBarModule } from '@angular/material/snack-bar';
26
26
  import * as i1$8 from '@angular/router';
27
- import { NavigationEnd, ResolveEnd, DefaultUrlSerializer, Router } from '@angular/router';
27
+ import { NavigationEnd, DefaultUrlSerializer, ResolveEnd, Router } from '@angular/router';
28
28
  import { Navigate } from '@ngxs/router-plugin';
29
29
  import { Dispatch } from '@ngxs-labs/dispatch-decorator';
30
30
  import * as i10 from '@azure/msal-angular';
@@ -33,14 +33,14 @@ import { AuthorizationNotifier, RedirectRequestHandler, AuthorizationServiceConf
33
33
  import { trigger, state, style, transition, animate, keyframes } from '@angular/animations';
34
34
  import * as i1$9 from 'ngx-toastr';
35
35
  import { Toast, ToastrModule } from 'ngx-toastr';
36
+ import CryptoJS from 'crypto-js';
37
+ import { saveAs } from 'file-saver';
36
38
  import { datadogLogs } from '@datadog/browser-logs';
37
39
  import { HubConnectionBuilder, HttpTransportType, HubConnectionState } from '@microsoft/signalr';
38
40
  import { Workbook } from 'exceljs';
39
- import { saveAs } from 'file-saver';
40
41
  import * as i4 from '@angular/material/core';
41
42
  import { MatRippleModule } from '@angular/material/core';
42
43
  import * as i2$2 from '@angular/platform-browser';
43
- import CryptoJS from 'crypto-js';
44
44
  import * as mixpanel from 'mixpanel-browser';
45
45
  import { PublicClientApplication, BrowserCacheLocation, LogLevel, InteractionType } from '@azure/msal-browser';
46
46
 
@@ -28005,6 +28005,19 @@ function printSpecialDaysText(translateService, specialDays) {
28005
28005
  function getDaysFromValue(translateService, days, value) {
28006
28006
  return days.filter(day => (value & day.value) !== 0).map(day => translateService.instant(day.label));
28007
28007
  }
28008
+ function objectKeystoLowerCase(obj) {
28009
+ if (Array.isArray(obj)) {
28010
+ return obj.map(item => this.objectKeystoLowerCase(item));
28011
+ }
28012
+ if (obj !== null && typeof obj === 'object') {
28013
+ const normalized = {};
28014
+ for (const key of Object.keys(obj)) {
28015
+ normalized[key.toLowerCase()] = this.objectKeystoLowerCase(obj[key]);
28016
+ }
28017
+ return normalized;
28018
+ }
28019
+ return obj;
28020
+ }
28008
28021
 
28009
28022
  // Gets an object of type<T>
28010
28023
  // Gets an array of keys to ignore
@@ -100207,6 +100220,675 @@ class LoadSmartparksDropdownAction {
100207
100220
  }
100208
100221
  }
100209
100222
 
100223
+ function isDeviceActive(device) {
100224
+ return device && device.hasOwnProperty('active') && device.active !== undefined ? device.active : true;
100225
+ }
100226
+
100227
+ const SUPPORTED_DEVICES_SCHEDULER = [
100228
+ DeviceType$1.CashReader,
100229
+ DeviceType$1.Dispenser,
100230
+ DeviceType$1.Verifier,
100231
+ DeviceType$1.EntryPil,
100232
+ DeviceType$1.ExitPil,
100233
+ DeviceType$1.Credit,
100234
+ DeviceType$1.Pof,
100235
+ DeviceType$1.ValetStation,
100236
+ DeviceType$1.Reader
100237
+ ];
100238
+
100239
+ function downloadFile(res, method) {
100240
+ switch (method) {
100241
+ case FileGenerateMethod.viewPDF:
100242
+ const viewBlob = new Blob([res.data], { type: 'application/pdf' });
100243
+ const viewBlobURL = window.URL.createObjectURL(viewBlob);
100244
+ // Checks if the browser popups are blocked
100245
+ var popUp = window.open(viewBlobURL, '_blank');
100246
+ if (popUp == null || typeof (popUp) == 'undefined') {
100247
+ return {
100248
+ success: false,
100249
+ obj: viewBlobURL
100250
+ };
100251
+ }
100252
+ else {
100253
+ popUp.focus();
100254
+ // Change the name of thte tab after the PDF loaded
100255
+ popUp.addEventListener("load", function () {
100256
+ setTimeout(() => {
100257
+ popUp.document.title = res.fileName;
100258
+ }, 150);
100259
+ });
100260
+ }
100261
+ break;
100262
+ case FileGenerateMethod.downloadPDF:
100263
+ case FileGenerateMethod.downloadExcel:
100264
+ case FileGenerateMethod.downloadZip:
100265
+ case FileGenerateMethod.downloadCsv:
100266
+ default:
100267
+ saveAs(res.data, res.fileName);
100268
+ break;
100269
+ }
100270
+ return {
100271
+ success: true,
100272
+ obj: null
100273
+ };
100274
+ }
100275
+ var FileGenerateMethod;
100276
+ (function (FileGenerateMethod) {
100277
+ FileGenerateMethod[FileGenerateMethod["viewPDF"] = 1] = "viewPDF";
100278
+ FileGenerateMethod[FileGenerateMethod["downloadPDF"] = 2] = "downloadPDF";
100279
+ FileGenerateMethod[FileGenerateMethod["downloadExcel"] = 3] = "downloadExcel";
100280
+ FileGenerateMethod[FileGenerateMethod["downloadZip"] = 4] = "downloadZip";
100281
+ FileGenerateMethod[FileGenerateMethod["downloadCsv"] = 5] = "downloadCsv";
100282
+ })(FileGenerateMethod || (FileGenerateMethod = {}));
100283
+ function blobToBase64(blob) {
100284
+ return new Promise((resolve, _) => {
100285
+ const reader = new FileReader();
100286
+ reader.onloadend = () => resolve(reader.result);
100287
+ reader.readAsDataURL(blob);
100288
+ });
100289
+ }
100290
+
100291
+ var AnalyticsEventsText;
100292
+ (function (AnalyticsEventsText) {
100293
+ AnalyticsEventsText["ReportType"] = "Event choose report type";
100294
+ AnalyticsEventsText["SelectReport"] = "Event select report";
100295
+ AnalyticsEventsText["Coupons"] = "Coupons";
100296
+ AnalyticsEventsText["SendCouponsToEmail"] = "Send Coupons to Email";
100297
+ AnalyticsEventsText["MarkAsUsed"] = "Mark as used";
100298
+ AnalyticsEventsText["GeneralError"] = "General Error";
100299
+ AnalyticsEventsText["PrintCoupon"] = "Print Coupon";
100300
+ AnalyticsEventsText["DeleteCoupon"] = "Delete Coupon";
100301
+ AnalyticsEventsText["UpdateCoupon"] = "Update Coupon";
100302
+ AnalyticsEventsText["CreateCoupon"] = "Create Coupon";
100303
+ AnalyticsEventsText["CreateCouponClick"] = "Create Coupon click";
100304
+ AnalyticsEventsText["SendCouponsToEmailClick"] = "Send Coupons to Email click";
100305
+ AnalyticsEventsText["CouponsFilterByAccount"] = "Coupons filter by account";
100306
+ AnalyticsEventsText["CouponsFilterBySubAccount"] = "Coupons filter by sub account";
100307
+ AnalyticsEventsText["couponBatchDateValidityChange"] = "Coupon filter by date validity";
100308
+ AnalyticsEventsText["importingMonthlies"] = "Importing monthlies";
100309
+ AnalyticsEventsText["CreateRestrictCar"] = "Create Restrict car";
100310
+ AnalyticsEventsText["UpdateRestrictCar"] = "Update Restrict car";
100311
+ AnalyticsEventsText["DeleteChargeTable"] = "Delete Charge Table";
100312
+ AnalyticsEventsText["DeleteChargeCondition"] = "Delete Charge Condition";
100313
+ AnalyticsEventsText["SearchChargeTable"] = "Search charge table";
100314
+ AnalyticsEventsText["SelectByRelatedToRate"] = "Select by related to rate";
100315
+ AnalyticsEventsText["ViewRateStructure"] = "View Rate Structure";
100316
+ AnalyticsEventsText["AddRateClicked"] = "Add rate clicked";
100317
+ AnalyticsEventsText["CancelAddRate"] = "Cancel add rate";
100318
+ AnalyticsEventsText["MoveToLotRateStructure"] = "Move to lot (rate structure)";
100319
+ AnalyticsEventsText["ViewRateConditions"] = "View rate conditions";
100320
+ AnalyticsEventsText["SearchRateCondition"] = "Search rate conditions";
100321
+ AnalyticsEventsText["SelectConditionByRelatedToRate"] = "Select condition by related to rate";
100322
+ AnalyticsEventsText["ChargeTableNavigation"] = "Charge table navigation";
100323
+ AnalyticsEventsText["DeleteRateCondition"] = "Delete rate condition";
100324
+ AnalyticsEventsText["ReorderRateCondition"] = "Reorder rate condition";
100325
+ AnalyticsEventsText["ChargeConditionReorder"] = "Charge condition reorder";
100326
+ AnalyticsEventsText["SegmentationReorder"] = "Segmentation reorder";
100327
+ AnalyticsEventsText["ChargeConditionAdded"] = "Charge condition added";
100328
+ AnalyticsEventsText["EditRateClicked"] = "Edit rate clicked";
100329
+ AnalyticsEventsText["DuplicateRateClicked"] = "Duplicate rate clicked";
100330
+ AnalyticsEventsText["DeleteRateClicked"] = "Delete rate clicked";
100331
+ AnalyticsEventsText["RateDeleted"] = "Rate deleted";
100332
+ AnalyticsEventsText["RateNumberProtection"] = "Rate number protection";
100333
+ AnalyticsEventsText["CreateTestPlane"] = "Create test plane";
100334
+ AnalyticsEventsText["RerunTestRate"] = "Rerun test rate";
100335
+ AnalyticsEventsText["DeleteChargeSegmentation"] = "Delete charge segmentation";
100336
+ AnalyticsEventsText["EditChargeCondition"] = "Edit charge condition";
100337
+ AnalyticsEventsText["AddConditionRate"] = "Add condition rate";
100338
+ AnalyticsEventsText["RateSettingsUpdated"] = "Rate settings updated";
100339
+ AnalyticsEventsText["DuplicateRateConditions"] = "Duplicate rate conditions";
100340
+ AnalyticsEventsText["EditConditionRate"] = "Edit condition rate";
100341
+ AnalyticsEventsText["HttpError"] = "Http Error";
100342
+ AnalyticsEventsText["EventCreateColor"] = "Event create color";
100343
+ AnalyticsEventsText["EventCreateModel"] = "Event create model";
100344
+ })(AnalyticsEventsText || (AnalyticsEventsText = {}));
100345
+ const ReportMethodDictionary = {
100346
+ [FileGenerateMethod.viewPDF]: `View report PDF`,
100347
+ [FileGenerateMethod.downloadExcel]: `Download report Excel`,
100348
+ [FileGenerateMethod.downloadPDF]: `Download report PDF`,
100349
+ };
100350
+
100351
+ // DOTO: Get the correct list from Product of DeviceTypes that support Restore Ticket
100352
+ const SUPPORETD_RESTORE_TICKET_TYPES = [DeviceType.CashMp, DeviceType.CashReader, DeviceType.Dispenser, DeviceType.EntryPil,
100353
+ DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Reader, DeviceType.ValetStation,
100354
+ DeviceType.Validator, DeviceType.Verifier];
100355
+ const SUPPORTED_PAYMENT_FOR_ISF_TYPES = [DeviceType.Verifier, DeviceType.ExitPil, DeviceType.Credit];
100356
+ const SUPPORTED_GATE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
100357
+ DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
100358
+ const SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
100359
+ DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
100360
+ const SUPPORTED_TICKET_INSIDE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
100361
+ DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Credit, DeviceType.Pof];
100362
+ const SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES = [DeviceType.CashReader, DeviceType.CashMp, DeviceType.Reader,
100363
+ DeviceType.Dispenser, DeviceType.Verifier, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera,
100364
+ DeviceType.ParkBlueGate, DeviceType.Unknown, DeviceType.Master];
100365
+ const SUPPORTED_STATUS_DEVICE_TYPES = [DeviceType.Cash, DeviceType.CashMp, DeviceType.CashReader, DeviceType.Credit,
100366
+ DeviceType.Reader, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Pof, DeviceType.Unknown, DeviceType.ExitPil,
100367
+ DeviceType.EntryPil, DeviceType.ValetStation, DeviceType.Validator, DeviceType.Dispenser, DeviceType.Verifier
100368
+ ];
100369
+ const deviceIndicationStatusLocalization = new Map([
100370
+ [DeviceIndicationStatus.carOnLoop, Localization.car_on_loop],
100371
+ [DeviceIndicationStatus.gateBroken, Localization.gate_broken],
100372
+ [DeviceIndicationStatus.gateUp, Localization.gate_up],
100373
+ [DeviceIndicationStatus.ticketInside, Localization.ticket_inside],
100374
+ ]);
100375
+ const remoteCommandLocalizationMap = new Map([
100376
+ [RemoteCommandTypes$1.PrintTicket, Localization.print_ticket],
100377
+ [RemoteCommandTypes$1.SetPrice, Localization.set_price],
100378
+ [RemoteCommandTypes$1.InsertVirtualTicket, Localization.send_ticket]
100379
+ ]);
100380
+ const entryDevicesLaneTypes = [DeviceLaneTypes.mainEntry, DeviceLaneTypes.subEntry, DeviceLaneTypes.exSubEntry]; // entry devices
100381
+ const exitDevicesLaneTypes = [DeviceLaneTypes.mainExit, DeviceLaneTypes.subExit, DeviceLaneTypes.exSubExit]; // exit devices
100382
+
100383
+ const parentParkEventTypes = [
100384
+ RtEventType.Zone
100385
+ ];
100386
+ const parkEventTypes = [
100387
+ RtEventType.DeviceEvent,
100388
+ RtEventType.DeviceStatus,
100389
+ RtEventType.LPRTransaction,
100390
+ RtEventType.Occupancy,
100391
+ RtEventType.ParkState,
100392
+ RtEventType.Revenue,
100393
+ RtEventType.Zone,
100394
+ ];
100395
+ const parentParkBaseEventTypes = [
100396
+ RtEventType.DynamicPricingCondition,
100397
+ ];
100398
+ const parkBaseEventTypes = [
100399
+ RtEventType.Alert,
100400
+ RtEventType.LostTicket,
100401
+ RtEventType.LPRmismatch,
100402
+ RtEventType.Facility,
100403
+ RtEventType.ServicesStatus,
100404
+ RtEventType.DynamicPricingCondition,
100405
+ ];
100406
+ const rtEventPermissions = {
100407
+ [RtEventType.DeviceStatus]: [PermissionType$1.CcMain],
100408
+ [RtEventType.Occupancy]: [PermissionType$1.CcMain],
100409
+ [RtEventType.Revenue]: [PermissionType$1.CcMain],
100410
+ [RtEventType.Alert]: [PermissionType$1.CcMain],
100411
+ [RtEventType.ParkState]: [PermissionType$1.CcMain],
100412
+ [RtEventType.LPRTransaction]: [PermissionType$1.CcMain],
100413
+ [RtEventType.DeviceEvent]: [PermissionType$1.CcMain],
100414
+ [RtEventType.ServicesStatus]: [PermissionType$1.CcMain],
100415
+ [RtEventType.LPRmismatch]: [PermissionType$1.CcMain],
100416
+ [RtEventType.LostTicket]: [PermissionType$1.CcMain],
100417
+ [RtEventType.Zone]: [PermissionType$1.CcMain],
100418
+ [RtEventType.Facility]: [PermissionType$1.CcMain],
100419
+ [RtEventType.Company]: [PermissionType$1.CcMain],
100420
+ [RtEventType.SubCompany]: [PermissionType$1.CcMain],
100421
+ [RtEventType.FacilityDeleted]: [PermissionType$1.CcMain],
100422
+ [RtEventType.OpenTicketTransaction]: [PermissionType$1.CcMain],
100423
+ [RtEventType.CloseTicketTransaction]: [PermissionType$1.CcMain],
100424
+ [RtEventType.MonthlyTransaction]: [PermissionType$1.CcMain],
100425
+ [RtEventType.GuestTransaction]: [PermissionType$1.CcMain],
100426
+ [RtEventType.PaymentTransaction]: [PermissionType$1.CcMain],
100427
+ [RtEventType.EvoucherTransaction]: [PermissionType$1.CcMain],
100428
+ [RtEventType.ValidationProfile]: [PermissionType$1.CcMain],
100429
+ [RtEventType.DataOnCloud]: [PermissionType$1.CcMain],
100430
+ [RtEventType.DynamicPricingCondition]: [PermissionType$1.SetActiveRate],
100431
+ };
100432
+
100433
+ // Constants
100434
+
100435
+ function decryptClientSecret(encryptedSecret, encryptionKey) {
100436
+ let decryptedSecret = null;
100437
+ if (encryptedSecret?.length > 0) {
100438
+ var key_iv = encryptedSecret.split("#");
100439
+ let key;
100440
+ let iv;
100441
+ if (key_iv.length == 2) {
100442
+ key = CryptoJS.enc.Utf8.parse(key_iv[0]);
100443
+ iv = CryptoJS.enc.Utf8.parse(key_iv[0]);
100444
+ }
100445
+ else {
100446
+ key = CryptoJS.enc.Utf8.parse(encryptionKey);
100447
+ iv = CryptoJS.enc.Hex.parse(AES_DEFAULT_IV);
100448
+ }
100449
+ // Perform decryption
100450
+ const decrypted = CryptoJS.AES.decrypt(encryptedSecret, key, {
100451
+ iv: iv,
100452
+ mode: CryptoJS.mode.CBC,
100453
+ padding: CryptoJS.pad.Pkcs7
100454
+ });
100455
+ // Return the decrypted data as a UTF-8 string
100456
+ decryptedSecret = decrypted.toString(CryptoJS.enc.Utf8);
100457
+ }
100458
+ return decryptedSecret;
100459
+ }
100460
+
100461
+ function arraysAreDifferent(prev, curr) {
100462
+ return !_.isEqual(prev, curr);
100463
+ }
100464
+
100465
+ function isBoolean(value) {
100466
+ switch (value) {
100467
+ case true:
100468
+ case 'true':
100469
+ case 1:
100470
+ case '1':
100471
+ return true;
100472
+ default:
100473
+ return false;
100474
+ }
100475
+ }
100476
+
100477
+ function getDefaultDeviceStatus(device) {
100478
+ return new DeviceStatusDto({
100479
+ aggregatedStatus: AggregatedStatus.ERROR,
100480
+ barriers: [],
100481
+ buttons: [],
100482
+ deviceID: device?.id,
100483
+ communicationPercentage: 0,
100484
+ creditMode: null,
100485
+ isCashSupported: false,
100486
+ isCreditServerConnected: false,
100487
+ isConnected: false,
100488
+ loops: [],
100489
+ mode: null,
100490
+ name: device?.name,
100491
+ printers: [],
100492
+ saf: null,
100493
+ secondaryComStatus: null,
100494
+ type: device?.type,
100495
+ version: null,
100496
+ zone: device?.zoneID,
100497
+ barrier: null,
100498
+ billDispenser: null,
100499
+ billRecycler: null,
100500
+ billValidator: null,
100501
+ bytesPerSecond: null,
100502
+ centralSafe: null,
100503
+ coinInLane: null,
100504
+ devicePerSecond: null,
100505
+ doorControllerConnected: null,
100506
+ doorSensors: null,
100507
+ doorStatus: null,
100508
+ fullGateController: null,
100509
+ hoppers: null,
100510
+ isInternet: null,
100511
+ printer: null,
100512
+ commID: device?.commID,
100513
+ relays: null,
100514
+ swallowUnit: null,
100515
+ swallowUnits: null,
100516
+ switch: null,
100517
+ laneRecognition: null,
100518
+ });
100519
+ }
100520
+ function filterDevicesByTypes(array, filterByList) {
100521
+ if (!array || !array.length) {
100522
+ return [];
100523
+ }
100524
+ if (!filterByList || !filterByList.length) {
100525
+ return array;
100526
+ }
100527
+ let filteredList = [];
100528
+ for (const filterBy of filterByList) {
100529
+ filteredList = filteredList.concat(array.filter(item => isDeviceInFilterDeviceTypes(item, filterBy)));
100530
+ }
100531
+ return [...new Set(filteredList)];
100532
+ }
100533
+ function isDeviceInFiltersDeviceTypes(device, filterBys) {
100534
+ for (const filterBy of filterBys) {
100535
+ if (isDeviceInFilterDeviceTypes(device, filterBy)) {
100536
+ return true;
100537
+ }
100538
+ }
100539
+ return false;
100540
+ }
100541
+ function isDeviceInFilterDeviceTypes(device, filterBy) {
100542
+ switch (filterBy) {
100543
+ // entry
100544
+ case FilterByDeviceType.device_filter_by_dispenser:
100545
+ return device.type === DeviceType.Dispenser;
100546
+ case FilterByDeviceType.device_filter_by_entry_pil:
100547
+ return device.type === DeviceType.EntryPil;
100548
+ case FilterByDeviceType.device_filter_by_entry_au_slim:
100549
+ return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainEntry) ||
100550
+ (device.laneType === DeviceLaneTypes.subEntry) ||
100551
+ (device.laneType === DeviceLaneTypes.exSubEntry));
100552
+ // exit
100553
+ case FilterByDeviceType.device_filter_by_verifier:
100554
+ return device.type === DeviceType.Verifier;
100555
+ case FilterByDeviceType.device_filter_by_exit_pil:
100556
+ return device.type === DeviceType.ExitPil;
100557
+ case FilterByDeviceType.device_filter_by_exit_au_slim:
100558
+ return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainExit) ||
100559
+ (device.laneType === DeviceLaneTypes.subExit) ||
100560
+ (device.laneType === DeviceLaneTypes.exSubExit));
100561
+ // payment
100562
+ case FilterByDeviceType.device_filter_by_pay_in_lane:
100563
+ return device.type === DeviceType.EntryPil || device.type === DeviceType.ExitPil;
100564
+ case FilterByDeviceType.device_filter_by_lobby_station:
100565
+ return device.type === DeviceType.Credit || device.type === DeviceType.Pof;
100566
+ // other
100567
+ case FilterByDeviceType.device_filter_by_main_controller:
100568
+ return device.type === DeviceType.Cash && device.commID === 0;
100569
+ case FilterByDeviceType.device_filter_by_cashier_station:
100570
+ return device.type === DeviceType.Cash && device.commID > 0;
100571
+ case FilterByDeviceType.device_filter_by_valet_station:
100572
+ return device.type === DeviceType.ValetStation;
100573
+ case FilterByDeviceType.device_filter_by_validator:
100574
+ return device.type === DeviceType.Validator;
100575
+ case FilterByDeviceType.device_filter_by_lpr_camera:
100576
+ return device.type === DeviceType.LprCamera;
100577
+ default:
100578
+ return true;
100579
+ }
100580
+ }
100581
+ function matchesDevicesParkingLotCriteria(entities, searchValue = '') {
100582
+ const search = searchValue.toLowerCase();
100583
+ return entities.filter(entity => {
100584
+ if (entity.isChild) {
100585
+ return matchesDeviceParkingLotCriteria(entity, search);
100586
+ }
100587
+ else {
100588
+ return entity['children'].filter(e => matchesDeviceParkingLotCriteria(e, search)).length > 0;
100589
+ }
100590
+ });
100591
+ }
100592
+ function matchesDeviceParkingLotCriteria(entity, searchValue) {
100593
+ return entity.device?.name.toLowerCase().includes(searchValue) ||
100594
+ entity.device?.commID.toString().includes(searchValue) ||
100595
+ entity.zone?.name.toLowerCase().includes(searchValue) ||
100596
+ entity.parkName?.toLowerCase().includes(searchValue);
100597
+ }
100598
+ function matchesDeviceCriteria(entity, searchValue) {
100599
+ return entity.name.toLowerCase().includes(searchValue) ||
100600
+ entity.commID.toString().includes(searchValue) ||
100601
+ entity.zone?.name.toLowerCase().includes(searchValue) ||
100602
+ entity.parkName?.toLowerCase().includes(searchValue);
100603
+ }
100604
+
100605
+ function setErrorMessage(formName, controlName, event) {
100606
+ if (event) {
100607
+ formName.get(controlName).setErrors(event);
100608
+ formName.get(controlName).markAsTouched();
100609
+ }
100610
+ }
100611
+
100612
+ function hasRequiredField(abstractControl) {
100613
+ return abstractControl?.hasValidator(Validators.required);
100614
+ }
100615
+
100616
+ function safeParse(jsonString) {
100617
+ try {
100618
+ const value = JSON.parse(jsonString);
100619
+ return { success: true, value };
100620
+ }
100621
+ catch (error) {
100622
+ return { success: false, error: error.message };
100623
+ }
100624
+ }
100625
+
100626
+ function getCurrentLang(userSettings) {
100627
+ const value = userSettings?.get(SettingsCategory$2.Localization);
100628
+ return value?.keyName ?? LOCAL_ENGLISH_LANGUAGE;
100629
+ }
100630
+
100631
+ const Migrations = [
100632
+ {
100633
+ version: '7.3.5',
100634
+ name: 'setApplicationField',
100635
+ up: () => {
100636
+ const session = JSON.parse(localStorage.getItem(SESSION));
100637
+ if (!session.application) {
100638
+ session.application = { version: session.version, releaseDate: session.releaseDate, features: session.features };
100639
+ delete session.version;
100640
+ delete session.releaseDate;
100641
+ delete session.features;
100642
+ localStorage.setItem(SESSION, JSON.stringify(session));
100643
+ }
100644
+ },
100645
+ },
100646
+ {
100647
+ version: '7.3.5',
100648
+ name: 'sessionByTenantName',
100649
+ up: () => {
100650
+ const session = JSON.parse(localStorage.getItem(SESSION));
100651
+ if (!session.sparkSessions) {
100652
+ session.sparkSessions = { [session.tenant.tenantName.toLowerCase()]: { tenant: session.tenant, user: session.user } };
100653
+ delete session.tenant;
100654
+ delete session.user;
100655
+ localStorage.setItem(SESSION, JSON.stringify(session));
100656
+ }
100657
+ },
100658
+ },
100659
+ ];
100660
+ function LocalStorageMigrator() {
100661
+ const session = JSON.parse(localStorage.getItem(SESSION));
100662
+ const version = session.application?.version || session?.version;
100663
+ if (version) {
100664
+ console.debug('Running local storage migration');
100665
+ Migrations.filter(mig => version < mig.version).forEach(m => m.up());
100666
+ }
100667
+ }
100668
+
100669
+ const whiteListUrls = [
100670
+ 'openid-callback'
100671
+ ];
100672
+ class LowerCaseUrlSerializer extends DefaultUrlSerializer {
100673
+ parse(url) {
100674
+ if (whiteListUrls.some(substring => url.includes(substring))) {
100675
+ return super.parse(url);
100676
+ }
100677
+ const url_query = url.split('?');
100678
+ if (url_query.length > 1) {
100679
+ url = url.replace(url_query[0], url_query[0].toLowerCase());
100680
+ return super.parse(url);
100681
+ }
100682
+ else {
100683
+ return super.parse(url.toLowerCase());
100684
+ }
100685
+ }
100686
+ }
100687
+
100688
+ const META_KEY = 'METADATA';
100689
+ function getObjectMetadata(target) {
100690
+ return target[META_KEY];
100691
+ }
100692
+ function ensureObjectMetadata(target) {
100693
+ if (!target.hasOwnProperty(META_KEY)) {
100694
+ Object.defineProperty(target, META_KEY, { value: {} });
100695
+ }
100696
+ return getObjectMetadata(target);
100697
+ }
100698
+ const createDescriptor = (value) => ({
100699
+ value,
100700
+ enumerable: false,
100701
+ configurable: true,
100702
+ writable: true,
100703
+ });
100704
+ // tslint:disable-next-line:ban-types
100705
+ function wrapConstructor(targetClass, constructorCallback) {
100706
+ // create a new wrapped constructor
100707
+ const wrappedConstructor = function () {
100708
+ constructorCallback.apply(this, arguments);
100709
+ return targetClass.apply(this, arguments);
100710
+ };
100711
+ Object.defineProperty(wrappedConstructor, 'name', { value: targetClass });
100712
+ // copy prototype so intanceof operator still works
100713
+ wrappedConstructor.prototype = targetClass.prototype;
100714
+ // return new constructor (will override original)
100715
+ return wrappedConstructor;
100716
+ }
100717
+
100718
+ const MainModuleToSubModulesPermissionTypeMap = {
100719
+ [PermissionType$1.CcMain]: [],
100720
+ [PermissionType$1.AccountManagementMain]: [PermissionType$1.AccountManagementAccountView, PermissionType$1.AccountManagementAccountCreate, PermissionType$1.AccountManagementAccountUpdate, PermissionType$1.AccountManagementAccountDelete],
100721
+ [PermissionType$1.MonthliesMain]: [PermissionType$1.MonthliesView, PermissionType$1.MonthliesCreate, PermissionType$1.MonthliesUpdate, PermissionType$1.MonthliesDelete, PermissionType$1.MonthlySeriesCreate],
100722
+ [PermissionType$1.GuestMain]: [
100723
+ PermissionType$1.GuestView, PermissionType$1.GuestCreate, PermissionType$1.GuestUpdate, PermissionType$1.GuestDelete, PermissionType$1.GuestGroupView,
100724
+ PermissionType$1.GuestGroupCreate, PermissionType$1.GuestHotelGuestView, PermissionType$1.HotelGuestIOCreate, PermissionType$1.GuestEVoucherView,
100725
+ PermissionType$1.IOHistoryView
100726
+ ],
100727
+ [PermissionType$1.ValidationMain]: [
100728
+ PermissionType$1.ValidationEValidationView, PermissionType$1.ValidationEValidationCreate, PermissionType$1.ValidationEValidationUpdate, PermissionType$1.ValidationEValidationDelete,
100729
+ PermissionType$1.ValidationStickerView, PermissionType$1.ValidationStickerCreate, PermissionType$1.ValidationStickerUpdate, PermissionType$1.ValidationStickerDelete,
100730
+ PermissionType$1.ValidationCouponView, PermissionType$1.ValidationCouponCreate, PermissionType$1.ValidationCouponUpdate, PermissionType$1.ValidationCouponDelete,
100731
+ PermissionType$1.ValidationSelfValidationView, PermissionType$1.ValidationSelfValidationCreate, PermissionType$1.ValidationSelfValidationUpdate, PermissionType$1.ValidationSelfValidationDelete
100732
+ ],
100733
+ [PermissionType$1.ReportsMain]: [],
100734
+ [PermissionType$1.LotConfigurationMain]: [PermissionType$1.LotConfigurationRates, PermissionType$1.LotConfigurationScheduler, PermissionType$1.LotConfigurationValidationProfile, PermissionType$1.LotConfigurationAccessProfile, PermissionType$1.LotConfigurationDynamicPricing, PermissionType$1.LotConfigurationCashierManagement],
100735
+ [PermissionType$1.TenantSettingsMain]: [PermissionType$1.ManagementAdmin],
100736
+ [PermissionType$1.ECommerceBackofficeMain]: [PermissionType$1.ECommerceAdmin, PermissionType$1.ECommerceRegular]
100737
+ };
100738
+ const AppModuleToMainPermissionTypeMap = {
100739
+ [AppModule$1.Cc]: PermissionType$1.CcMain,
100740
+ [AppModule$1.Accounts]: PermissionType$1.AccountManagementMain,
100741
+ [AppModule$1.Monthlies]: PermissionType$1.MonthliesMain,
100742
+ [AppModule$1.Guests]: PermissionType$1.GuestMain,
100743
+ [AppModule$1.Validation]: PermissionType$1.ValidationMain,
100744
+ [AppModule$1.Reports]: PermissionType$1.ReportsMain,
100745
+ [AppModule$1.LotConfiguration]: PermissionType$1.LotConfigurationMain,
100746
+ [AppModule$1.Management]: PermissionType$1.TenantSettingsMain,
100747
+ [AppModule$1.ECommerceBackoffice]: PermissionType$1.ECommerceBackofficeMain,
100748
+ };
100749
+
100750
+ const extractNumber = (input) => {
100751
+ const parsedNumber = +input;
100752
+ return isNullOrEmpty(input) || isNaN(parsedNumber) ? null : parsedNumber;
100753
+ };
100754
+ const isSingularOrPlural = (numberOfMonth) => numberOfMonth <= 1;
100755
+
100756
+ function parkerEnumToText(tag) {
100757
+ return ParkerTagsText[ParkerTag[tag]];
100758
+ }
100759
+
100760
+ function getParkerTypesText(parkerType) {
100761
+ return ParkerTypesText[ParkerTicketType[parkerType]];
100762
+ }
100763
+ function mapTransientTags(parkerTags, isStolenTicket, isBackOutTicket, isOfflineTicket, translateService) {
100764
+ const tags = parkerTags.map(tag => parkerEnumToText(tag)).map(tag => translateService.instant(tag));
100765
+ if (isBackOutTicket) {
100766
+ tags.push(translateService.instant(Localization.backout_ticket));
100767
+ }
100768
+ if (isStolenTicket) {
100769
+ tags.push(translateService.instant(Localization.stolen_ticket));
100770
+ }
100771
+ if (isOfflineTicket) {
100772
+ tags.push(translateService.instant(Localization.offline));
100773
+ }
100774
+ return tags.join(', ');
100775
+ }
100776
+
100777
+ function getPasswordMinimalLength(userInfo) {
100778
+ let pml = DEFAULT_MINIMUM_LENGTH;
100779
+ let tenantSession = null;
100780
+ const sparkSession = JSON.parse(localStorage.getItem(SESSION))?.sparkSessions;
100781
+ const tenantName = sessionStorage.getItem(TENANT_KEY);
100782
+ if (sparkSession) {
100783
+ tenantSession = sparkSession[tenantName];
100784
+ // Update password in user setting
100785
+ if (tenantSession) {
100786
+ pml = tenantSession.appConfiguration?.pml;
100787
+ }
100788
+ // Update password in forgot password
100789
+ else {
100790
+ pml = userInfo.pml;
100791
+ }
100792
+ }
100793
+ return pml;
100794
+ }
100795
+
100796
+ const MAX_RESULTS = 100;
100797
+ function GenerateSearchParamsDto({ maxResults = MAX_RESULTS, searchTerm = '', column = 'Id', orderDirection = OrderDirection.Desc }) {
100798
+ return new SearchParamsDto({
100799
+ maxResults,
100800
+ searchTerm,
100801
+ orderBy: new OrderByDto({
100802
+ column,
100803
+ orderDirection
100804
+ })
100805
+ });
100806
+ }
100807
+
100808
+ function compareValues(valueA, valueB, isAsc) {
100809
+ // Convert display nulls to actual nulls
100810
+ valueA = valueA === '-' ? null : valueA;
100811
+ valueB = valueB === '-' ? null : valueB;
100812
+ // Handle null/undefined values first
100813
+ if (valueA == null && valueB == null)
100814
+ return 0;
100815
+ if (valueA == null)
100816
+ return isAsc ? 1 : -1; // null values go to end
100817
+ if (valueB == null)
100818
+ return isAsc ? -1 : 1;
100819
+ const keyType = typeof valueA;
100820
+ const multiplier = isAsc ? 1 : -1;
100821
+ switch (keyType) {
100822
+ case 'string':
100823
+ return valueA.localeCompare(valueB, ENGLISH_LANGUAGE, { numeric: true }) * multiplier;
100824
+ case 'number':
100825
+ default:
100826
+ return (valueA - valueB) * multiplier;
100827
+ }
100828
+ }
100829
+
100830
+ function getTooltipTextByParkerType(tooltipOption, isSearchValidation = false) {
100831
+ const ticketsSpecifications = tooltipOption.tenantService.ticketsSpecifications;
100832
+ const parkerTicketTypeText = lowerCaseFirstLetter(ParkerTicketType[tooltipOption.searchType]);
100833
+ let message = Localization.entity_no_result_hint;
100834
+ const interpolateParams = {
100835
+ entity: parkerTicketTypeText,
100836
+ valueFrom: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo,
100837
+ valueTo: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead,
100838
+ durationFirst: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo) ?
100839
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
100840
+ tooltipOption.translateService.instant(Localization.time_ago_months),
100841
+ durationSecond: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead) ?
100842
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
100843
+ tooltipOption.translateService.instant(Localization.time_ago_months),
100844
+ };
100845
+ switch (tooltipOption.searchType) {
100846
+ case ParkerTicketType.Transient:
100847
+ if (isSearchValidation) {
100848
+ interpolateParams.valueOpenTransient = ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo;
100849
+ interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo) ?
100850
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
100851
+ tooltipOption.translateService.instant(Localization.time_ago_months);
100852
+ break;
100853
+ }
100854
+ message = Localization.transients_no_result_hint;
100855
+ interpolateParams.valueOpenTransient = ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo;
100856
+ interpolateParams.valueClosedTransient = ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo;
100857
+ interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo) ?
100858
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
100859
+ tooltipOption.translateService.instant(Localization.time_ago_months);
100860
+ interpolateParams.durationSecond = isSingularOrPlural(ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo) ?
100861
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
100862
+ tooltipOption.translateService.instant(Localization.time_ago_months);
100863
+ break;
100864
+ case ParkerTicketType.EVoucher:
100865
+ break;
100866
+ case ParkerTicketType.Guest:
100867
+ interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
100868
+ break;
100869
+ case ParkerTicketType.CardOnFile:
100870
+ interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
100871
+ break;
100872
+ default:
100873
+ return null;
100874
+ }
100875
+ message = tooltipOption.translateMessage ? tooltipOption.translateMessage : message; // can be overriden in special cases
100876
+ return tooltipOption.translateService.instant(message, interpolateParams);
100877
+ }
100878
+
100879
+ var RangeModes;
100880
+ (function (RangeModes) {
100881
+ RangeModes[RangeModes["byDate"] = 1] = "byDate";
100882
+ RangeModes[RangeModes["byZ"] = 2] = "byZ";
100883
+ })(RangeModes || (RangeModes = {}));
100884
+ var RangeModesText;
100885
+ (function (RangeModesText) {
100886
+ RangeModesText["byDate"] = "by_date";
100887
+ RangeModesText["byZ"] = "by_z";
100888
+ })(RangeModesText || (RangeModesText = {}));
100889
+
100890
+ // NGXS
100891
+
100210
100892
  var CommandNotificationType;
100211
100893
  (function (CommandNotificationType) {
100212
100894
  CommandNotificationType[CommandNotificationType["Error"] = 1] = "Error";
@@ -100738,56 +101420,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
100738
101420
  type: Injectable
100739
101421
  }], ctorParameters: () => [{ type: i1$2.Store }] });
100740
101422
 
100741
- const parentParkEventTypes = [
100742
- RtEventType.Zone
100743
- ];
100744
- const parkEventTypes = [
100745
- RtEventType.DeviceEvent,
100746
- RtEventType.DeviceStatus,
100747
- RtEventType.LPRTransaction,
100748
- RtEventType.Occupancy,
100749
- RtEventType.ParkState,
100750
- RtEventType.Revenue,
100751
- RtEventType.Zone,
100752
- ];
100753
- const parentParkBaseEventTypes = [
100754
- RtEventType.DynamicPricingCondition,
100755
- ];
100756
- const parkBaseEventTypes = [
100757
- RtEventType.Alert,
100758
- RtEventType.LostTicket,
100759
- RtEventType.LPRmismatch,
100760
- RtEventType.Facility,
100761
- RtEventType.ServicesStatus,
100762
- RtEventType.DynamicPricingCondition,
100763
- ];
100764
- const rtEventPermissions = {
100765
- [RtEventType.DeviceStatus]: [PermissionType$1.CcMain],
100766
- [RtEventType.Occupancy]: [PermissionType$1.CcMain],
100767
- [RtEventType.Revenue]: [PermissionType$1.CcMain],
100768
- [RtEventType.Alert]: [PermissionType$1.CcMain],
100769
- [RtEventType.ParkState]: [PermissionType$1.CcMain],
100770
- [RtEventType.LPRTransaction]: [PermissionType$1.CcMain],
100771
- [RtEventType.DeviceEvent]: [PermissionType$1.CcMain],
100772
- [RtEventType.ServicesStatus]: [PermissionType$1.CcMain],
100773
- [RtEventType.LPRmismatch]: [PermissionType$1.CcMain],
100774
- [RtEventType.LostTicket]: [PermissionType$1.CcMain],
100775
- [RtEventType.Zone]: [PermissionType$1.CcMain],
100776
- [RtEventType.Facility]: [PermissionType$1.CcMain],
100777
- [RtEventType.Company]: [PermissionType$1.CcMain],
100778
- [RtEventType.SubCompany]: [PermissionType$1.CcMain],
100779
- [RtEventType.FacilityDeleted]: [PermissionType$1.CcMain],
100780
- [RtEventType.OpenTicketTransaction]: [PermissionType$1.CcMain],
100781
- [RtEventType.CloseTicketTransaction]: [PermissionType$1.CcMain],
100782
- [RtEventType.MonthlyTransaction]: [PermissionType$1.CcMain],
100783
- [RtEventType.GuestTransaction]: [PermissionType$1.CcMain],
100784
- [RtEventType.PaymentTransaction]: [PermissionType$1.CcMain],
100785
- [RtEventType.EvoucherTransaction]: [PermissionType$1.CcMain],
100786
- [RtEventType.ValidationProfile]: [PermissionType$1.CcMain],
100787
- [RtEventType.DataOnCloud]: [PermissionType$1.CcMain],
100788
- [RtEventType.DynamicPricingCondition]: [PermissionType$1.SetActiveRate],
100789
- };
100790
-
100791
101423
  class RealtimeEventService {
100792
101424
  constructor(store, sessionStorageService) {
100793
101425
  this.store = store;
@@ -102749,38 +103381,38 @@ let FacilityState = class FacilityState {
102749
103381
  });
102750
103382
  }
102751
103383
  handleSmartCounter(zone) {
102752
- //"[{"VehicleClassId":1,"Counter":31,"ZoneId":10},{"VehicleClassId":2,"Counter":25,"ZoneId":10}]"
102753
- //"[{\"VehicleTypeId\":1,\"Counter\":10,\"ZoneId\":10},{\"VehicleTypeId\":2,\"Counter\":10,\"ZoneId\":10}]"
102754
103384
  try {
102755
- if (zone?.smartCounterVehicleClassJson) {
102756
- const smartCounterVehicleClass = JSON.parse(zone.smartCounterVehicleClassJson);
102757
- if (!Array.isArray(smartCounterVehicleClass)) {
102758
- throw new Error("Parsed JSON smartCounterVehicleClass is not an array");
102759
- }
102760
- zone.smartZoneCounterVehicleClass = smartCounterVehicleClass.map(sc => {
102761
- return SmartZoneCounterVehicleClassDto$1.fromJS({
102762
- counter: sc.Counter,
102763
- zoneId: zone.id,
102764
- vehicleClassId: sc.VehicleClassId,
102765
- });
102766
- });
102767
- }
102768
103385
  if (zone?.smartCounterVehicleTypeJson) {
102769
- const smartCounterVehicleType = JSON.parse(zone.smartCounterVehicleTypeJson);
103386
+ const parsedJson = JSON.parse(zone.smartCounterVehicleTypeJson);
103387
+ const smartCounterVehicleType = objectKeystoLowerCase(parsedJson);
102770
103388
  if (!Array.isArray(smartCounterVehicleType)) {
102771
- throw new Error("Parsed JSON smartCounterVehicleType is not an array");
102772
- }
102773
- zone.smartZoneCounterVehicleType = smartCounterVehicleType.map(sc => {
102774
- return SmartZoneCounterVehicleTypeDto.fromJS({
102775
- counter: sc.Counter,
102776
- zoneId: zone.id,
102777
- vehicleTypeId: sc.VehicleTypeId,
102778
- });
103389
+ throw new Error('Parsed JSON smartCounterVehicleType is not an array');
103390
+ }
103391
+ zone.smartZoneCounterVehicleType = smartCounterVehicleType.map((sc) => {
103392
+ const smartZoneCounterVehicleTypeDto = new SmartZoneCounterVehicleTypeDto();
103393
+ smartZoneCounterVehicleTypeDto.counter = sc.counter;
103394
+ smartZoneCounterVehicleTypeDto.zoneId = zone.id;
103395
+ smartZoneCounterVehicleTypeDto.vehicleTypeId = sc.vehicletypeid;
103396
+ return smartZoneCounterVehicleTypeDto;
103397
+ });
103398
+ }
103399
+ if (zone?.smartCounterVehicleClassJson) {
103400
+ const parsedJson = JSON.parse(zone.smartCounterVehicleClassJson);
103401
+ const smartCounterVehicleClass = objectKeystoLowerCase(parsedJson);
103402
+ if (!Array.isArray(smartCounterVehicleClass)) {
103403
+ throw new Error('Parsed JSON smartCounterVehicleClass is not an array');
103404
+ }
103405
+ zone.smartZoneCounterVehicleClass = smartCounterVehicleClass.map((sc) => {
103406
+ const smartZoneCounterVehicleClassDto = new SmartZoneCounterVehicleClassDto$1();
103407
+ smartZoneCounterVehicleClassDto.counter = sc.counter;
103408
+ smartZoneCounterVehicleClassDto.zoneId = zone.id;
103409
+ smartZoneCounterVehicleClassDto.vehicleClassId = sc.vehicleclassid;
103410
+ return smartZoneCounterVehicleClassDto;
102779
103411
  });
102780
103412
  }
102781
103413
  }
102782
103414
  catch (error) {
102783
- console.error("Failed to parse smartCounterJson:", error);
103415
+ console.error('Failed to parse smartCounterJson:', error);
102784
103416
  zone.smartZoneCounterVehicleClass = [];
102785
103417
  zone.smartZoneCounterVehicleType = [];
102786
103418
  }
@@ -103382,166 +104014,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
103382
104014
  type: Injectable
103383
104015
  }], ctorParameters: () => [{ type: i1$2.Store }, { type: BaseFacilityCommandsService }, { type: LocalStorageService }, { type: FacilityMenuService }, { type: FacilityServiceProxy }, { type: RemoteCommandServiceProxy }, { type: GroupServiceProxy }, { type: CategoryServiceProxy }, { type: JobTitleServiceProxy }, { type: ZoneServiceProxy }, { type: ZServiceProxy }, { type: GlobalErrorService }, { type: CommandNotificationService }, { type: i1$5.TranslateService }, { type: AppConfigService }], propDecorators: { onClearFacilityDictionary: [], onSetSmartparkBasicAllAction: [], onSetSmartparkBasicAction: [], onLoadParkingLotAction: [], onLoadRemoteCommandsRefAction: [], onLoadFacilityRemoteCommandsRefAction: [], onLoadFacilityAction: [], onUnloadParkingLotAction: [], onSetDeviceRemoteCommandsMapAction: [], onSetFacilityRemoteCommandsMapAction: [], onZoneChangedAction: [], onServicesRunningStatusChangedAction: [], onFacilityChangedAction: [], onSetBasicMenuAction: [], onLoadGroupsAction: [], onLoadCategoriesAction: [], onLoadJobTitlesAction: [], onLoadZonesAction: [], onLoadZsAction: [], onClearGroupsAction: [], onClearCategoriesAction: [], onClearJobTitlesAction: [], onClearZonesAction: [], onClearZsAction: [], onSetSelectedParkAction: [], onClearSelectedFacilityAction: [], onClearInactiveSelectedParkAction: [], onFacilityRemoteCommandExecutedAction: [], onLoadMacroCommandsAction: [], onClearMacroCommandsAction: [] } });
103384
104016
 
103385
- // DOTO: Get the correct list from Product of DeviceTypes that support Restore Ticket
103386
- const SUPPORETD_RESTORE_TICKET_TYPES = [DeviceType.CashMp, DeviceType.CashReader, DeviceType.Dispenser, DeviceType.EntryPil,
103387
- DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Reader, DeviceType.ValetStation,
103388
- DeviceType.Validator, DeviceType.Verifier];
103389
- const SUPPORTED_PAYMENT_FOR_ISF_TYPES = [DeviceType.Verifier, DeviceType.ExitPil, DeviceType.Credit];
103390
- const SUPPORTED_GATE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
103391
- DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
103392
- const SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
103393
- DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
103394
- const SUPPORTED_TICKET_INSIDE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
103395
- DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Credit, DeviceType.Pof];
103396
- const SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES = [DeviceType.CashReader, DeviceType.CashMp, DeviceType.Reader,
103397
- DeviceType.Dispenser, DeviceType.Verifier, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera,
103398
- DeviceType.ParkBlueGate, DeviceType.Unknown, DeviceType.Master];
103399
- const SUPPORTED_STATUS_DEVICE_TYPES = [DeviceType.Cash, DeviceType.CashMp, DeviceType.CashReader, DeviceType.Credit,
103400
- DeviceType.Reader, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Pof, DeviceType.Unknown, DeviceType.ExitPil,
103401
- DeviceType.EntryPil, DeviceType.ValetStation, DeviceType.Validator, DeviceType.Dispenser, DeviceType.Verifier
103402
- ];
103403
- const deviceIndicationStatusLocalization = new Map([
103404
- [DeviceIndicationStatus.carOnLoop, Localization.car_on_loop],
103405
- [DeviceIndicationStatus.gateBroken, Localization.gate_broken],
103406
- [DeviceIndicationStatus.gateUp, Localization.gate_up],
103407
- [DeviceIndicationStatus.ticketInside, Localization.ticket_inside],
103408
- ]);
103409
- const remoteCommandLocalizationMap = new Map([
103410
- [RemoteCommandTypes$1.PrintTicket, Localization.print_ticket],
103411
- [RemoteCommandTypes$1.SetPrice, Localization.set_price],
103412
- [RemoteCommandTypes$1.InsertVirtualTicket, Localization.send_ticket]
103413
- ]);
103414
- const entryDevicesLaneTypes = [DeviceLaneTypes.mainEntry, DeviceLaneTypes.subEntry, DeviceLaneTypes.exSubEntry]; // entry devices
103415
- const exitDevicesLaneTypes = [DeviceLaneTypes.mainExit, DeviceLaneTypes.subExit, DeviceLaneTypes.exSubExit]; // exit devices
103416
-
103417
- function getDefaultDeviceStatus(device) {
103418
- return new DeviceStatusDto({
103419
- aggregatedStatus: AggregatedStatus.ERROR,
103420
- barriers: [],
103421
- buttons: [],
103422
- deviceID: device?.id,
103423
- communicationPercentage: 0,
103424
- creditMode: null,
103425
- isCashSupported: false,
103426
- isCreditServerConnected: false,
103427
- isConnected: false,
103428
- loops: [],
103429
- mode: null,
103430
- name: device?.name,
103431
- printers: [],
103432
- saf: null,
103433
- secondaryComStatus: null,
103434
- type: device?.type,
103435
- version: null,
103436
- zone: device?.zoneID,
103437
- barrier: null,
103438
- billDispenser: null,
103439
- billRecycler: null,
103440
- billValidator: null,
103441
- bytesPerSecond: null,
103442
- centralSafe: null,
103443
- coinInLane: null,
103444
- devicePerSecond: null,
103445
- doorControllerConnected: null,
103446
- doorSensors: null,
103447
- doorStatus: null,
103448
- fullGateController: null,
103449
- hoppers: null,
103450
- isInternet: null,
103451
- printer: null,
103452
- commID: device?.commID,
103453
- relays: null,
103454
- swallowUnit: null,
103455
- swallowUnits: null,
103456
- switch: null,
103457
- laneRecognition: null,
103458
- });
103459
- }
103460
- function filterDevicesByTypes(array, filterByList) {
103461
- if (!array || !array.length) {
103462
- return [];
103463
- }
103464
- if (!filterByList || !filterByList.length) {
103465
- return array;
103466
- }
103467
- let filteredList = [];
103468
- for (const filterBy of filterByList) {
103469
- filteredList = filteredList.concat(array.filter(item => isDeviceInFilterDeviceTypes(item, filterBy)));
103470
- }
103471
- return [...new Set(filteredList)];
103472
- }
103473
- function isDeviceInFiltersDeviceTypes(device, filterBys) {
103474
- for (const filterBy of filterBys) {
103475
- if (isDeviceInFilterDeviceTypes(device, filterBy)) {
103476
- return true;
103477
- }
103478
- }
103479
- return false;
103480
- }
103481
- function isDeviceInFilterDeviceTypes(device, filterBy) {
103482
- switch (filterBy) {
103483
- // entry
103484
- case FilterByDeviceType.device_filter_by_dispenser:
103485
- return device.type === DeviceType.Dispenser;
103486
- case FilterByDeviceType.device_filter_by_entry_pil:
103487
- return device.type === DeviceType.EntryPil;
103488
- case FilterByDeviceType.device_filter_by_entry_au_slim:
103489
- return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainEntry) ||
103490
- (device.laneType === DeviceLaneTypes.subEntry) ||
103491
- (device.laneType === DeviceLaneTypes.exSubEntry));
103492
- // exit
103493
- case FilterByDeviceType.device_filter_by_verifier:
103494
- return device.type === DeviceType.Verifier;
103495
- case FilterByDeviceType.device_filter_by_exit_pil:
103496
- return device.type === DeviceType.ExitPil;
103497
- case FilterByDeviceType.device_filter_by_exit_au_slim:
103498
- return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainExit) ||
103499
- (device.laneType === DeviceLaneTypes.subExit) ||
103500
- (device.laneType === DeviceLaneTypes.exSubExit));
103501
- // payment
103502
- case FilterByDeviceType.device_filter_by_pay_in_lane:
103503
- return device.type === DeviceType.EntryPil || device.type === DeviceType.ExitPil;
103504
- case FilterByDeviceType.device_filter_by_lobby_station:
103505
- return device.type === DeviceType.Credit || device.type === DeviceType.Pof;
103506
- // other
103507
- case FilterByDeviceType.device_filter_by_main_controller:
103508
- return device.type === DeviceType.Cash && device.commID === 0;
103509
- case FilterByDeviceType.device_filter_by_cashier_station:
103510
- return device.type === DeviceType.Cash && device.commID > 0;
103511
- case FilterByDeviceType.device_filter_by_valet_station:
103512
- return device.type === DeviceType.ValetStation;
103513
- case FilterByDeviceType.device_filter_by_validator:
103514
- return device.type === DeviceType.Validator;
103515
- case FilterByDeviceType.device_filter_by_lpr_camera:
103516
- return device.type === DeviceType.LprCamera;
103517
- default:
103518
- return true;
103519
- }
103520
- }
103521
- function matchesDevicesParkingLotCriteria(entities, searchValue = '') {
103522
- const search = searchValue.toLowerCase();
103523
- return entities.filter(entity => {
103524
- if (entity.isChild) {
103525
- return matchesDeviceParkingLotCriteria(entity, search);
103526
- }
103527
- else {
103528
- return entity['children'].filter(e => matchesDeviceParkingLotCriteria(e, search)).length > 0;
103529
- }
103530
- });
103531
- }
103532
- function matchesDeviceParkingLotCriteria(entity, searchValue) {
103533
- return entity.device?.name.toLowerCase().includes(searchValue) ||
103534
- entity.device?.commID.toString().includes(searchValue) ||
103535
- entity.zone?.name.toLowerCase().includes(searchValue) ||
103536
- entity.parkName?.toLowerCase().includes(searchValue);
103537
- }
103538
- function matchesDeviceCriteria(entity, searchValue) {
103539
- return entity.name.toLowerCase().includes(searchValue) ||
103540
- entity.commID.toString().includes(searchValue) ||
103541
- entity.zone?.name.toLowerCase().includes(searchValue) ||
103542
- entity.parkName?.toLowerCase().includes(searchValue);
103543
- }
103544
-
103545
104017
  var ParkManagerState_1;
103546
104018
  const EXPANDED_RESULT_LIMIT = 1000;
103547
104019
  let ParkManagerState = class ParkManagerState {
@@ -104124,10 +104596,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
104124
104596
  type: Injectable
104125
104597
  }], ctorParameters: () => [{ type: DeviceServiceProxy }, { type: FacilityServiceProxy }, { type: i1$2.Store }], propDecorators: { onSetDeviceViewModeAction: [], onLoadDeviceEventsCollapse: [], onSetDeviceEventsExpanded: [], onLoadEventActivitiesCollapse: [], onSetEventActivitiesExpanded: [], onLoadLprTransactionsCollapse: [], onSetLprTransactionsExpanded: [], onClearDeviceEventsExpanded: [], onClearEventActivitiesExpanded: [], onClearLprTransactionsExpanded: [], onLoadDevicesAction: [], onLoadDevicesByTypeAction: [], onClearDevicesAction: [], onSelectDeviceAction: [], onLoadSelectedDeviceAction: [], onLoadDeviceStatusAction: [], onSetDeviceStatusAction: [], onLoadDeviceEventActivitiesAction: [], onLoadDeviceLprTransactionsAction: [], onLoadDeviceEventsAction: [], onLoadDeviceAction: [], onClearDeviceAction: [], onDeviceStatusChangedAction: [], onDeviceEventChangedAction: [], onDeviceActivityChangedAction: [], onLprTransactionsChangedAction: [], onSelectedRowAction: [], onClearSelectedRow: [] } });
104126
104598
 
104127
- function isDeviceActive(device) {
104128
- return device && device.hasOwnProperty('active') && device.active !== undefined ? device.active : true;
104129
- }
104130
-
104131
104599
  class RevenueService {
104132
104600
  constructor(store, facilityServiceProxy) {
104133
104601
  this.store = store;
@@ -106346,461 +106814,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106346
106814
 
106347
106815
  // Module
106348
106816
 
106349
- const SUPPORTED_DEVICES_SCHEDULER = [
106350
- DeviceType$1.CashReader,
106351
- DeviceType$1.Dispenser,
106352
- DeviceType$1.Verifier,
106353
- DeviceType$1.EntryPil,
106354
- DeviceType$1.ExitPil,
106355
- DeviceType$1.Credit,
106356
- DeviceType$1.Pof,
106357
- DeviceType$1.ValetStation,
106358
- DeviceType$1.Reader
106359
- ];
106360
-
106361
- function downloadFile(res, method) {
106362
- switch (method) {
106363
- case FileGenerateMethod.viewPDF:
106364
- const viewBlob = new Blob([res.data], { type: 'application/pdf' });
106365
- const viewBlobURL = window.URL.createObjectURL(viewBlob);
106366
- // Checks if the browser popups are blocked
106367
- var popUp = window.open(viewBlobURL, '_blank');
106368
- if (popUp == null || typeof (popUp) == 'undefined') {
106369
- return {
106370
- success: false,
106371
- obj: viewBlobURL
106372
- };
106373
- }
106374
- else {
106375
- popUp.focus();
106376
- // Change the name of thte tab after the PDF loaded
106377
- popUp.addEventListener("load", function () {
106378
- setTimeout(() => {
106379
- popUp.document.title = res.fileName;
106380
- }, 150);
106381
- });
106382
- }
106383
- break;
106384
- case FileGenerateMethod.downloadPDF:
106385
- case FileGenerateMethod.downloadExcel:
106386
- case FileGenerateMethod.downloadZip:
106387
- case FileGenerateMethod.downloadCsv:
106388
- default:
106389
- saveAs(res.data, res.fileName);
106390
- break;
106391
- }
106392
- return {
106393
- success: true,
106394
- obj: null
106395
- };
106396
- }
106397
- var FileGenerateMethod;
106398
- (function (FileGenerateMethod) {
106399
- FileGenerateMethod[FileGenerateMethod["viewPDF"] = 1] = "viewPDF";
106400
- FileGenerateMethod[FileGenerateMethod["downloadPDF"] = 2] = "downloadPDF";
106401
- FileGenerateMethod[FileGenerateMethod["downloadExcel"] = 3] = "downloadExcel";
106402
- FileGenerateMethod[FileGenerateMethod["downloadZip"] = 4] = "downloadZip";
106403
- FileGenerateMethod[FileGenerateMethod["downloadCsv"] = 5] = "downloadCsv";
106404
- })(FileGenerateMethod || (FileGenerateMethod = {}));
106405
- function blobToBase64(blob) {
106406
- return new Promise((resolve, _) => {
106407
- const reader = new FileReader();
106408
- reader.onloadend = () => resolve(reader.result);
106409
- reader.readAsDataURL(blob);
106410
- });
106411
- }
106412
-
106413
- var AnalyticsEventsText;
106414
- (function (AnalyticsEventsText) {
106415
- AnalyticsEventsText["ReportType"] = "Event choose report type";
106416
- AnalyticsEventsText["SelectReport"] = "Event select report";
106417
- AnalyticsEventsText["Coupons"] = "Coupons";
106418
- AnalyticsEventsText["SendCouponsToEmail"] = "Send Coupons to Email";
106419
- AnalyticsEventsText["MarkAsUsed"] = "Mark as used";
106420
- AnalyticsEventsText["GeneralError"] = "General Error";
106421
- AnalyticsEventsText["PrintCoupon"] = "Print Coupon";
106422
- AnalyticsEventsText["DeleteCoupon"] = "Delete Coupon";
106423
- AnalyticsEventsText["UpdateCoupon"] = "Update Coupon";
106424
- AnalyticsEventsText["CreateCoupon"] = "Create Coupon";
106425
- AnalyticsEventsText["CreateCouponClick"] = "Create Coupon click";
106426
- AnalyticsEventsText["SendCouponsToEmailClick"] = "Send Coupons to Email click";
106427
- AnalyticsEventsText["CouponsFilterByAccount"] = "Coupons filter by account";
106428
- AnalyticsEventsText["CouponsFilterBySubAccount"] = "Coupons filter by sub account";
106429
- AnalyticsEventsText["couponBatchDateValidityChange"] = "Coupon filter by date validity";
106430
- AnalyticsEventsText["importingMonthlies"] = "Importing monthlies";
106431
- AnalyticsEventsText["CreateRestrictCar"] = "Create Restrict car";
106432
- AnalyticsEventsText["UpdateRestrictCar"] = "Update Restrict car";
106433
- AnalyticsEventsText["DeleteChargeTable"] = "Delete Charge Table";
106434
- AnalyticsEventsText["DeleteChargeCondition"] = "Delete Charge Condition";
106435
- AnalyticsEventsText["SearchChargeTable"] = "Search charge table";
106436
- AnalyticsEventsText["SelectByRelatedToRate"] = "Select by related to rate";
106437
- AnalyticsEventsText["ViewRateStructure"] = "View Rate Structure";
106438
- AnalyticsEventsText["AddRateClicked"] = "Add rate clicked";
106439
- AnalyticsEventsText["CancelAddRate"] = "Cancel add rate";
106440
- AnalyticsEventsText["MoveToLotRateStructure"] = "Move to lot (rate structure)";
106441
- AnalyticsEventsText["ViewRateConditions"] = "View rate conditions";
106442
- AnalyticsEventsText["SearchRateCondition"] = "Search rate conditions";
106443
- AnalyticsEventsText["SelectConditionByRelatedToRate"] = "Select condition by related to rate";
106444
- AnalyticsEventsText["ChargeTableNavigation"] = "Charge table navigation";
106445
- AnalyticsEventsText["DeleteRateCondition"] = "Delete rate condition";
106446
- AnalyticsEventsText["ReorderRateCondition"] = "Reorder rate condition";
106447
- AnalyticsEventsText["ChargeConditionReorder"] = "Charge condition reorder";
106448
- AnalyticsEventsText["SegmentationReorder"] = "Segmentation reorder";
106449
- AnalyticsEventsText["ChargeConditionAdded"] = "Charge condition added";
106450
- AnalyticsEventsText["EditRateClicked"] = "Edit rate clicked";
106451
- AnalyticsEventsText["DuplicateRateClicked"] = "Duplicate rate clicked";
106452
- AnalyticsEventsText["DeleteRateClicked"] = "Delete rate clicked";
106453
- AnalyticsEventsText["RateDeleted"] = "Rate deleted";
106454
- AnalyticsEventsText["RateNumberProtection"] = "Rate number protection";
106455
- AnalyticsEventsText["CreateTestPlane"] = "Create test plane";
106456
- AnalyticsEventsText["RerunTestRate"] = "Rerun test rate";
106457
- AnalyticsEventsText["DeleteChargeSegmentation"] = "Delete charge segmentation";
106458
- AnalyticsEventsText["EditChargeCondition"] = "Edit charge condition";
106459
- AnalyticsEventsText["AddConditionRate"] = "Add condition rate";
106460
- AnalyticsEventsText["RateSettingsUpdated"] = "Rate settings updated";
106461
- AnalyticsEventsText["DuplicateRateConditions"] = "Duplicate rate conditions";
106462
- AnalyticsEventsText["EditConditionRate"] = "Edit condition rate";
106463
- AnalyticsEventsText["HttpError"] = "Http Error";
106464
- AnalyticsEventsText["EventCreateColor"] = "Event create color";
106465
- AnalyticsEventsText["EventCreateModel"] = "Event create model";
106466
- })(AnalyticsEventsText || (AnalyticsEventsText = {}));
106467
- const ReportMethodDictionary = {
106468
- [FileGenerateMethod.viewPDF]: `View report PDF`,
106469
- [FileGenerateMethod.downloadExcel]: `Download report Excel`,
106470
- [FileGenerateMethod.downloadPDF]: `Download report PDF`,
106471
- };
106472
-
106473
- // Constants
106474
-
106475
- function decryptClientSecret(encryptedSecret, encryptionKey) {
106476
- let decryptedSecret = null;
106477
- if (encryptedSecret?.length > 0) {
106478
- var key_iv = encryptedSecret.split("#");
106479
- let key;
106480
- let iv;
106481
- if (key_iv.length == 2) {
106482
- key = CryptoJS.enc.Utf8.parse(key_iv[0]);
106483
- iv = CryptoJS.enc.Utf8.parse(key_iv[0]);
106484
- }
106485
- else {
106486
- key = CryptoJS.enc.Utf8.parse(encryptionKey);
106487
- iv = CryptoJS.enc.Hex.parse(AES_DEFAULT_IV);
106488
- }
106489
- // Perform decryption
106490
- const decrypted = CryptoJS.AES.decrypt(encryptedSecret, key, {
106491
- iv: iv,
106492
- mode: CryptoJS.mode.CBC,
106493
- padding: CryptoJS.pad.Pkcs7
106494
- });
106495
- // Return the decrypted data as a UTF-8 string
106496
- decryptedSecret = decrypted.toString(CryptoJS.enc.Utf8);
106497
- }
106498
- return decryptedSecret;
106499
- }
106500
-
106501
- function arraysAreDifferent(prev, curr) {
106502
- return !_.isEqual(prev, curr);
106503
- }
106504
-
106505
- function isBoolean(value) {
106506
- switch (value) {
106507
- case true:
106508
- case 'true':
106509
- case 1:
106510
- case '1':
106511
- return true;
106512
- default:
106513
- return false;
106514
- }
106515
- }
106516
-
106517
- function setErrorMessage(formName, controlName, event) {
106518
- if (event) {
106519
- formName.get(controlName).setErrors(event);
106520
- formName.get(controlName).markAsTouched();
106521
- }
106522
- }
106523
-
106524
- function hasRequiredField(abstractControl) {
106525
- return abstractControl?.hasValidator(Validators.required);
106526
- }
106527
-
106528
- function safeParse(jsonString) {
106529
- try {
106530
- const value = JSON.parse(jsonString);
106531
- return { success: true, value };
106532
- }
106533
- catch (error) {
106534
- return { success: false, error: error.message };
106535
- }
106536
- }
106537
-
106538
- function getCurrentLang(userSettings) {
106539
- const value = userSettings?.get(SettingsCategory$2.Localization);
106540
- return value?.keyName ?? LOCAL_ENGLISH_LANGUAGE;
106541
- }
106542
-
106543
- const Migrations = [
106544
- {
106545
- version: '7.3.5',
106546
- name: 'setApplicationField',
106547
- up: () => {
106548
- const session = JSON.parse(localStorage.getItem(SESSION));
106549
- if (!session.application) {
106550
- session.application = { version: session.version, releaseDate: session.releaseDate, features: session.features };
106551
- delete session.version;
106552
- delete session.releaseDate;
106553
- delete session.features;
106554
- localStorage.setItem(SESSION, JSON.stringify(session));
106555
- }
106556
- },
106557
- },
106558
- {
106559
- version: '7.3.5',
106560
- name: 'sessionByTenantName',
106561
- up: () => {
106562
- const session = JSON.parse(localStorage.getItem(SESSION));
106563
- if (!session.sparkSessions) {
106564
- session.sparkSessions = { [session.tenant.tenantName.toLowerCase()]: { tenant: session.tenant, user: session.user } };
106565
- delete session.tenant;
106566
- delete session.user;
106567
- localStorage.setItem(SESSION, JSON.stringify(session));
106568
- }
106569
- },
106570
- },
106571
- ];
106572
- function LocalStorageMigrator() {
106573
- const session = JSON.parse(localStorage.getItem(SESSION));
106574
- const version = session.application?.version || session?.version;
106575
- if (version) {
106576
- console.debug('Running local storage migration');
106577
- Migrations.filter(mig => version < mig.version).forEach(m => m.up());
106578
- }
106579
- }
106580
-
106581
- const whiteListUrls = [
106582
- 'openid-callback'
106583
- ];
106584
- class LowerCaseUrlSerializer extends DefaultUrlSerializer {
106585
- parse(url) {
106586
- if (whiteListUrls.some(substring => url.includes(substring))) {
106587
- return super.parse(url);
106588
- }
106589
- const url_query = url.split('?');
106590
- if (url_query.length > 1) {
106591
- url = url.replace(url_query[0], url_query[0].toLowerCase());
106592
- return super.parse(url);
106593
- }
106594
- else {
106595
- return super.parse(url.toLowerCase());
106596
- }
106597
- }
106598
- }
106599
-
106600
- const META_KEY = 'METADATA';
106601
- function getObjectMetadata(target) {
106602
- return target[META_KEY];
106603
- }
106604
- function ensureObjectMetadata(target) {
106605
- if (!target.hasOwnProperty(META_KEY)) {
106606
- Object.defineProperty(target, META_KEY, { value: {} });
106607
- }
106608
- return getObjectMetadata(target);
106609
- }
106610
- const createDescriptor = (value) => ({
106611
- value,
106612
- enumerable: false,
106613
- configurable: true,
106614
- writable: true,
106615
- });
106616
- // tslint:disable-next-line:ban-types
106617
- function wrapConstructor(targetClass, constructorCallback) {
106618
- // create a new wrapped constructor
106619
- const wrappedConstructor = function () {
106620
- constructorCallback.apply(this, arguments);
106621
- return targetClass.apply(this, arguments);
106622
- };
106623
- Object.defineProperty(wrappedConstructor, 'name', { value: targetClass });
106624
- // copy prototype so intanceof operator still works
106625
- wrappedConstructor.prototype = targetClass.prototype;
106626
- // return new constructor (will override original)
106627
- return wrappedConstructor;
106628
- }
106629
-
106630
- const MainModuleToSubModulesPermissionTypeMap = {
106631
- [PermissionType$1.CcMain]: [],
106632
- [PermissionType$1.AccountManagementMain]: [PermissionType$1.AccountManagementAccountView, PermissionType$1.AccountManagementAccountCreate, PermissionType$1.AccountManagementAccountUpdate, PermissionType$1.AccountManagementAccountDelete],
106633
- [PermissionType$1.MonthliesMain]: [PermissionType$1.MonthliesView, PermissionType$1.MonthliesCreate, PermissionType$1.MonthliesUpdate, PermissionType$1.MonthliesDelete, PermissionType$1.MonthlySeriesCreate],
106634
- [PermissionType$1.GuestMain]: [
106635
- PermissionType$1.GuestView, PermissionType$1.GuestCreate, PermissionType$1.GuestUpdate, PermissionType$1.GuestDelete, PermissionType$1.GuestGroupView,
106636
- PermissionType$1.GuestGroupCreate, PermissionType$1.GuestHotelGuestView, PermissionType$1.HotelGuestIOCreate, PermissionType$1.GuestEVoucherView,
106637
- PermissionType$1.IOHistoryView
106638
- ],
106639
- [PermissionType$1.ValidationMain]: [
106640
- PermissionType$1.ValidationEValidationView, PermissionType$1.ValidationEValidationCreate, PermissionType$1.ValidationEValidationUpdate, PermissionType$1.ValidationEValidationDelete,
106641
- PermissionType$1.ValidationStickerView, PermissionType$1.ValidationStickerCreate, PermissionType$1.ValidationStickerUpdate, PermissionType$1.ValidationStickerDelete,
106642
- PermissionType$1.ValidationCouponView, PermissionType$1.ValidationCouponCreate, PermissionType$1.ValidationCouponUpdate, PermissionType$1.ValidationCouponDelete,
106643
- PermissionType$1.ValidationSelfValidationView, PermissionType$1.ValidationSelfValidationCreate, PermissionType$1.ValidationSelfValidationUpdate, PermissionType$1.ValidationSelfValidationDelete
106644
- ],
106645
- [PermissionType$1.ReportsMain]: [],
106646
- [PermissionType$1.LotConfigurationMain]: [PermissionType$1.LotConfigurationRates, PermissionType$1.LotConfigurationScheduler, PermissionType$1.LotConfigurationValidationProfile, PermissionType$1.LotConfigurationAccessProfile, PermissionType$1.LotConfigurationDynamicPricing, PermissionType$1.LotConfigurationCashierManagement],
106647
- [PermissionType$1.TenantSettingsMain]: [PermissionType$1.ManagementAdmin],
106648
- [PermissionType$1.ECommerceBackofficeMain]: [PermissionType$1.ECommerceAdmin, PermissionType$1.ECommerceRegular]
106649
- };
106650
- const AppModuleToMainPermissionTypeMap = {
106651
- [AppModule$1.Cc]: PermissionType$1.CcMain,
106652
- [AppModule$1.Accounts]: PermissionType$1.AccountManagementMain,
106653
- [AppModule$1.Monthlies]: PermissionType$1.MonthliesMain,
106654
- [AppModule$1.Guests]: PermissionType$1.GuestMain,
106655
- [AppModule$1.Validation]: PermissionType$1.ValidationMain,
106656
- [AppModule$1.Reports]: PermissionType$1.ReportsMain,
106657
- [AppModule$1.LotConfiguration]: PermissionType$1.LotConfigurationMain,
106658
- [AppModule$1.Management]: PermissionType$1.TenantSettingsMain,
106659
- [AppModule$1.ECommerceBackoffice]: PermissionType$1.ECommerceBackofficeMain,
106660
- };
106661
-
106662
- const extractNumber = (input) => {
106663
- const parsedNumber = +input;
106664
- return isNullOrEmpty(input) || isNaN(parsedNumber) ? null : parsedNumber;
106665
- };
106666
- const isSingularOrPlural = (numberOfMonth) => numberOfMonth <= 1;
106667
-
106668
- function parkerEnumToText(tag) {
106669
- return ParkerTagsText[ParkerTag[tag]];
106670
- }
106671
-
106672
- function getParkerTypesText(parkerType) {
106673
- return ParkerTypesText[ParkerTicketType[parkerType]];
106674
- }
106675
- function mapTransientTags(parkerTags, isStolenTicket, isBackOutTicket, isOfflineTicket, translateService) {
106676
- const tags = parkerTags.map(tag => parkerEnumToText(tag)).map(tag => translateService.instant(tag));
106677
- if (isBackOutTicket) {
106678
- tags.push(translateService.instant(Localization.backout_ticket));
106679
- }
106680
- if (isStolenTicket) {
106681
- tags.push(translateService.instant(Localization.stolen_ticket));
106682
- }
106683
- if (isOfflineTicket) {
106684
- tags.push(translateService.instant(Localization.offline));
106685
- }
106686
- return tags.join(', ');
106687
- }
106688
-
106689
- function getPasswordMinimalLength(userInfo) {
106690
- let pml = DEFAULT_MINIMUM_LENGTH;
106691
- let tenantSession = null;
106692
- const sparkSession = JSON.parse(localStorage.getItem(SESSION))?.sparkSessions;
106693
- const tenantName = sessionStorage.getItem(TENANT_KEY);
106694
- if (sparkSession) {
106695
- tenantSession = sparkSession[tenantName];
106696
- // Update password in user setting
106697
- if (tenantSession) {
106698
- pml = tenantSession.appConfiguration?.pml;
106699
- }
106700
- // Update password in forgot password
106701
- else {
106702
- pml = userInfo.pml;
106703
- }
106704
- }
106705
- return pml;
106706
- }
106707
-
106708
- const MAX_RESULTS = 100;
106709
- function GenerateSearchParamsDto({ maxResults = MAX_RESULTS, searchTerm = '', column = 'Id', orderDirection = OrderDirection.Desc }) {
106710
- return new SearchParamsDto({
106711
- maxResults,
106712
- searchTerm,
106713
- orderBy: new OrderByDto({
106714
- column,
106715
- orderDirection
106716
- })
106717
- });
106718
- }
106719
-
106720
- function compareValues(valueA, valueB, isAsc) {
106721
- // Convert display nulls to actual nulls
106722
- valueA = valueA === '-' ? null : valueA;
106723
- valueB = valueB === '-' ? null : valueB;
106724
- // Handle null/undefined values first
106725
- if (valueA == null && valueB == null)
106726
- return 0;
106727
- if (valueA == null)
106728
- return isAsc ? 1 : -1; // null values go to end
106729
- if (valueB == null)
106730
- return isAsc ? -1 : 1;
106731
- const keyType = typeof valueA;
106732
- const multiplier = isAsc ? 1 : -1;
106733
- switch (keyType) {
106734
- case 'string':
106735
- return valueA.localeCompare(valueB, ENGLISH_LANGUAGE, { numeric: true }) * multiplier;
106736
- case 'number':
106737
- default:
106738
- return (valueA - valueB) * multiplier;
106739
- }
106740
- }
106741
-
106742
- function getTooltipTextByParkerType(tooltipOption, isSearchValidation = false) {
106743
- const ticketsSpecifications = tooltipOption.tenantService.ticketsSpecifications;
106744
- const parkerTicketTypeText = lowerCaseFirstLetter(ParkerTicketType[tooltipOption.searchType]);
106745
- let message = Localization.entity_no_result_hint;
106746
- const interpolateParams = {
106747
- entity: parkerTicketTypeText,
106748
- valueFrom: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo,
106749
- valueTo: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead,
106750
- durationFirst: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo) ?
106751
- tooltipOption.translateService.instant(Localization.time_ago_month) :
106752
- tooltipOption.translateService.instant(Localization.time_ago_months),
106753
- durationSecond: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead) ?
106754
- tooltipOption.translateService.instant(Localization.time_ago_month) :
106755
- tooltipOption.translateService.instant(Localization.time_ago_months),
106756
- };
106757
- switch (tooltipOption.searchType) {
106758
- case ParkerTicketType.Transient:
106759
- if (isSearchValidation) {
106760
- interpolateParams.valueOpenTransient = ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo;
106761
- interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo) ?
106762
- tooltipOption.translateService.instant(Localization.time_ago_month) :
106763
- tooltipOption.translateService.instant(Localization.time_ago_months);
106764
- break;
106765
- }
106766
- message = Localization.transients_no_result_hint;
106767
- interpolateParams.valueOpenTransient = ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo;
106768
- interpolateParams.valueClosedTransient = ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo;
106769
- interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo) ?
106770
- tooltipOption.translateService.instant(Localization.time_ago_month) :
106771
- tooltipOption.translateService.instant(Localization.time_ago_months);
106772
- interpolateParams.durationSecond = isSingularOrPlural(ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo) ?
106773
- tooltipOption.translateService.instant(Localization.time_ago_month) :
106774
- tooltipOption.translateService.instant(Localization.time_ago_months);
106775
- break;
106776
- case ParkerTicketType.EVoucher:
106777
- break;
106778
- case ParkerTicketType.Guest:
106779
- interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
106780
- break;
106781
- case ParkerTicketType.CardOnFile:
106782
- interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
106783
- break;
106784
- default:
106785
- return null;
106786
- }
106787
- message = tooltipOption.translateMessage ? tooltipOption.translateMessage : message; // can be overriden in special cases
106788
- return tooltipOption.translateService.instant(message, interpolateParams);
106789
- }
106790
-
106791
- var RangeModes;
106792
- (function (RangeModes) {
106793
- RangeModes[RangeModes["byDate"] = 1] = "byDate";
106794
- RangeModes[RangeModes["byZ"] = 2] = "byZ";
106795
- })(RangeModes || (RangeModes = {}));
106796
- var RangeModesText;
106797
- (function (RangeModesText) {
106798
- RangeModesText["byDate"] = "by_date";
106799
- RangeModesText["byZ"] = "by_z";
106800
- })(RangeModesText || (RangeModesText = {}));
106801
-
106802
- // NGXS
106803
-
106804
106817
  class FileSanitizerService {
106805
106818
  constructor() {
106806
106819
  // Characters that can initiate a formula in CSV
@@ -115572,5 +115585,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
115572
115585
  * Generated bundle index. Do not edit.
115573
115586
  */
115574
115587
 
115575
- export { ACCESS_PROFILE_DAT_TYPES_SP, ACTIVE_BYTE, ADVANCED_OPTIONS_VALUE, AES_DEFAULT_IV, ALERT_NOTIFICATION_CONTAINER, ALLOWED_FILES_FORMATS, ALLOWED_FILES_MAX_SIZE_MB, ALLOWED_FILES__SIZE_200_KB, ALLOWED_FILES__SIZE_2_MB, ALLOWED_NUMBER_OF_DAYS, ALLOWED_UPLOAD_FILES_QUANTITY, ALL_DAYS_IN_BINARY, ALL_DAYS_IN_BYTE, AccessProfileChangeValidTypesText, AccessProfileDayTypesText, AccessProfileRestrictionTypesText, AccessProfileShortDayTypesText, AccessProfileSpecialDaysMap, AccessProfileTypesText, AccountFrameMessageBarComponent, AccountLinkedEntitiesText, AccountLinkedEntityText, AccountSetPasswordAction, AccountSetPasswordErrorAction, AccountSetPasswordInitAction, ActionReasonsModule, ActionReasonsState, ActionStatusService, AddSmartparkAction, AddUserAction, AdministrativeNotificationEntityType, AdministrativeNotificationsModule, AdministrativeNotificationsState, AggregatedStatusText, AlertChangedAction, AlertNotificationBorderClass, AlertNotificationClassificationMap, AlertNotificationComponent, AlertNotificationService, AlertsAndNotificationsService, AlertsAndNotificationsState, AlertsDeviceTypeLabel, AlertsDeviceTypeOptions, AlertsDeviceTypeOptionsMapping, AmountStepSurchargeMinLimit, AnalyticsCommandsText, AnalyticsEventsText, AnalyticsService, AnalyticsSourceComponent, AnalyticsSourceProps, AppConfigService, AppModuleService, AppModuleToMainPermissionTypeMap, AppSectionLabel, AppSectionModuleMenu, AppSectionRoute, AppSettingsService, AppType, AuditActionTypeText, AuditLogoutAction, AuditLogoutMobileAction, AuthModule, AuthRouteGuard, AuthService, AuthTokenService, Authenticate2FAforUser, AuthenticateMultipleTenantsAction, AutofocusDirective, BOM_UNICODE, BackofficeAutheticateAction, BarcodeTypeLength, BarrireStateText, BaseComponent, BaseDeviceItemComponent, BaseDeviceService, BaseFacilityCommandsService, BaseNotificationService, BillDispenserStatusText, BillTypeText, BillValidatorStatusText, ButtonStatus, CANCEL_ALL_RELAY_VALUE, CLogItPipe, COLORS, CREDIT_CARD_POSTFIX_LENGTH, CalculatorModule, CalculatorState, CanDeactivateService, CarModule, CarState, CassetteStatusText, CentToCoinPipe, ChangeLanguageAction, ChangeMobileLanguageAction, ChangePasswordAction, ChangePasswordMobileAction, ChartLayout, CleanLogoAction, ClearActionReasonsAction, ClearAdministrativeNotificationsAction, ClearAlertsAndNotificationsAction, ClearBaseZonesAction, ClearCalculatorPriceAction, ClearCategoriesAction, ClearColorsAction, ClearDeviceAction, ClearDeviceEventsExpanded, ClearDevicesAction, ClearEventActivitiesExpanded, ClearFacilityDictionaryAction, ClearGroupsAction, ClearGuestAction, ClearGuestProfilesAction, ClearGuestsListAction, ClearHandledGuest, ClearInactiveSelectedParkAction, ClearJobTitlesAction, ClearLocateTicketSearchAction, ClearLocatedTicketAction, ClearLprTransactionsExpanded, ClearMacroCommandsAction, ClearModelsAction, ClearParkerAction, ClearRateAction, ClearSearchResultsAction, ClearSearchTermAction, ClearSearchTicketAction, ClearSelectedFacilityAction, ClearSelectedParkAction, ClearSelectedRow, ClearSelectedSmartparkAction, ClearSmartparksBasicAction, ClearSpAndSparkVersionsAction, ClearSpecialTransientTablesAction, ClearSuspendedParkActivitiesAction, ClearUserSettingsByCategoryAction, ClearUsersAction, ClearValidationTypesAction, ClearZoneAction, ClearZonesAction, ClearZsAction, cloudServiceProxies as Cloud, CloudConfirmDialogComponent, CofCredentialSubTypeText, CoinStatusText, CollapsedGuestsByBatchIdAction, ComAggregatedStatus, ComAggregatedStatusText, ComStatusIconComponent, CommandCenterModuleResolver, CommandNotificationBorderClass, CommandNotificationComponent, CommandNotificationDisplayCase, CommandNotificationService, CommandNotificationType, CommandsLocalizationKey, CommonPagesModule, CompanyService, ConfigMobileResolver, ConfigResolver, ConnectSmartparkAction, ContainerRefDirective, CoreEntities, CouponSearchFieldSelectorText, CreateBasicBatchAction, CreateBasicGuestAction, CreateBatchAction, CreateColorAction, CreateGuestAction, CreateModelAction, CreateOrUpdateSMTPDetailsAction, CredentialTypeText, CreditCardTypeText, CrudOperationText, CurlyToBoldPipe, DATA_IMAGE_BASE64_PREFIX, DATA_IMAGE_BASE64_SVG_PREFIX, DEFAULT_DATE_FORMAT, DEFAULT_EXPIRATION_MONTHS_COUNT, DEFAULT_MINIMUM_LENGTH, DEFAULT_PASSWORD_HISTORY_COUNT, DEFAULT_PERMITTED_CREDENTIALS, DEFAULT_SMART_PARK_DATE_TIME, DEFAULT_SORT_MENU, DEFAULT_STICKER_NUM, DEVICE_EVENT_OPTIONS_KEY, DEVICE_NAVIGATE_KEY, DISABLED_FOCUS_ELEMENT_CLASSES, DISABLED_FOCUS_ELEMENT_TYPES, DYNAMIC_PRICING_CONDITION, DataQaAttribute, DateService, DateValidityText, DaysText, DecimalToAmountPipe, DecimalToCurrencyPipe, DefaultImageTimeout, DeleteGuestAction, DeleteLogoAction, DeleteUserAction, DetectBrowserService, DeviceActivityChangedAction, DeviceActivityLabel, DeviceActivityMode, DeviceActivityModeText, DeviceActivityStatus, DeviceActivityType, DeviceAggregatedStatus, DeviceAggregatedStatusText, DeviceEventChangedAction, DeviceIconComponent, DeviceIndicationStatus, DeviceLaneTypes, DeviceLoop, DeviceModule, DevicePipeModule, DevicePrinterStatusText, DeviceRemoteCommandsService, DeviceSortBy, DeviceStatusBaseComponent, DeviceStatusChangedAction, DeviceTypeIconName, DeviceTypeText, DeviceTypesAlertsMapping, DevicesViewMode, DialogMode, DipSwitchStatus, Disable2FAAction, DisconnectSmartParkAction, DoorSensorStatus, DoorStatusText, DurationMessageBar, DynamicContainerComponent, DynamicEllipsisTooltipDirective, ENGLISH_LANGUAGE, ENVIRONMENT, EXPIRATION_MONTHS_COUNT_OPTIONS, edgeServiceProxies as Edge, EditUserAction, ElectronicWalletPaymentMethodTypesText, EllipsisMultilineDirective, EmailServerModule, EmailServerState, EmptyResultsComponent, Enable2FAAction, EnumsToArrayPipe, EnvironmentModeText, ErrorPageComponent, ErrorPageResolver, ErrorResultsComponent, ExceedingBehaviorTypeText, ExpandGuestsByBatchIdAction, ExportFileService, ExportGuestsAction, ExportPdfSmartparksTableAction, ExportSmartparkAction, FONT_BASE64, FacilityChangedAction, FacilityMenuService, FacilityModule, FacilityRemoteCommandExecutedAction, FacilityRemoteCommandTypesIcon, FacilityRemoteCommandsLocalizationKey, FacilityRemoteCommandsMenuItems, FacilityService, FacilityState, FieldLabelComponent, FieldValidationsComponent, FileGenerateMethod, FileSanitizerService, FileService, FilterByDeviceType, FilterDevicesByTypePipe, FilterDevicesByZonePipe, FilterKeysPipe, FilterNumbersPipe, FilterPipe, FlattenedCoreEntities, FloatMessageBarService, ForgotPasswordAction, ForgotPasswordTenantlessAction, FormValidationsComponent, FormattedInputDirective, FrequentParkingActionText, FrequentParkingErrorActionText, GATE_STATE_VALUE, GeneralActionService, GenerateSearchParamsDto, GetAllLocalizationsAction, GetAllLocalizationsMobileAction, GetLogoAction, GetMobileLogoAction, GetRateByIdAction, GetSpecialTransientTablesAction, GetUserSettingsByCategoryAction, GlobalErrorService, GlobalMessageContainerComponent, GroupPermissionsPipe, GuestModule, GuestSearchFieldSelectorText, GuestState, GuestTypeCastText, GuestTypesText, HOUR_FORMAT_12, HOUR_FORMAT_24, HOUR_FORMAT_FULL_DAY, HandleAlertsAction, HandleNotificationAction, HandledNotificationAction, HasActionErrored, HealthAction, HoldRelayMode, HoldRelayModeText, HopperStatusText, HotelGuestSearchFieldSelectorText, HttpCancelBlackListUrls, HttpCancelInterceptor, HttpCancelService, HumanizePipe, INPUT_SEARCH_DEBOUNCE_TIME, INPUT_SEARCH_DEBOUNCE_TIME_LOW, INPUT_SEARCH_DEBOUNCE_TIME_MEDIUM, IconColumnComponent, IconComponent, IconModule, IconsHelper, IconsHelperText, identityServiceProxies as Identity, ImportMonthyStastusFieldSelectorText, InitAddSmartparkConnectionAction, InitSMTPDetailsAction, InitSessionFromLocalStorageAction, InitSmartparkTransportAction, InternetConnectionService, InternetConnectionStatus, IsActionExecuting, IsEllipsisDirective, LOCAL_ENGLISH_LANGUAGE, LOCATION_OPTIONS, LOGGED_TENANT_KEY, LanguageTypeKeys, LayoutModule, LayoutState, Load2FAUserAction, LoadActionReasonsAction, LoadAdministrativeNotificationsAction, LoadAlertsAndNotificationsAction, LoadAppConfigurationAction, LoadAppConfigurationMobileAction, LoadBackofficeAppConfigurationAction, LoadBackofficeSmartparksTableAction, LoadBackofficeSpAndSparkVersionsAction, LoadBackofficeVarsAction, LoadBaseZonesAction, LoadCalculatorPriceAction, LoadCategoriesAction, LoadColorsAction, LoadColorsAction1, LoadColorsAction2, LoadColorsAction3, LoadColorsAction4, LoadColorsAction5, LoadDeviceAction, LoadDeviceEventActivitiesAction, LoadDeviceEventsAction, LoadDeviceEventsCollapse, LoadDeviceLprTransactionsAction, LoadDeviceStatusAction, LoadDevicesAction, LoadDevicesByTypeAction, LoadEventActivitiesCollapse, LoadFacilityAction, LoadFacilityRemoteCommandsRefAction, LoadGroupsAction, LoadGuestByIdAction, LoadGuestProfilesAction, LoadGuestsAction, LoadGuestsByBatchIdAction, LoadGuestsByBatchIdCancelledAction, LoadJobTitlesAction, LoadLocateTicketSearchAction, LoadLocatedTicketAction, LoadLprTransactionsCollapse, LoadMacroCommandsAction, LoadMobileNotificationsAction, LoadMobileSmartparksBasicAction, LoadModelsAction, LoadModelsAction1, LoadModelsAction2, LoadModelsAction3, LoadModelsAction4, LoadModelsAction5, LoadOverflowPriceTableAction, LoadParkActivitiesAction, LoadParkDevicesAction, LoadParkerAction, LoadParkersAction, LoadParkingLotAction, LoadParksAction, LoadRateByIdAction, LoadRatesAction, LoadRemoteCommandsRefAction, LoadSMTPDetailsAction, LoadSelectedDeviceAction, LoadSmartparksAction, LoadSmartparksBasicAction, LoadSmartparksDropdownAction, LoadSmartparksTableAction, LoadSpAndSparkVersionsAction, LoadStickerPriceTableAction, LoadTicketNumParkersAction, LoadTransientPriceTableAction, LoadUserPermissionsAction, LoadUsersAction, LoadUsersAdministrativeNotificationsAction, LoadValidationTypeAction, LoadVarsAction, LoadZoneAction, LoadZonesAction, LoadZsAction, LoadingOverlayComponent, LocalStorageMigrator, LocalStorageService, Localization, LocalizationModule, LocalizationResolver, LocalizationService, LocalizationState, LoginModule, LoginRequestAction, LoginService, LoginState, LoginSuccess, LogoComponent, LogoState, LogoutAction, LogoutMobileAction, LoopStatus, LowerCaseUrlSerializer, LprTransactionsChangedAction, LprTransactionsOptionsText, LprTransactionsSearchFieldSelectorText, MANUAL_ACTION_REASON_NAME_MAX_LENGTH, MAX_ALLOWED_BADGE_VALUE, MAX_ALLOWED_CURRENT_BALANCE, MAX_ALLOWED_DEDUCTION_VALUE, MAX_ALLOWED_GUEST_UNIT_QUANTITY, MAX_ALLOWED_IDENTIFIER_VALUE, MAX_ALLOWED_STARTING_PURSE_VALUE, MAX_CARDS, MAX_CAR_PLATES, MAX_EMAIL_CHARACTERS_LENGTH, MAX_EXPORT_RECORDS, MAX_HOTEL_ROOM_NUMBER_LENGTH, MAX_INT16_VALUE, MAX_INT32_VALUE, MAX_INTEGER_VALUE, MAX_LENGTH_BATCH_NAME, MAX_LENGTH_DESCRIPTION_50, MAX_LENGTH_DESCRIPTION_70, MAX_LENGTH_FOOTER, MAX_LENGTH_LEFT, MAX_LENGTH_LEFT_BACKWARD_COMPATIBILITY, MAX_LENGTH_MANUAL_TEXT, MAX_LENGTH_NAME_20, MAX_LENGTH_NAME_30, MAX_LENGTH_NAME_50, MAX_LENGTH_QUANTITY, MAX_LENGTH_REASON_DESCRIPTION, MAX_LENGTH_SERACH_TERM, MAX_LENGTH_SERACH_TERM_30, MAX_MOBILE_LENGTH, MAX_NUMBER_OF_NIGHTS, MAX_NUMBER_OF_ROW_IN_MENU, MAX_OCCUPANCY_VALUE, MAX_PERIOD_TIME, MAX_PLATE_ID_LENGTH, MAX_PRICE_NO_TIME_LIMIT_VALUE, MAX_PRICE_PERIOD_VALUE, MAX_REPEAT_COUNT_VALUE, MAX_RESULTS, MAX_ROLE_NAME_LENGTH, MAX_SP, MAX_TIME_RANGE_ITEMS_PER_KEY, MC_READER_ID, MESSAGE_BAR_DEFAULT_ID, MINIMUM_DROPDOWN_RESULTS_WITHOUT_SEARCH, MINIMUM_LENGTH_OPTIONS, MINUTES_PER_HOUR, MIN_ALLOWED_GUEST_UNIT_QUANTITY, MIN_LENGTH_QUANTITY, MIN_NUMBER_OF_ROW_IN_MENU, MIN_TIME_RANGE_ITEMS_PER_KEY, MOBILE_REFRESH_INFO, MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory, MSLAuthService, MULTIPLE, MainModuleToSubModulesPermissionTypeMap, MatHintErrorDirective, MaxAllowedSurchargeAmount, MaxAllowedSurchargeMaxLimit, MaxAllowedSurchargeMinLimit, MaxDisplayTimeout, MaxIPV4TextLength, MaxSurchargeNameLength, MenuAppModuleLoadAction, MenuClearAction, MenuLoadAction, MenuService, MenuSubModuleClearAction, MenuSubModuleLoadAction, MessageBarComponent, MessageBarContainerComponent, MessageBarModule, MessageBarPosition, MessageBarService, MessageBarStatus, MiddayPeriod, MinAllowedSurchargeAmount, MinAllowedSurchargeMaxLimit, MinAllowedSurchargeMinLimit, MinDisplayTimeout, MobileAppSectionLabel, MobileAuthenticateMultipleTenantsAction, MobileCommandCenterModuleResolver, MobileLogoutAction, ModalButtonsWrapperComponent, ModalService, ModuleGuard, ModuleMenuBaseComponent, MonthlyRenewalSettingsActionTypesText, MonthlyRenewalSettingsActionTypesValueText, MonthlySearchFieldSelectorText, MslEventType, NONE_ACTIVE_BYTE, NONE_USER_ID, NO_RESULT, NativeElementInjectorDirective, NotSupportedBrowserGuard, NotSupportedBrowserPageComponent, NotificationChangedAction, NotificationClass, NotificationClassficationType, NotificationCloseAllButtonComponent, NotificationConfig, NotificationEventService, NotificationHPositions, NotificationModule, NotificationSeverityText, NotificationTypeLabelComponent, NotificationTypeText, NotificationVPositions, NotificationsModule, ONE_DAY_IN_MINUTES_VALUE, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, OffScreenDirective, OpenIdAuthInitializeService, OpenIdAuthService, OpenIdAutheticateAction, Operator, OrderBy, OrderByPipe, OrderDirection$1 as OrderDirection, OrphanFacilitiesPipe, PARKER_SEARCH_AUTO_REDIRECT, PASSWORD_EXPIRED, PASSWORD_HISTORY_COUNT_OPTIONS, PREVENT_CLICK_ELEMENT_CLASSES, ParkActivitiesModule, ParkActivitiesState, ParkActivityChangedAction, ParkConnectionStatus, ParkConnectionStatusClass, ParkConnectionStatusText, ParkManagerModule, ParkManagerState, ParkService, ParkTimeService, ParkerSearchTerm, ParkerService, ParkerState, ParkerTagsText, ParkerTypesText, PasswordScore, PasswordStrengthService, PaymentSearchFieldSelectorText, PaymentServiceTypeText, PaymentsTypesText, PermissionGroupText, PermissionTypeSupportedVersionDictionary, PermissionTypeText, PermissionsService, PrintReceiptAction, ProfileTypeText, RATE_ID_WITH_VALUE_2, REDIRECT_URL, RELAY_2_VALUE, RELAY_3_VALUE, RELAY_4_VALUE, RESET_PASSWORD_EMAIL, RTL_LANGUAGES, RTObjectObject, RangeModes, RangeModesText, RateModule, RateState, RealtimeEventService, RealtimeResolver, ReceiptGeneratedAction, RefreshTokenService, RefreshTokenState, RelayStatus, ReloadParkerAction, RemoteCommandService, RemoteCommandTypesIcon, RemoteValidationModule, RemoteValidationState, RemoveExpiredAlertsAndNotificationsAction, ReportCategories, ReportCategoriesText, ReportMethodDictionary, ReportSectionMenu, ResendPendingAdminInvitationsAction, ResendUserInvitationAction, ResetRatesAction, RestartLinkComponent, RestartLinkModule, RestrictionLocationTypeText, RestrictionLocationTypeTextTable, RestrictionTypeText, RevenueService, RouteService, RowOperation, SESSION, STATUS_CODE_SERVER_VALIDATION, STATUS_CODE_UNAUTHORIZED, STRING_ZERO, SUPER_PARK_ROUTE_KEY, SUPPORETD_RESTORE_TICKET_TYPES, SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES, SUPPORTED_DEVICES_SCHEDULER, SUPPORTED_GATE_DEVICE_TYPES, SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES, SUPPORTED_PAYMENT_FOR_ISF_TYPES, SUPPORTED_RESTORE_TICKET_DEVICE_TYPES, SUPPORTED_STATUS_DEVICE_TYPES, SUPPORTED_TICKET_INSIDE_DEVICE_TYPES, SYSTEM_ALERT_VALUE, SearchFacilitiesMode, SearchFieldSelectorText, SearchTicketAction, SearchValueHighlightComponent, SecurityModule, SecurityState, SelectDeviceAction, SelectParkAction, SelectSmartParkAction, SelectedRowAction, SendEmailFromEntityAction, SendEmailToGuest, SendGuestPassesToEmailAction, SendTestEmailAction, ServiceProxyModule, ServicesRunningStatusChangedAction, SessionState, SessionStorageService, SetBackofficeSmartParkVersionsAction, SetBasicMenuAction, SetDeviceEventsExpanded, SetDeviceRemoteCommandsMapAction, SetDeviceStatusAction, SetDeviceViewModeAction, SetEventActivitiesExpanded, SetFacilityRemoteCommandsMapAction, SetGuestsAction, SetLprTransactionsExpanded, SetMobileModeAction, SetParkActivitiesAction, SetRealTimeEventStatusAction, SetSearchTermAction, SetSelectedParkAction, SetSmartParkAction, SetSmartParkTableAction, SetSmartParkVersionsAction, SetSmartparkBasicAction, SetSmartparkBasicAllAction, SetStateAction, SetTFASetupAction, SetTenantUserAction, SetTicketIdentifierAction, SetUserNameAction, SetUserStatusAction, SetUsersAction, SetkeepMeLoggedInAction, SharedComponentsModule, SharedDirectivesModule, SharedModule, SharedPipesModule, SideNavSortBy, SidenavModule, SidenavState, SignalR, SignalRObject, SignalRRefreshTokenAction, SingleSignOnProviderText, SmartParkDeviceStatusChangedAction, SmartParkStatusText, SmartparkDateTimePipe, SmartparkDialogState, SmartparkModule, SmartparkService, SmartparkState, SortDevicesPipe, SortPipe, SparkNotification, SpecialDaysPipe, SpinnerDiameterSize, StaticMessageBarService, StatusIconComponent, StickerSearchFieldSelectorText, StopPropagationDirective, StringItPipe, SubModuleGuard, SubstrHightlightManyPipe, SubstrHightlightPipe, SubstrHightlightSinglePipe, SwallowUnitStatusText, SyncUsersAndRolesBySmartparkIdAction, TBFormatPipe, TBNumberDirective, TENANT_KEY, TENS_MULTIPLIER, TableRowHeightSizes, TableTypeText, TagLabelType, TenantClearAction, TenantLoadAction, TenantLogoModule, TenantService, TenantlessLoginMode, TibaDateFormat, TibaMatDialogConfig, TibaRetryPolicy, TibaValidators, TicketService, TimeAgoPipe, TimeElapsedCounterComponent, TimeElapsedFormats, TimeElapsedPipe, TimeRangeFormats, TimeRangePipe, ToggleDrawerAction, ToggleDrawerCollapseAction, TooltipPositions, TrackAction, TransientParkingActionText, TranslateLocalPipe, TreeFilterKeysPipe, TreeMode, TypeCastText, UNSAVED_DATA, USER_IS_TEMPORARY_BLOCKED, UnloadParkingLotAction, UpdateAndActivateUserAction, UpdateAuthTokenAction, UpdateBasicGuestAction, UpdateBasicGuestTempAction, UpdateDocumentAction, UpdateGuestAction, UpdateGuestLocationAction, UpdateMobileMode, UpdateSmartparkAction, UpdateTenantInfoProps, UpdateTenantSingleSignOnAction, UpdateTicketPlateIdAction, UpdateUserAlertsPreferencesAction, UpdateUserNotificaitonsPreferencesAction, UpdateUserSettingsAction, UpdateUserSettingsInSessionAction, UpdateUserSettingsMobileAction, UploadLogoAction, UserCreationType, UserModule, UserSettingsModule, UserSettingsState, UserState, VALIDATION_TYPE_BY_HOURS_41, VALIDATION_TYPE_BY_HOURS_42, VALID_TIME_MAX_LENGTH, VERSION_10_1_0, VERSION_10_2_0, VERSION_10_2_1, VERSION_10_3_0, VERSION_10_3_9, VERSION_10_4_0, VERSION_25_1_0, VERSION_25_2_0, VERSION_25_2_1, VERSION_25_3_0, VERSION_7_4_0, VERSION_7_4_1, VERSION_8_1_0, VERSION_8_2_0, VERSION_8_3_0, VERSION_8_4_0, VERSION_9_1_0, VERSION_9_2_0, VERSION_9_2_2, VERSION_9_3_0, VERSION_9_4_0, VERSION_V1, VGuestWithBatchTableData, ValidateUserTokenAction, ValidationService, ValidationStickerType, ValidationTypeModule, ValidationTypeState, VarDirective, Verify2FactorAuthenticationAction, VersionMobileResolver, VersionResolver, VirtualValidationStatusText, WrapFnPipe, ZerofyNegativePipe, ZoneChangedAction, ZoneModule, ZoneState, accountModuleAnimation, adjustForTimezone, allowSpecialKeys, alphanumericRegex, appModuleAnimation, areDatesIdentical, areVersionsCompatible, arrayEquals, arraysAreDifferent, baseReduce, blobToBase64, buildMessageInfos, buildMessages, camelize, canceled, capitalizeFirstLetter, compareValues, convert24HoursToAmPM, convertAmPmTo24Hours, convertBinaryToDecimal, convertCentToWholeCoin, convertDecimalToBinary, convertFeaturePermissionsToDictionary, convertFormatWithoutTime, convertWholeCoinToCent, createDescriptor, createMessageText, dateDiffInSeconds, days, daysTranslation, decimalNumberRegex, decimalPercentageRegex, decimalPositiveNumberRegex, decryptClientSecret, delayCancellation, deviceIndicationStatusLocalization, deviceTypeFilterOptions, diffInMillis, dispatched, distinctObjectByProperties, distinctObjectByProperty, downloadFile, ensureObjectMetadata, entryDevicesLaneTypes, errored, exitDevicesLaneTypes, extractErrorsChanges, extractNumber, extractResetChanges, extractSetValueChanges, extractToggleStatusChanges, extractTouchedChanges, extractUpdateValueAndValidityChanges, filterDevicesByTypes, filterKeyValueBaseReduce, findChildRoute, findObjectDifferences, findParentElement, findParentElementDimensions, findParentRoute, findParentRouteConfig, flattenByKey, formatMinutesToTimeNumber, formatTimeToMinutes, formatTimeToString, formatTimeWithMidnight, formatTimeWithSeparator, formatTimeWithoutMidnight, formatTimeWithoutSeparator, formatTimeWithoutSeperatorAndWithMidnight, formatTimeWithoutSeperatorAndWithoutMidnight, getActivatedRoutePathSegment, getAddress, getCurrentLang, getDateTimeInSeconds, getDateWithoutTime, getDaysFromValue, getDefaultDeviceStatus, getFormattedTime, getMomenWithTime, getMomentNullable, getMomentWithoutTime, getNavigationRoute, getObjectMetadata, getParkerTypesText, getPasswordMinimalLength, getSecondsBackoff, getTooltipTextByParkerType, getUserTimeZone, getUtcMomentNullable, hasRequiredField, hasValue, humanizeTimeElapsed, humanizeUtcTimeElapsed, identity, initializeMsal, initializeOpenId, integerNumberRegex, integerPositiveNumberRegex, ipv4Regex, isBoolean, isCharacterLengthValid, isDefinedAndNotEmpty, isDeviceActive, isDeviceInFilterDeviceTypes, isDeviceInFiltersDeviceTypes, isFalsy, isIOSDevice, isMaxDaysRangeValid, isNullOrEmpty, isNumber, isObjectEmpty, isSearchFieldChanged, isSingularOrPlural, isTrueInBinary, isTruthy, isVersionGreaterThanEqual, loadHTMLContent, lowerCase, lowerCaseFirstLetter, mapTransientTags, markEntitiesAsChanged, markEntityAsUnchanged, matchesDeviceCriteria, matchesDeviceParkingLotCriteria, matchesDevicesParkingLotCriteria, minutesToTime, mobileRegex, nameof, navigateToForbiddenAccessPage, navigateToNotSupportedBrowserPage, noEmojiRegex, notificationAnimation, numberWithLeadingZero, ofStatus, omitKeys, openBackgroundIframe, openCloseFiltersAnimation, parentParkBaseEventTypes, parentParkEventTypes, parkBaseEventTypes, parkEventTypes, parkerEnumToText, parseApiErrorData, parseApiErrorMessage, parseDateTimeToSparkParkTime, parseSmartParkTime, passwordRegex, percentageRegex, printSpecialDaysText, printStackTrace, readjustForTimezone, regexExp, remoteCommandLocalizationMap, replaceAll, rtEventPermissions, safeParse, searchBarPopupAnimation, setErrorMessage, shortDaysTranslation, sleep, slideFromBottom, slideFromRight, slideFromUp, slideUpDown, successful, timeToMinutes, timeToMoment, toInt, toNumberMap, toStringMap, wrapConstructor };
115588
+ export { ACCESS_PROFILE_DAT_TYPES_SP, ACTIVE_BYTE, ADVANCED_OPTIONS_VALUE, AES_DEFAULT_IV, ALERT_NOTIFICATION_CONTAINER, ALLOWED_FILES_FORMATS, ALLOWED_FILES_MAX_SIZE_MB, ALLOWED_FILES__SIZE_200_KB, ALLOWED_FILES__SIZE_2_MB, ALLOWED_NUMBER_OF_DAYS, ALLOWED_UPLOAD_FILES_QUANTITY, ALL_DAYS_IN_BINARY, ALL_DAYS_IN_BYTE, AccessProfileChangeValidTypesText, AccessProfileDayTypesText, AccessProfileRestrictionTypesText, AccessProfileShortDayTypesText, AccessProfileSpecialDaysMap, AccessProfileTypesText, AccountFrameMessageBarComponent, AccountLinkedEntitiesText, AccountLinkedEntityText, AccountSetPasswordAction, AccountSetPasswordErrorAction, AccountSetPasswordInitAction, ActionReasonsModule, ActionReasonsState, ActionStatusService, AddSmartparkAction, AddUserAction, AdministrativeNotificationEntityType, AdministrativeNotificationsModule, AdministrativeNotificationsState, AggregatedStatusText, AlertChangedAction, AlertNotificationBorderClass, AlertNotificationClassificationMap, AlertNotificationComponent, AlertNotificationService, AlertsAndNotificationsService, AlertsAndNotificationsState, AlertsDeviceTypeLabel, AlertsDeviceTypeOptions, AlertsDeviceTypeOptionsMapping, AmountStepSurchargeMinLimit, AnalyticsCommandsText, AnalyticsEventsText, AnalyticsService, AnalyticsSourceComponent, AnalyticsSourceProps, AppConfigService, AppModuleService, AppModuleToMainPermissionTypeMap, AppSectionLabel, AppSectionModuleMenu, AppSectionRoute, AppSettingsService, AppType, AuditActionTypeText, AuditLogoutAction, AuditLogoutMobileAction, AuthModule, AuthRouteGuard, AuthService, AuthTokenService, Authenticate2FAforUser, AuthenticateMultipleTenantsAction, AutofocusDirective, BOM_UNICODE, BackofficeAutheticateAction, BarcodeTypeLength, BarrireStateText, BaseComponent, BaseDeviceItemComponent, BaseDeviceService, BaseFacilityCommandsService, BaseNotificationService, BillDispenserStatusText, BillTypeText, BillValidatorStatusText, ButtonStatus, CANCEL_ALL_RELAY_VALUE, CLogItPipe, COLORS, CREDIT_CARD_POSTFIX_LENGTH, CalculatorModule, CalculatorState, CanDeactivateService, CarModule, CarState, CassetteStatusText, CentToCoinPipe, ChangeLanguageAction, ChangeMobileLanguageAction, ChangePasswordAction, ChangePasswordMobileAction, ChartLayout, CleanLogoAction, ClearActionReasonsAction, ClearAdministrativeNotificationsAction, ClearAlertsAndNotificationsAction, ClearBaseZonesAction, ClearCalculatorPriceAction, ClearCategoriesAction, ClearColorsAction, ClearDeviceAction, ClearDeviceEventsExpanded, ClearDevicesAction, ClearEventActivitiesExpanded, ClearFacilityDictionaryAction, ClearGroupsAction, ClearGuestAction, ClearGuestProfilesAction, ClearGuestsListAction, ClearHandledGuest, ClearInactiveSelectedParkAction, ClearJobTitlesAction, ClearLocateTicketSearchAction, ClearLocatedTicketAction, ClearLprTransactionsExpanded, ClearMacroCommandsAction, ClearModelsAction, ClearParkerAction, ClearRateAction, ClearSearchResultsAction, ClearSearchTermAction, ClearSearchTicketAction, ClearSelectedFacilityAction, ClearSelectedParkAction, ClearSelectedRow, ClearSelectedSmartparkAction, ClearSmartparksBasicAction, ClearSpAndSparkVersionsAction, ClearSpecialTransientTablesAction, ClearSuspendedParkActivitiesAction, ClearUserSettingsByCategoryAction, ClearUsersAction, ClearValidationTypesAction, ClearZoneAction, ClearZonesAction, ClearZsAction, cloudServiceProxies as Cloud, CloudConfirmDialogComponent, CofCredentialSubTypeText, CoinStatusText, CollapsedGuestsByBatchIdAction, ComAggregatedStatus, ComAggregatedStatusText, ComStatusIconComponent, CommandCenterModuleResolver, CommandNotificationBorderClass, CommandNotificationComponent, CommandNotificationDisplayCase, CommandNotificationService, CommandNotificationType, CommandsLocalizationKey, CommonPagesModule, CompanyService, ConfigMobileResolver, ConfigResolver, ConnectSmartparkAction, ContainerRefDirective, CoreEntities, CouponSearchFieldSelectorText, CreateBasicBatchAction, CreateBasicGuestAction, CreateBatchAction, CreateColorAction, CreateGuestAction, CreateModelAction, CreateOrUpdateSMTPDetailsAction, CredentialTypeText, CreditCardTypeText, CrudOperationText, CurlyToBoldPipe, DATA_IMAGE_BASE64_PREFIX, DATA_IMAGE_BASE64_SVG_PREFIX, DEFAULT_DATE_FORMAT, DEFAULT_EXPIRATION_MONTHS_COUNT, DEFAULT_MINIMUM_LENGTH, DEFAULT_PASSWORD_HISTORY_COUNT, DEFAULT_PERMITTED_CREDENTIALS, DEFAULT_SMART_PARK_DATE_TIME, DEFAULT_SORT_MENU, DEFAULT_STICKER_NUM, DEVICE_EVENT_OPTIONS_KEY, DEVICE_NAVIGATE_KEY, DISABLED_FOCUS_ELEMENT_CLASSES, DISABLED_FOCUS_ELEMENT_TYPES, DYNAMIC_PRICING_CONDITION, DataQaAttribute, DateService, DateValidityText, DaysText, DecimalToAmountPipe, DecimalToCurrencyPipe, DefaultImageTimeout, DeleteGuestAction, DeleteLogoAction, DeleteUserAction, DetectBrowserService, DeviceActivityChangedAction, DeviceActivityLabel, DeviceActivityMode, DeviceActivityModeText, DeviceActivityStatus, DeviceActivityType, DeviceAggregatedStatus, DeviceAggregatedStatusText, DeviceEventChangedAction, DeviceIconComponent, DeviceIndicationStatus, DeviceLaneTypes, DeviceLoop, DeviceModule, DevicePipeModule, DevicePrinterStatusText, DeviceRemoteCommandsService, DeviceSortBy, DeviceStatusBaseComponent, DeviceStatusChangedAction, DeviceTypeIconName, DeviceTypeText, DeviceTypesAlertsMapping, DevicesViewMode, DialogMode, DipSwitchStatus, Disable2FAAction, DisconnectSmartParkAction, DoorSensorStatus, DoorStatusText, DurationMessageBar, DynamicContainerComponent, DynamicEllipsisTooltipDirective, ENGLISH_LANGUAGE, ENVIRONMENT, EXPIRATION_MONTHS_COUNT_OPTIONS, edgeServiceProxies as Edge, EditUserAction, ElectronicWalletPaymentMethodTypesText, EllipsisMultilineDirective, EmailServerModule, EmailServerState, EmptyResultsComponent, Enable2FAAction, EnumsToArrayPipe, EnvironmentModeText, ErrorPageComponent, ErrorPageResolver, ErrorResultsComponent, ExceedingBehaviorTypeText, ExpandGuestsByBatchIdAction, ExportFileService, ExportGuestsAction, ExportPdfSmartparksTableAction, ExportSmartparkAction, FONT_BASE64, FacilityChangedAction, FacilityMenuService, FacilityModule, FacilityRemoteCommandExecutedAction, FacilityRemoteCommandTypesIcon, FacilityRemoteCommandsLocalizationKey, FacilityRemoteCommandsMenuItems, FacilityService, FacilityState, FieldLabelComponent, FieldValidationsComponent, FileGenerateMethod, FileSanitizerService, FileService, FilterByDeviceType, FilterDevicesByTypePipe, FilterDevicesByZonePipe, FilterKeysPipe, FilterNumbersPipe, FilterPipe, FlattenedCoreEntities, FloatMessageBarService, ForgotPasswordAction, ForgotPasswordTenantlessAction, FormValidationsComponent, FormattedInputDirective, FrequentParkingActionText, FrequentParkingErrorActionText, GATE_STATE_VALUE, GeneralActionService, GenerateSearchParamsDto, GetAllLocalizationsAction, GetAllLocalizationsMobileAction, GetLogoAction, GetMobileLogoAction, GetRateByIdAction, GetSpecialTransientTablesAction, GetUserSettingsByCategoryAction, GlobalErrorService, GlobalMessageContainerComponent, GroupPermissionsPipe, GuestModule, GuestSearchFieldSelectorText, GuestState, GuestTypeCastText, GuestTypesText, HOUR_FORMAT_12, HOUR_FORMAT_24, HOUR_FORMAT_FULL_DAY, HandleAlertsAction, HandleNotificationAction, HandledNotificationAction, HasActionErrored, HealthAction, HoldRelayMode, HoldRelayModeText, HopperStatusText, HotelGuestSearchFieldSelectorText, HttpCancelBlackListUrls, HttpCancelInterceptor, HttpCancelService, HumanizePipe, INPUT_SEARCH_DEBOUNCE_TIME, INPUT_SEARCH_DEBOUNCE_TIME_LOW, INPUT_SEARCH_DEBOUNCE_TIME_MEDIUM, IconColumnComponent, IconComponent, IconModule, IconsHelper, IconsHelperText, identityServiceProxies as Identity, ImportMonthyStastusFieldSelectorText, InitAddSmartparkConnectionAction, InitSMTPDetailsAction, InitSessionFromLocalStorageAction, InitSmartparkTransportAction, InternetConnectionService, InternetConnectionStatus, IsActionExecuting, IsEllipsisDirective, LOCAL_ENGLISH_LANGUAGE, LOCATION_OPTIONS, LOGGED_TENANT_KEY, LanguageTypeKeys, LayoutModule, LayoutState, Load2FAUserAction, LoadActionReasonsAction, LoadAdministrativeNotificationsAction, LoadAlertsAndNotificationsAction, LoadAppConfigurationAction, LoadAppConfigurationMobileAction, LoadBackofficeAppConfigurationAction, LoadBackofficeSmartparksTableAction, LoadBackofficeSpAndSparkVersionsAction, LoadBackofficeVarsAction, LoadBaseZonesAction, LoadCalculatorPriceAction, LoadCategoriesAction, LoadColorsAction, LoadColorsAction1, LoadColorsAction2, LoadColorsAction3, LoadColorsAction4, LoadColorsAction5, LoadDeviceAction, LoadDeviceEventActivitiesAction, LoadDeviceEventsAction, LoadDeviceEventsCollapse, LoadDeviceLprTransactionsAction, LoadDeviceStatusAction, LoadDevicesAction, LoadDevicesByTypeAction, LoadEventActivitiesCollapse, LoadFacilityAction, LoadFacilityRemoteCommandsRefAction, LoadGroupsAction, LoadGuestByIdAction, LoadGuestProfilesAction, LoadGuestsAction, LoadGuestsByBatchIdAction, LoadGuestsByBatchIdCancelledAction, LoadJobTitlesAction, LoadLocateTicketSearchAction, LoadLocatedTicketAction, LoadLprTransactionsCollapse, LoadMacroCommandsAction, LoadMobileNotificationsAction, LoadMobileSmartparksBasicAction, LoadModelsAction, LoadModelsAction1, LoadModelsAction2, LoadModelsAction3, LoadModelsAction4, LoadModelsAction5, LoadOverflowPriceTableAction, LoadParkActivitiesAction, LoadParkDevicesAction, LoadParkerAction, LoadParkersAction, LoadParkingLotAction, LoadParksAction, LoadRateByIdAction, LoadRatesAction, LoadRemoteCommandsRefAction, LoadSMTPDetailsAction, LoadSelectedDeviceAction, LoadSmartparksAction, LoadSmartparksBasicAction, LoadSmartparksDropdownAction, LoadSmartparksTableAction, LoadSpAndSparkVersionsAction, LoadStickerPriceTableAction, LoadTicketNumParkersAction, LoadTransientPriceTableAction, LoadUserPermissionsAction, LoadUsersAction, LoadUsersAdministrativeNotificationsAction, LoadValidationTypeAction, LoadVarsAction, LoadZoneAction, LoadZonesAction, LoadZsAction, LoadingOverlayComponent, LocalStorageMigrator, LocalStorageService, Localization, LocalizationModule, LocalizationResolver, LocalizationService, LocalizationState, LoginModule, LoginRequestAction, LoginService, LoginState, LoginSuccess, LogoComponent, LogoState, LogoutAction, LogoutMobileAction, LoopStatus, LowerCaseUrlSerializer, LprTransactionsChangedAction, LprTransactionsOptionsText, LprTransactionsSearchFieldSelectorText, MANUAL_ACTION_REASON_NAME_MAX_LENGTH, MAX_ALLOWED_BADGE_VALUE, MAX_ALLOWED_CURRENT_BALANCE, MAX_ALLOWED_DEDUCTION_VALUE, MAX_ALLOWED_GUEST_UNIT_QUANTITY, MAX_ALLOWED_IDENTIFIER_VALUE, MAX_ALLOWED_STARTING_PURSE_VALUE, MAX_CARDS, MAX_CAR_PLATES, MAX_EMAIL_CHARACTERS_LENGTH, MAX_EXPORT_RECORDS, MAX_HOTEL_ROOM_NUMBER_LENGTH, MAX_INT16_VALUE, MAX_INT32_VALUE, MAX_INTEGER_VALUE, MAX_LENGTH_BATCH_NAME, MAX_LENGTH_DESCRIPTION_50, MAX_LENGTH_DESCRIPTION_70, MAX_LENGTH_FOOTER, MAX_LENGTH_LEFT, MAX_LENGTH_LEFT_BACKWARD_COMPATIBILITY, MAX_LENGTH_MANUAL_TEXT, MAX_LENGTH_NAME_20, MAX_LENGTH_NAME_30, MAX_LENGTH_NAME_50, MAX_LENGTH_QUANTITY, MAX_LENGTH_REASON_DESCRIPTION, MAX_LENGTH_SERACH_TERM, MAX_LENGTH_SERACH_TERM_30, MAX_MOBILE_LENGTH, MAX_NUMBER_OF_NIGHTS, MAX_NUMBER_OF_ROW_IN_MENU, MAX_OCCUPANCY_VALUE, MAX_PERIOD_TIME, MAX_PLATE_ID_LENGTH, MAX_PRICE_NO_TIME_LIMIT_VALUE, MAX_PRICE_PERIOD_VALUE, MAX_REPEAT_COUNT_VALUE, MAX_RESULTS, MAX_ROLE_NAME_LENGTH, MAX_SP, MAX_TIME_RANGE_ITEMS_PER_KEY, MC_READER_ID, MESSAGE_BAR_DEFAULT_ID, MINIMUM_DROPDOWN_RESULTS_WITHOUT_SEARCH, MINIMUM_LENGTH_OPTIONS, MINUTES_PER_HOUR, MIN_ALLOWED_GUEST_UNIT_QUANTITY, MIN_LENGTH_QUANTITY, MIN_NUMBER_OF_ROW_IN_MENU, MIN_TIME_RANGE_ITEMS_PER_KEY, MOBILE_REFRESH_INFO, MSALGuardConfigFactory, MSALInstanceFactory, MSALInterceptorConfigFactory, MSLAuthService, MULTIPLE, MainModuleToSubModulesPermissionTypeMap, MatHintErrorDirective, MaxAllowedSurchargeAmount, MaxAllowedSurchargeMaxLimit, MaxAllowedSurchargeMinLimit, MaxDisplayTimeout, MaxIPV4TextLength, MaxSurchargeNameLength, MenuAppModuleLoadAction, MenuClearAction, MenuLoadAction, MenuService, MenuSubModuleClearAction, MenuSubModuleLoadAction, MessageBarComponent, MessageBarContainerComponent, MessageBarModule, MessageBarPosition, MessageBarService, MessageBarStatus, MiddayPeriod, MinAllowedSurchargeAmount, MinAllowedSurchargeMaxLimit, MinAllowedSurchargeMinLimit, MinDisplayTimeout, MobileAppSectionLabel, MobileAuthenticateMultipleTenantsAction, MobileCommandCenterModuleResolver, MobileLogoutAction, ModalButtonsWrapperComponent, ModalService, ModuleGuard, ModuleMenuBaseComponent, MonthlyRenewalSettingsActionTypesText, MonthlyRenewalSettingsActionTypesValueText, MonthlySearchFieldSelectorText, MslEventType, NONE_ACTIVE_BYTE, NONE_USER_ID, NO_RESULT, NativeElementInjectorDirective, NotSupportedBrowserGuard, NotSupportedBrowserPageComponent, NotificationChangedAction, NotificationClass, NotificationClassficationType, NotificationCloseAllButtonComponent, NotificationConfig, NotificationEventService, NotificationHPositions, NotificationModule, NotificationSeverityText, NotificationTypeLabelComponent, NotificationTypeText, NotificationVPositions, NotificationsModule, ONE_DAY_IN_MINUTES_VALUE, ONE_MINUTE_IN_MILLISECONDS, ONE_SECOND_IN_MILLISECONDS, OffScreenDirective, OpenIdAuthInitializeService, OpenIdAuthService, OpenIdAutheticateAction, Operator, OrderBy, OrderByPipe, OrderDirection$1 as OrderDirection, OrphanFacilitiesPipe, PARKER_SEARCH_AUTO_REDIRECT, PASSWORD_EXPIRED, PASSWORD_HISTORY_COUNT_OPTIONS, PREVENT_CLICK_ELEMENT_CLASSES, ParkActivitiesModule, ParkActivitiesState, ParkActivityChangedAction, ParkConnectionStatus, ParkConnectionStatusClass, ParkConnectionStatusText, ParkManagerModule, ParkManagerState, ParkService, ParkTimeService, ParkerSearchTerm, ParkerService, ParkerState, ParkerTagsText, ParkerTypesText, PasswordScore, PasswordStrengthService, PaymentSearchFieldSelectorText, PaymentServiceTypeText, PaymentsTypesText, PermissionGroupText, PermissionTypeSupportedVersionDictionary, PermissionTypeText, PermissionsService, PrintReceiptAction, ProfileTypeText, RATE_ID_WITH_VALUE_2, REDIRECT_URL, RELAY_2_VALUE, RELAY_3_VALUE, RELAY_4_VALUE, RESET_PASSWORD_EMAIL, RTL_LANGUAGES, RTObjectObject, RangeModes, RangeModesText, RateModule, RateState, RealtimeEventService, RealtimeResolver, ReceiptGeneratedAction, RefreshTokenService, RefreshTokenState, RelayStatus, ReloadParkerAction, RemoteCommandService, RemoteCommandTypesIcon, RemoteValidationModule, RemoteValidationState, RemoveExpiredAlertsAndNotificationsAction, ReportCategories, ReportCategoriesText, ReportMethodDictionary, ReportSectionMenu, ResendPendingAdminInvitationsAction, ResendUserInvitationAction, ResetRatesAction, RestartLinkComponent, RestartLinkModule, RestrictionLocationTypeText, RestrictionLocationTypeTextTable, RestrictionTypeText, RevenueService, RouteService, RowOperation, SESSION, STATUS_CODE_SERVER_VALIDATION, STATUS_CODE_UNAUTHORIZED, STRING_ZERO, SUPER_PARK_ROUTE_KEY, SUPPORETD_RESTORE_TICKET_TYPES, SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES, SUPPORTED_DEVICES_SCHEDULER, SUPPORTED_GATE_DEVICE_TYPES, SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES, SUPPORTED_PAYMENT_FOR_ISF_TYPES, SUPPORTED_RESTORE_TICKET_DEVICE_TYPES, SUPPORTED_STATUS_DEVICE_TYPES, SUPPORTED_TICKET_INSIDE_DEVICE_TYPES, SYSTEM_ALERT_VALUE, SearchFacilitiesMode, SearchFieldSelectorText, SearchTicketAction, SearchValueHighlightComponent, SecurityModule, SecurityState, SelectDeviceAction, SelectParkAction, SelectSmartParkAction, SelectedRowAction, SendEmailFromEntityAction, SendEmailToGuest, SendGuestPassesToEmailAction, SendTestEmailAction, ServiceProxyModule, ServicesRunningStatusChangedAction, SessionState, SessionStorageService, SetBackofficeSmartParkVersionsAction, SetBasicMenuAction, SetDeviceEventsExpanded, SetDeviceRemoteCommandsMapAction, SetDeviceStatusAction, SetDeviceViewModeAction, SetEventActivitiesExpanded, SetFacilityRemoteCommandsMapAction, SetGuestsAction, SetLprTransactionsExpanded, SetMobileModeAction, SetParkActivitiesAction, SetRealTimeEventStatusAction, SetSearchTermAction, SetSelectedParkAction, SetSmartParkAction, SetSmartParkTableAction, SetSmartParkVersionsAction, SetSmartparkBasicAction, SetSmartparkBasicAllAction, SetStateAction, SetTFASetupAction, SetTenantUserAction, SetTicketIdentifierAction, SetUserNameAction, SetUserStatusAction, SetUsersAction, SetkeepMeLoggedInAction, SharedComponentsModule, SharedDirectivesModule, SharedModule, SharedPipesModule, SideNavSortBy, SidenavModule, SidenavState, SignalR, SignalRObject, SignalRRefreshTokenAction, SingleSignOnProviderText, SmartParkDeviceStatusChangedAction, SmartParkStatusText, SmartparkDateTimePipe, SmartparkDialogState, SmartparkModule, SmartparkService, SmartparkState, SortDevicesPipe, SortPipe, SparkNotification, SpecialDaysPipe, SpinnerDiameterSize, StaticMessageBarService, StatusIconComponent, StickerSearchFieldSelectorText, StopPropagationDirective, StringItPipe, SubModuleGuard, SubstrHightlightManyPipe, SubstrHightlightPipe, SubstrHightlightSinglePipe, SwallowUnitStatusText, SyncUsersAndRolesBySmartparkIdAction, TBFormatPipe, TBNumberDirective, TENANT_KEY, TENS_MULTIPLIER, TableRowHeightSizes, TableTypeText, TagLabelType, TenantClearAction, TenantLoadAction, TenantLogoModule, TenantService, TenantlessLoginMode, TibaDateFormat, TibaMatDialogConfig, TibaRetryPolicy, TibaValidators, TicketService, TimeAgoPipe, TimeElapsedCounterComponent, TimeElapsedFormats, TimeElapsedPipe, TimeRangeFormats, TimeRangePipe, ToggleDrawerAction, ToggleDrawerCollapseAction, TooltipPositions, TrackAction, TransientParkingActionText, TranslateLocalPipe, TreeFilterKeysPipe, TreeMode, TypeCastText, UNSAVED_DATA, USER_IS_TEMPORARY_BLOCKED, UnloadParkingLotAction, UpdateAndActivateUserAction, UpdateAuthTokenAction, UpdateBasicGuestAction, UpdateBasicGuestTempAction, UpdateDocumentAction, UpdateGuestAction, UpdateGuestLocationAction, UpdateMobileMode, UpdateSmartparkAction, UpdateTenantInfoProps, UpdateTenantSingleSignOnAction, UpdateTicketPlateIdAction, UpdateUserAlertsPreferencesAction, UpdateUserNotificaitonsPreferencesAction, UpdateUserSettingsAction, UpdateUserSettingsInSessionAction, UpdateUserSettingsMobileAction, UploadLogoAction, UserCreationType, UserModule, UserSettingsModule, UserSettingsState, UserState, VALIDATION_TYPE_BY_HOURS_41, VALIDATION_TYPE_BY_HOURS_42, VALID_TIME_MAX_LENGTH, VERSION_10_1_0, VERSION_10_2_0, VERSION_10_2_1, VERSION_10_3_0, VERSION_10_3_9, VERSION_10_4_0, VERSION_25_1_0, VERSION_25_2_0, VERSION_25_2_1, VERSION_25_3_0, VERSION_7_4_0, VERSION_7_4_1, VERSION_8_1_0, VERSION_8_2_0, VERSION_8_3_0, VERSION_8_4_0, VERSION_9_1_0, VERSION_9_2_0, VERSION_9_2_2, VERSION_9_3_0, VERSION_9_4_0, VERSION_V1, VGuestWithBatchTableData, ValidateUserTokenAction, ValidationService, ValidationStickerType, ValidationTypeModule, ValidationTypeState, VarDirective, Verify2FactorAuthenticationAction, VersionMobileResolver, VersionResolver, VirtualValidationStatusText, WrapFnPipe, ZerofyNegativePipe, ZoneChangedAction, ZoneModule, ZoneState, accountModuleAnimation, adjustForTimezone, allowSpecialKeys, alphanumericRegex, appModuleAnimation, areDatesIdentical, areVersionsCompatible, arrayEquals, arraysAreDifferent, baseReduce, blobToBase64, buildMessageInfos, buildMessages, camelize, canceled, capitalizeFirstLetter, compareValues, convert24HoursToAmPM, convertAmPmTo24Hours, convertBinaryToDecimal, convertCentToWholeCoin, convertDecimalToBinary, convertFeaturePermissionsToDictionary, convertFormatWithoutTime, convertWholeCoinToCent, createDescriptor, createMessageText, dateDiffInSeconds, days, daysTranslation, decimalNumberRegex, decimalPercentageRegex, decimalPositiveNumberRegex, decryptClientSecret, delayCancellation, deviceIndicationStatusLocalization, deviceTypeFilterOptions, diffInMillis, dispatched, distinctObjectByProperties, distinctObjectByProperty, downloadFile, ensureObjectMetadata, entryDevicesLaneTypes, errored, exitDevicesLaneTypes, extractErrorsChanges, extractNumber, extractResetChanges, extractSetValueChanges, extractToggleStatusChanges, extractTouchedChanges, extractUpdateValueAndValidityChanges, filterDevicesByTypes, filterKeyValueBaseReduce, findChildRoute, findObjectDifferences, findParentElement, findParentElementDimensions, findParentRoute, findParentRouteConfig, flattenByKey, formatMinutesToTimeNumber, formatTimeToMinutes, formatTimeToString, formatTimeWithMidnight, formatTimeWithSeparator, formatTimeWithoutMidnight, formatTimeWithoutSeparator, formatTimeWithoutSeperatorAndWithMidnight, formatTimeWithoutSeperatorAndWithoutMidnight, getActivatedRoutePathSegment, getAddress, getCurrentLang, getDateTimeInSeconds, getDateWithoutTime, getDaysFromValue, getDefaultDeviceStatus, getFormattedTime, getMomenWithTime, getMomentNullable, getMomentWithoutTime, getNavigationRoute, getObjectMetadata, getParkerTypesText, getPasswordMinimalLength, getSecondsBackoff, getTooltipTextByParkerType, getUserTimeZone, getUtcMomentNullable, hasRequiredField, hasValue, humanizeTimeElapsed, humanizeUtcTimeElapsed, identity, initializeMsal, initializeOpenId, integerNumberRegex, integerPositiveNumberRegex, ipv4Regex, isBoolean, isCharacterLengthValid, isDefinedAndNotEmpty, isDeviceActive, isDeviceInFilterDeviceTypes, isDeviceInFiltersDeviceTypes, isFalsy, isIOSDevice, isMaxDaysRangeValid, isNullOrEmpty, isNumber, isObjectEmpty, isSearchFieldChanged, isSingularOrPlural, isTrueInBinary, isTruthy, isVersionGreaterThanEqual, loadHTMLContent, lowerCase, lowerCaseFirstLetter, mapTransientTags, markEntitiesAsChanged, markEntityAsUnchanged, matchesDeviceCriteria, matchesDeviceParkingLotCriteria, matchesDevicesParkingLotCriteria, minutesToTime, mobileRegex, nameof, navigateToForbiddenAccessPage, navigateToNotSupportedBrowserPage, noEmojiRegex, notificationAnimation, numberWithLeadingZero, objectKeystoLowerCase, ofStatus, omitKeys, openBackgroundIframe, openCloseFiltersAnimation, parentParkBaseEventTypes, parentParkEventTypes, parkBaseEventTypes, parkEventTypes, parkerEnumToText, parseApiErrorData, parseApiErrorMessage, parseDateTimeToSparkParkTime, parseSmartParkTime, passwordRegex, percentageRegex, printSpecialDaysText, printStackTrace, readjustForTimezone, regexExp, remoteCommandLocalizationMap, replaceAll, rtEventPermissions, safeParse, searchBarPopupAnimation, setErrorMessage, shortDaysTranslation, sleep, slideFromBottom, slideFromRight, slideFromUp, slideUpDown, successful, timeToMinutes, timeToMoment, toInt, toNumberMap, toStringMap, wrapConstructor };
115576
115589
  //# sourceMappingURL=tiba-spark-client-shared-lib.mjs.map