@tiba-spark/client-shared-lib 25.4.0-266 → 25.4.0-267

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 i9 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 i3 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
 
@@ -27158,6 +27158,19 @@ function printSpecialDaysText(translateService, specialDays) {
27158
27158
  function getDaysFromValue(translateService, days, value) {
27159
27159
  return days.filter(day => (value & day.value) !== 0).map(day => translateService.instant(day.label));
27160
27160
  }
27161
+ function objectKeystoLowerCase(obj) {
27162
+ if (Array.isArray(obj)) {
27163
+ return obj.map(item => this.objectKeystoLowerCase(item));
27164
+ }
27165
+ if (obj !== null && typeof obj === 'object') {
27166
+ const normalized = {};
27167
+ for (const key of Object.keys(obj)) {
27168
+ normalized[key.toLowerCase()] = this.objectKeystoLowerCase(obj[key]);
27169
+ }
27170
+ return normalized;
27171
+ }
27172
+ return obj;
27173
+ }
27161
27174
 
27162
27175
  // Gets an object of type<T>
27163
27176
  // Gets an array of keys to ignore
@@ -103295,6 +103308,685 @@ class LoadSmartparksDropdownAction {
103295
103308
  }
103296
103309
  }
103297
103310
 
103311
+ function isDeviceActive(device) {
103312
+ return device && device.hasOwnProperty('active') && device.active !== undefined ? device.active : true;
103313
+ }
103314
+
103315
+ const SUPPORTED_DEVICES_SCHEDULER = [
103316
+ DeviceType$1.CashReader,
103317
+ DeviceType$1.Dispenser,
103318
+ DeviceType$1.Verifier,
103319
+ DeviceType$1.EntryPil,
103320
+ DeviceType$1.ExitPil,
103321
+ DeviceType$1.Credit,
103322
+ DeviceType$1.Pof,
103323
+ DeviceType$1.ValetStation,
103324
+ DeviceType$1.Reader
103325
+ ];
103326
+
103327
+ function downloadFile(res, method) {
103328
+ switch (method) {
103329
+ case FileGenerateMethod.viewPDF:
103330
+ const viewBlob = new Blob([res.data], { type: 'application/pdf' });
103331
+ const viewBlobURL = window.URL.createObjectURL(viewBlob);
103332
+ // Checks if the browser popups are blocked
103333
+ var popUp = window.open(viewBlobURL, '_blank');
103334
+ if (popUp == null || typeof (popUp) == 'undefined') {
103335
+ return {
103336
+ success: false,
103337
+ obj: viewBlobURL
103338
+ };
103339
+ }
103340
+ else {
103341
+ popUp.focus();
103342
+ // Change the name of thte tab after the PDF loaded
103343
+ popUp.addEventListener("load", function () {
103344
+ setTimeout(() => {
103345
+ popUp.document.title = res.fileName;
103346
+ }, 150);
103347
+ });
103348
+ }
103349
+ break;
103350
+ case FileGenerateMethod.downloadPDF:
103351
+ case FileGenerateMethod.downloadExcel:
103352
+ case FileGenerateMethod.downloadZip:
103353
+ case FileGenerateMethod.downloadCsv:
103354
+ default:
103355
+ saveAs(res.data, res.fileName);
103356
+ break;
103357
+ }
103358
+ return {
103359
+ success: true,
103360
+ obj: null
103361
+ };
103362
+ }
103363
+ var FileGenerateMethod;
103364
+ (function (FileGenerateMethod) {
103365
+ FileGenerateMethod[FileGenerateMethod["viewPDF"] = 1] = "viewPDF";
103366
+ FileGenerateMethod[FileGenerateMethod["downloadPDF"] = 2] = "downloadPDF";
103367
+ FileGenerateMethod[FileGenerateMethod["downloadExcel"] = 3] = "downloadExcel";
103368
+ FileGenerateMethod[FileGenerateMethod["downloadZip"] = 4] = "downloadZip";
103369
+ FileGenerateMethod[FileGenerateMethod["downloadCsv"] = 5] = "downloadCsv";
103370
+ })(FileGenerateMethod || (FileGenerateMethod = {}));
103371
+ function blobToBase64(blob) {
103372
+ return new Promise((resolve, _) => {
103373
+ const reader = new FileReader();
103374
+ reader.onloadend = () => resolve(reader.result);
103375
+ reader.readAsDataURL(blob);
103376
+ });
103377
+ }
103378
+
103379
+ var AnalyticsEventsText;
103380
+ (function (AnalyticsEventsText) {
103381
+ AnalyticsEventsText["ReportType"] = "Event choose report type";
103382
+ AnalyticsEventsText["SelectReport"] = "Event select report";
103383
+ AnalyticsEventsText["Coupons"] = "Coupons";
103384
+ AnalyticsEventsText["SendCouponsToEmail"] = "Send Coupons to Email";
103385
+ AnalyticsEventsText["MarkAsUsed"] = "Mark as used";
103386
+ AnalyticsEventsText["GeneralError"] = "General Error";
103387
+ AnalyticsEventsText["PrintCoupon"] = "Print Coupon";
103388
+ AnalyticsEventsText["DeleteCoupon"] = "Delete Coupon";
103389
+ AnalyticsEventsText["UpdateCoupon"] = "Update Coupon";
103390
+ AnalyticsEventsText["CreateCoupon"] = "Create Coupon";
103391
+ AnalyticsEventsText["CreateCouponClick"] = "Create Coupon click";
103392
+ AnalyticsEventsText["SendCouponsToEmailClick"] = "Send Coupons to Email click";
103393
+ AnalyticsEventsText["CouponsFilterByAccount"] = "Coupons filter by account";
103394
+ AnalyticsEventsText["CouponsFilterBySubAccount"] = "Coupons filter by sub account";
103395
+ AnalyticsEventsText["couponBatchDateValidityChange"] = "Coupon filter by date validity";
103396
+ AnalyticsEventsText["importingMonthlies"] = "Importing monthlies";
103397
+ AnalyticsEventsText["CreateRestrictCar"] = "Create Restrict car";
103398
+ AnalyticsEventsText["UpdateRestrictCar"] = "Update Restrict car";
103399
+ AnalyticsEventsText["DeleteChargeTable"] = "Delete Charge Table";
103400
+ AnalyticsEventsText["DeleteChargeCondition"] = "Delete Charge Condition";
103401
+ AnalyticsEventsText["SearchChargeTable"] = "Search charge table";
103402
+ AnalyticsEventsText["SelectByRelatedToRate"] = "Select by related to rate";
103403
+ AnalyticsEventsText["ViewRateStructure"] = "View Rate Structure";
103404
+ AnalyticsEventsText["AddRateClicked"] = "Add rate clicked";
103405
+ AnalyticsEventsText["CancelAddRate"] = "Cancel add rate";
103406
+ AnalyticsEventsText["MoveToLotRateStructure"] = "Move to lot (rate structure)";
103407
+ AnalyticsEventsText["ViewRateConditions"] = "View rate conditions";
103408
+ AnalyticsEventsText["SearchRateCondition"] = "Search rate conditions";
103409
+ AnalyticsEventsText["SelectConditionByRelatedToRate"] = "Select condition by related to rate";
103410
+ AnalyticsEventsText["ChargeTableNavigation"] = "Charge table navigation";
103411
+ AnalyticsEventsText["DeleteRateCondition"] = "Delete rate condition";
103412
+ AnalyticsEventsText["ReorderRateCondition"] = "Reorder rate condition";
103413
+ AnalyticsEventsText["ChargeConditionReorder"] = "Charge condition reorder";
103414
+ AnalyticsEventsText["SegmentationReorder"] = "Segmentation reorder";
103415
+ AnalyticsEventsText["ChargeConditionAdded"] = "Charge condition added";
103416
+ AnalyticsEventsText["EditRateClicked"] = "Edit rate clicked";
103417
+ AnalyticsEventsText["DuplicateRateClicked"] = "Duplicate rate clicked";
103418
+ AnalyticsEventsText["DeleteRateClicked"] = "Delete rate clicked";
103419
+ AnalyticsEventsText["RateDeleted"] = "Rate deleted";
103420
+ AnalyticsEventsText["RateNumberProtection"] = "Rate number protection";
103421
+ AnalyticsEventsText["CreateTestPlane"] = "Create test plane";
103422
+ AnalyticsEventsText["RerunTestRate"] = "Rerun test rate";
103423
+ AnalyticsEventsText["DeleteChargeSegmentation"] = "Delete charge segmentation";
103424
+ AnalyticsEventsText["EditChargeCondition"] = "Edit charge condition";
103425
+ AnalyticsEventsText["AddConditionRate"] = "Add condition rate";
103426
+ AnalyticsEventsText["RateSettingsUpdated"] = "Rate settings updated";
103427
+ AnalyticsEventsText["DuplicateRateConditions"] = "Duplicate rate conditions";
103428
+ AnalyticsEventsText["EditConditionRate"] = "Edit condition rate";
103429
+ AnalyticsEventsText["HttpError"] = "Http Error";
103430
+ AnalyticsEventsText["EventCreateColor"] = "Event create color";
103431
+ AnalyticsEventsText["EventCreateModel"] = "Event create model";
103432
+ })(AnalyticsEventsText || (AnalyticsEventsText = {}));
103433
+ const ReportMethodDictionary = {
103434
+ [FileGenerateMethod.viewPDF]: `View report PDF`,
103435
+ [FileGenerateMethod.downloadExcel]: `Download report Excel`,
103436
+ [FileGenerateMethod.downloadPDF]: `Download report PDF`,
103437
+ };
103438
+
103439
+ // DOTO: Get the correct list from Product of DeviceTypes that support Restore Ticket
103440
+ const SUPPORETD_RESTORE_TICKET_TYPES = [DeviceType.CashMp, DeviceType.CashReader, DeviceType.Dispenser, DeviceType.EntryPil,
103441
+ DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Reader, DeviceType.ValetStation,
103442
+ DeviceType.Validator, DeviceType.Verifier];
103443
+ const SUPPORTED_PAYMENT_FOR_ISF_TYPES = [DeviceType.Verifier, DeviceType.ExitPil, DeviceType.Credit];
103444
+ const SUPPORTED_GATE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
103445
+ DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
103446
+ const SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
103447
+ DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
103448
+ const SUPPORTED_TICKET_INSIDE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
103449
+ DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Credit, DeviceType.Pof];
103450
+ const SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES = [DeviceType.CashReader, DeviceType.CashMp, DeviceType.Reader,
103451
+ DeviceType.Dispenser, DeviceType.Verifier, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera,
103452
+ DeviceType.ParkBlueGate, DeviceType.Unknown, DeviceType.Master];
103453
+ const SUPPORTED_STATUS_DEVICE_TYPES = [DeviceType.Cash, DeviceType.CashMp, DeviceType.CashReader, DeviceType.Credit,
103454
+ DeviceType.Reader, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Pof, DeviceType.Unknown, DeviceType.ExitPil,
103455
+ DeviceType.EntryPil, DeviceType.ValetStation, DeviceType.Validator, DeviceType.Dispenser, DeviceType.Verifier
103456
+ ];
103457
+ const deviceIndicationStatusLocalization = new Map([
103458
+ [DeviceIndicationStatus.carOnLoop, Localization.car_on_loop],
103459
+ [DeviceIndicationStatus.gateBroken, Localization.gate_broken],
103460
+ [DeviceIndicationStatus.gateUp, Localization.gate_up],
103461
+ [DeviceIndicationStatus.ticketInside, Localization.ticket_inside],
103462
+ ]);
103463
+ const remoteCommandLocalizationMap = new Map([
103464
+ [RemoteCommandTypes$1.PrintTicket, Localization.print_ticket],
103465
+ [RemoteCommandTypes$1.SetPrice, Localization.set_price],
103466
+ [RemoteCommandTypes$1.InsertVirtualTicket, Localization.send_ticket]
103467
+ ]);
103468
+ const entryDevicesLaneTypes = [DeviceLaneTypes.mainEntry, DeviceLaneTypes.subEntry, DeviceLaneTypes.exSubEntry]; // entry devices
103469
+ const exitDevicesLaneTypes = [DeviceLaneTypes.mainExit, DeviceLaneTypes.subExit, DeviceLaneTypes.exSubExit]; // exit devices
103470
+
103471
+ const parentParkEventTypes = [
103472
+ RtEventType.Zone
103473
+ ];
103474
+ const parkEventTypes = [
103475
+ RtEventType.DeviceEvent,
103476
+ RtEventType.DeviceStatus,
103477
+ RtEventType.LPRTransaction,
103478
+ RtEventType.Occupancy,
103479
+ RtEventType.ParkState,
103480
+ RtEventType.Revenue,
103481
+ RtEventType.Zone,
103482
+ ];
103483
+ const parentParkBaseEventTypes = [
103484
+ RtEventType.DynamicPricingCondition,
103485
+ ];
103486
+ const parkBaseEventTypes = [
103487
+ RtEventType.Alert,
103488
+ RtEventType.LostTicket,
103489
+ RtEventType.LPRmismatch,
103490
+ RtEventType.Facility,
103491
+ RtEventType.ServicesStatus,
103492
+ RtEventType.DynamicPricingCondition,
103493
+ ];
103494
+ const rtEventPermissions = {
103495
+ [RtEventType.DeviceStatus]: [PermissionType$2.CcMain],
103496
+ [RtEventType.Occupancy]: [PermissionType$2.CcMain],
103497
+ [RtEventType.Revenue]: [PermissionType$2.CcMain],
103498
+ [RtEventType.Alert]: [PermissionType$2.CcMain],
103499
+ [RtEventType.ParkState]: [PermissionType$2.CcMain],
103500
+ [RtEventType.LPRTransaction]: [PermissionType$2.CcMain],
103501
+ [RtEventType.DeviceEvent]: [PermissionType$2.CcMain],
103502
+ [RtEventType.ServicesStatus]: [PermissionType$2.CcMain],
103503
+ [RtEventType.LPRmismatch]: [PermissionType$2.CcMain],
103504
+ [RtEventType.LostTicket]: [PermissionType$2.CcMain],
103505
+ [RtEventType.Zone]: [PermissionType$2.CcMain],
103506
+ [RtEventType.Facility]: [PermissionType$2.CcMain],
103507
+ [RtEventType.Company]: [PermissionType$2.CcMain],
103508
+ [RtEventType.SubCompany]: [PermissionType$2.CcMain],
103509
+ [RtEventType.FacilityDeleted]: [PermissionType$2.CcMain],
103510
+ [RtEventType.OpenTicketTransaction]: [PermissionType$2.CcMain],
103511
+ [RtEventType.CloseTicketTransaction]: [PermissionType$2.CcMain],
103512
+ [RtEventType.MonthlyTransaction]: [PermissionType$2.CcMain],
103513
+ [RtEventType.GuestTransaction]: [PermissionType$2.CcMain],
103514
+ [RtEventType.PaymentTransaction]: [PermissionType$2.CcMain],
103515
+ [RtEventType.EvoucherTransaction]: [PermissionType$2.CcMain],
103516
+ [RtEventType.ValidationProfile]: [PermissionType$2.CcMain],
103517
+ [RtEventType.DataOnCloud]: [PermissionType$2.CcMain],
103518
+ [RtEventType.DynamicPricingCondition]: [PermissionType$2.SetActiveRate],
103519
+ };
103520
+
103521
+ // Constants
103522
+
103523
+ function decryptClientSecret(encryptedSecret, encryptionKey) {
103524
+ let decryptedSecret = null;
103525
+ if (encryptedSecret?.length > 0) {
103526
+ var key_iv = encryptedSecret.split("#");
103527
+ let key;
103528
+ let iv;
103529
+ if (key_iv.length == 2) {
103530
+ key = CryptoJS.enc.Utf8.parse(key_iv[0]);
103531
+ iv = CryptoJS.enc.Utf8.parse(key_iv[0]);
103532
+ }
103533
+ else {
103534
+ key = CryptoJS.enc.Utf8.parse(encryptionKey);
103535
+ iv = CryptoJS.enc.Hex.parse(AES_DEFAULT_IV);
103536
+ }
103537
+ // Perform decryption
103538
+ const decrypted = CryptoJS.AES.decrypt(encryptedSecret, key, {
103539
+ iv: iv,
103540
+ mode: CryptoJS.mode.CBC,
103541
+ padding: CryptoJS.pad.Pkcs7
103542
+ });
103543
+ // Return the decrypted data as a UTF-8 string
103544
+ decryptedSecret = decrypted.toString(CryptoJS.enc.Utf8);
103545
+ }
103546
+ return decryptedSecret;
103547
+ }
103548
+
103549
+ function arraysAreDifferent(prev, curr) {
103550
+ return !_.isEqual(prev, curr);
103551
+ }
103552
+
103553
+ function isBoolean(value) {
103554
+ switch (value) {
103555
+ case true:
103556
+ case 'true':
103557
+ case 1:
103558
+ case '1':
103559
+ return true;
103560
+ default:
103561
+ return false;
103562
+ }
103563
+ }
103564
+
103565
+ function getDefaultDeviceStatus(device) {
103566
+ return new DeviceStatusDto({
103567
+ aggregatedStatus: AggregatedStatus.ERROR,
103568
+ barriers: [],
103569
+ buttons: [],
103570
+ deviceID: device?.id,
103571
+ communicationPercentage: 0,
103572
+ creditMode: null,
103573
+ isCashSupported: false,
103574
+ isCreditServerConnected: false,
103575
+ isConnected: false,
103576
+ loops: [],
103577
+ mode: null,
103578
+ name: device?.name,
103579
+ printers: [],
103580
+ saf: null,
103581
+ secondaryComStatus: null,
103582
+ type: device?.type,
103583
+ version: null,
103584
+ zone: device?.zoneID,
103585
+ barrier: null,
103586
+ billDispenser: null,
103587
+ billRecycler: null,
103588
+ billValidator: null,
103589
+ bytesPerSecond: null,
103590
+ centralSafe: null,
103591
+ coinInLane: null,
103592
+ devicePerSecond: null,
103593
+ doorControllerConnected: null,
103594
+ doorSensors: null,
103595
+ doorStatus: null,
103596
+ fullGateController: null,
103597
+ hoppers: null,
103598
+ isInternet: null,
103599
+ printer: null,
103600
+ commID: device?.commID,
103601
+ relays: null,
103602
+ swallowUnit: null,
103603
+ swallowUnits: null,
103604
+ switch: null,
103605
+ laneRecognition: null,
103606
+ });
103607
+ }
103608
+ function filterDevicesByTypes(array, filterByList) {
103609
+ if (!array || !array.length) {
103610
+ return [];
103611
+ }
103612
+ if (!filterByList || !filterByList.length) {
103613
+ return array;
103614
+ }
103615
+ let filteredList = [];
103616
+ for (const filterBy of filterByList) {
103617
+ filteredList = filteredList.concat(array.filter(item => isDeviceInFilterDeviceTypes(item, filterBy)));
103618
+ }
103619
+ return Array.from(new Set(filteredList));
103620
+ }
103621
+ function isDeviceInFiltersDeviceTypes(device, filterBys) {
103622
+ for (const filterBy of filterBys) {
103623
+ if (isDeviceInFilterDeviceTypes(device, filterBy)) {
103624
+ return true;
103625
+ }
103626
+ }
103627
+ return false;
103628
+ }
103629
+ function isDeviceInFilterDeviceTypes(device, filterBy) {
103630
+ switch (filterBy) {
103631
+ // entry
103632
+ case FilterByDeviceType.device_filter_by_dispenser:
103633
+ return device.type === DeviceType.Dispenser;
103634
+ case FilterByDeviceType.device_filter_by_entry_pil:
103635
+ return device.type === DeviceType.EntryPil;
103636
+ case FilterByDeviceType.device_filter_by_entry_au_slim:
103637
+ return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainEntry) ||
103638
+ (device.laneType === DeviceLaneTypes.subEntry) ||
103639
+ (device.laneType === DeviceLaneTypes.exSubEntry));
103640
+ // exit
103641
+ case FilterByDeviceType.device_filter_by_verifier:
103642
+ return device.type === DeviceType.Verifier;
103643
+ case FilterByDeviceType.device_filter_by_exit_pil:
103644
+ return device.type === DeviceType.ExitPil;
103645
+ case FilterByDeviceType.device_filter_by_exit_au_slim:
103646
+ return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainExit) ||
103647
+ (device.laneType === DeviceLaneTypes.subExit) ||
103648
+ (device.laneType === DeviceLaneTypes.exSubExit));
103649
+ // payment
103650
+ case FilterByDeviceType.device_filter_by_pay_in_lane:
103651
+ return device.type === DeviceType.EntryPil || device.type === DeviceType.ExitPil;
103652
+ case FilterByDeviceType.device_filter_by_lobby_station:
103653
+ return device.type === DeviceType.Credit || device.type === DeviceType.Pof;
103654
+ // other
103655
+ case FilterByDeviceType.device_filter_by_main_controller:
103656
+ return device.type === DeviceType.Cash && device.commID === 0;
103657
+ case FilterByDeviceType.device_filter_by_cashier_station:
103658
+ return device.type === DeviceType.Cash && device.commID > 0;
103659
+ case FilterByDeviceType.device_filter_by_valet_station:
103660
+ return device.type === DeviceType.ValetStation;
103661
+ case FilterByDeviceType.device_filter_by_validator:
103662
+ return device.type === DeviceType.Validator;
103663
+ case FilterByDeviceType.device_filter_by_lpr_camera:
103664
+ return device.type === DeviceType.LprCamera;
103665
+ default:
103666
+ return true;
103667
+ }
103668
+ }
103669
+ function matchesDevicesParkingLotCriteria(entities, searchValue = '') {
103670
+ const search = searchValue.toLowerCase();
103671
+ return entities.filter(entity => {
103672
+ if (entity.isChild) {
103673
+ return matchesDeviceParkingLotCriteria(entity, search);
103674
+ }
103675
+ else {
103676
+ return entity['children'].filter(e => matchesDeviceParkingLotCriteria(e, search)).length > 0;
103677
+ }
103678
+ });
103679
+ }
103680
+ function matchesDeviceParkingLotCriteria(entity, searchValue) {
103681
+ return entity.device?.name.toLowerCase().includes(searchValue) ||
103682
+ entity.device?.commID.toString().includes(searchValue) ||
103683
+ entity.zone?.name.toLowerCase().includes(searchValue) ||
103684
+ entity.parkName?.toLowerCase().includes(searchValue);
103685
+ }
103686
+ function matchesDeviceCriteria(entity, searchValue) {
103687
+ return entity.name.toLowerCase().includes(searchValue) ||
103688
+ entity.commID.toString().includes(searchValue) ||
103689
+ entity.zone?.name.toLowerCase().includes(searchValue) ||
103690
+ entity.parkName?.toLowerCase().includes(searchValue);
103691
+ }
103692
+
103693
+ function setErrorMessage(formName, controlName, event) {
103694
+ if (event) {
103695
+ formName.get(controlName).setErrors(event);
103696
+ formName.get(controlName).markAsTouched();
103697
+ }
103698
+ }
103699
+
103700
+ function hasRequiredField(abstractControl) {
103701
+ return abstractControl?.hasValidator(Validators.required);
103702
+ }
103703
+
103704
+ function safeParse(jsonString) {
103705
+ try {
103706
+ const value = JSON.parse(jsonString);
103707
+ return { success: true, value };
103708
+ }
103709
+ catch (error) {
103710
+ return { success: false, error: error.message };
103711
+ }
103712
+ }
103713
+
103714
+ function getCurrentLang(userSettings) {
103715
+ const value = userSettings?.get(SettingsCategory$3.Localization);
103716
+ return value?.keyName ?? LOCAL_ENGLISH_LANGUAGE;
103717
+ }
103718
+
103719
+ const Migrations = [
103720
+ {
103721
+ version: '7.3.5',
103722
+ name: 'setApplicationField',
103723
+ up: () => {
103724
+ const session = JSON.parse(localStorage.getItem(SESSION));
103725
+ if (!session.application) {
103726
+ session.application = { version: session.version, releaseDate: session.releaseDate, features: session.features };
103727
+ delete session.version;
103728
+ delete session.releaseDate;
103729
+ delete session.features;
103730
+ localStorage.setItem(SESSION, JSON.stringify(session));
103731
+ }
103732
+ },
103733
+ },
103734
+ {
103735
+ version: '7.3.5',
103736
+ name: 'sessionByTenantName',
103737
+ up: () => {
103738
+ const session = JSON.parse(localStorage.getItem(SESSION));
103739
+ if (!session.sparkSessions) {
103740
+ session.sparkSessions = { [session.tenant.tenantName.toLowerCase()]: { tenant: session.tenant, user: session.user } };
103741
+ delete session.tenant;
103742
+ delete session.user;
103743
+ localStorage.setItem(SESSION, JSON.stringify(session));
103744
+ }
103745
+ },
103746
+ },
103747
+ ];
103748
+ function LocalStorageMigrator() {
103749
+ const session = JSON.parse(localStorage.getItem(SESSION));
103750
+ const version = session.application?.version || session?.version;
103751
+ if (version) {
103752
+ console.debug('Running local storage migration');
103753
+ Migrations.filter(mig => version < mig.version).forEach(m => m.up());
103754
+ }
103755
+ }
103756
+
103757
+ const whiteListUrls = [
103758
+ 'openid-callback'
103759
+ ];
103760
+ class LowerCaseUrlSerializer extends DefaultUrlSerializer {
103761
+ parse(url) {
103762
+ if (whiteListUrls.some(substring => url.includes(substring))) {
103763
+ return super.parse(url);
103764
+ }
103765
+ const url_query = url.split('?');
103766
+ if (url_query.length > 1) {
103767
+ url = url.replace(url_query[0], url_query[0].toLowerCase());
103768
+ return super.parse(url);
103769
+ }
103770
+ else {
103771
+ return super.parse(url.toLowerCase());
103772
+ }
103773
+ }
103774
+ }
103775
+
103776
+ const META_KEY = 'METADATA';
103777
+ function getObjectMetadata(target) {
103778
+ return target[META_KEY];
103779
+ }
103780
+ function ensureObjectMetadata(target) {
103781
+ if (!target.hasOwnProperty(META_KEY)) {
103782
+ Object.defineProperty(target, META_KEY, { value: {} });
103783
+ }
103784
+ return getObjectMetadata(target);
103785
+ }
103786
+ const createDescriptor = (value) => ({
103787
+ value,
103788
+ enumerable: false,
103789
+ configurable: true,
103790
+ writable: true,
103791
+ });
103792
+ // tslint:disable-next-line:ban-types
103793
+ function wrapConstructor(targetClass, constructorCallback) {
103794
+ // create a new wrapped constructor
103795
+ const wrappedConstructor = function () {
103796
+ constructorCallback.apply(this, arguments);
103797
+ return targetClass.apply(this, arguments);
103798
+ };
103799
+ Object.defineProperty(wrappedConstructor, 'name', { value: targetClass });
103800
+ // copy prototype so intanceof operator still works
103801
+ wrappedConstructor.prototype = targetClass.prototype;
103802
+ // return new constructor (will override original)
103803
+ return wrappedConstructor;
103804
+ }
103805
+
103806
+ const MainModuleToSubModulesPermissionTypeMap = {
103807
+ [PermissionType$2.CcMain]: [],
103808
+ [PermissionType$2.AccountManagementMain]: [PermissionType$2.AccountManagementAccountView, PermissionType$2.AccountManagementAccountCreate, PermissionType$2.AccountManagementAccountUpdate, PermissionType$2.AccountManagementAccountDelete],
103809
+ [PermissionType$2.MonthliesMain]: [PermissionType$2.MonthliesView, PermissionType$2.MonthliesCreate, PermissionType$2.MonthliesUpdate, PermissionType$2.MonthliesDelete, PermissionType$2.MonthlySeriesCreate],
103810
+ [PermissionType$2.GuestMain]: [
103811
+ PermissionType$2.GuestView, PermissionType$2.GuestCreate, PermissionType$2.GuestUpdate, PermissionType$2.GuestDelete, PermissionType$2.GuestGroupView,
103812
+ PermissionType$2.GuestGroupCreate, PermissionType$2.GuestHotelGuestView, PermissionType$2.HotelGuestIOCreate, PermissionType$2.GuestEVoucherView,
103813
+ PermissionType$2.HotelGuestIOView
103814
+ ],
103815
+ [PermissionType$2.ValidationMain]: [
103816
+ PermissionType$2.ValidationEValidationView, PermissionType$2.ValidationEValidationCreate, PermissionType$2.ValidationEValidationUpdate, PermissionType$2.ValidationEValidationDelete,
103817
+ PermissionType$2.ValidationStickerView, PermissionType$2.ValidationStickerCreate, PermissionType$2.ValidationStickerUpdate, PermissionType$2.ValidationStickerDelete,
103818
+ PermissionType$2.ValidationCouponView, PermissionType$2.ValidationCouponCreate, PermissionType$2.ValidationCouponUpdate, PermissionType$2.ValidationCouponDelete,
103819
+ PermissionType$2.ValidationSelfValidationView, PermissionType$2.ValidationSelfValidationCreate, PermissionType$2.ValidationSelfValidationUpdate, PermissionType$2.ValidationSelfValidationDelete
103820
+ ],
103821
+ [PermissionType$2.ReportsMain]: [],
103822
+ [PermissionType$2.LotConfigurationMain]: [PermissionType$2.LotConfigurationRates, PermissionType$2.LotConfigurationScheduler, PermissionType$2.LotConfigurationValidationProfile, PermissionType$2.LotConfigurationAccessProfile, PermissionType$2.LotConfigurationDynamicPricing, PermissionType$2.LotConfigurationCashierManagement],
103823
+ [PermissionType$2.TenantSettingsMain]: [PermissionType$2.ManagementAdmin],
103824
+ [PermissionType$2.ECommerceBackofficeMain]: [PermissionType$2.ECommerceAdmin, PermissionType$2.ECommerceRegular]
103825
+ };
103826
+ const AppModuleToMainPermissionTypeMap = {
103827
+ [AppModule$3.Cc]: PermissionType$2.CcMain,
103828
+ [AppModule$3.Accounts]: PermissionType$2.AccountManagementMain,
103829
+ [AppModule$3.Monthlies]: PermissionType$2.MonthliesMain,
103830
+ [AppModule$3.Guests]: PermissionType$2.GuestMain,
103831
+ [AppModule$3.Validation]: PermissionType$2.ValidationMain,
103832
+ [AppModule$3.Reports]: PermissionType$2.ReportsMain,
103833
+ [AppModule$3.LotConfiguration]: PermissionType$2.LotConfigurationMain,
103834
+ [AppModule$3.Management]: PermissionType$2.TenantSettingsMain,
103835
+ [AppModule$3.ECommerceBackoffice]: PermissionType$2.ECommerceBackofficeMain,
103836
+ };
103837
+
103838
+ const extractNumber = (input) => {
103839
+ const parsedNumber = +input;
103840
+ return isNullOrEmpty(input) || isNaN(parsedNumber) ? null : parsedNumber;
103841
+ };
103842
+ const isSingularOrPlural = (numberOfMonth) => numberOfMonth <= 1;
103843
+
103844
+ function parkerEnumToText(tag) {
103845
+ return ParkerTagsText[ParkerTag[tag]];
103846
+ }
103847
+
103848
+ function getParkerTypesText(parkerType) {
103849
+ return ParkerTypesText[ParkerTicketType[parkerType]];
103850
+ }
103851
+ function mapTransientTags(parkerTags, isStolenTicket, isBackOutTicket, isOfflineTicket, translateService) {
103852
+ const tags = parkerTags.map(tag => parkerEnumToText(tag)).map(tag => translateService.instant(tag));
103853
+ if (isBackOutTicket) {
103854
+ tags.push(translateService.instant(Localization.backout_ticket));
103855
+ }
103856
+ if (isStolenTicket) {
103857
+ tags.push(translateService.instant(Localization.stolen_ticket));
103858
+ }
103859
+ if (isOfflineTicket) {
103860
+ tags.push(translateService.instant(Localization.offline));
103861
+ }
103862
+ return tags.join(', ');
103863
+ }
103864
+
103865
+ function getPasswordMinimalLength(userInfo) {
103866
+ let pml = DEFAULT_MINIMUM_LENGTH;
103867
+ let tenantSession = null;
103868
+ const sparkSession = JSON.parse(localStorage.getItem(SESSION))?.sparkSessions;
103869
+ const tenantName = sessionStorage.getItem(TENANT_KEY);
103870
+ if (sparkSession) {
103871
+ tenantSession = sparkSession[tenantName];
103872
+ // Update password in user setting
103873
+ if (tenantSession) {
103874
+ pml = tenantSession.appConfiguration?.pml;
103875
+ }
103876
+ // Update password in forgot password
103877
+ else {
103878
+ pml = userInfo.pml;
103879
+ }
103880
+ }
103881
+ return pml;
103882
+ }
103883
+
103884
+ const MAX_RESULTS = 100;
103885
+ function GenerateSearchParamsDto({ maxResults = MAX_RESULTS, searchTerm = '', column = 'Id', orderDirection = OrderDirection.Desc }) {
103886
+ return new SearchParamsDto({
103887
+ maxResults,
103888
+ searchTerm,
103889
+ orderBy: new OrderByDto({
103890
+ column,
103891
+ orderDirection
103892
+ })
103893
+ });
103894
+ }
103895
+
103896
+ function compareValues(valueA, valueB, isAsc) {
103897
+ // Convert display nulls to actual nulls
103898
+ valueA = valueA === '-' ? null : valueA;
103899
+ valueB = valueB === '-' ? null : valueB;
103900
+ // Handle null/undefined values first
103901
+ if (valueA == null && valueB == null)
103902
+ return 0;
103903
+ if (valueA == null)
103904
+ return isAsc ? 1 : -1; // null values go to end
103905
+ if (valueB == null)
103906
+ return isAsc ? -1 : 1;
103907
+ const keyType = typeof valueA;
103908
+ const multiplier = isAsc ? 1 : -1;
103909
+ switch (keyType) {
103910
+ case 'string':
103911
+ return valueA.localeCompare(valueB, ENGLISH_LANGUAGE, { numeric: true }) * multiplier;
103912
+ case 'number':
103913
+ default:
103914
+ return (valueA - valueB) * multiplier;
103915
+ }
103916
+ }
103917
+
103918
+ function isVersionGreaterThanEqual(currentSparkVersion, sparkVersion) {
103919
+ return currentSparkVersion && sparkVersion && versionValue(currentSparkVersion) >= versionValue(sparkVersion);
103920
+ }
103921
+ // the assumption is that we have major.minor.patch
103922
+ function versionValue(version) {
103923
+ const delimiter = '.';
103924
+ var tmp = version.split(delimiter);
103925
+ return (+tmp[0] * 100) + (+tmp[1] * 10) + +tmp[2];
103926
+ }
103927
+
103928
+ function getTooltipTextByParkerType(tooltipOption, isSearchValidation = false) {
103929
+ const ticketsSpecifications = tooltipOption.tenantService.ticketsSpecifications;
103930
+ const parkerTicketTypeText = lowerCaseFirstLetter(ParkerTicketType[tooltipOption.searchType]);
103931
+ let message = Localization.entity_no_result_hint;
103932
+ const interpolateParams = {
103933
+ entity: parkerTicketTypeText,
103934
+ valueFrom: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo,
103935
+ valueTo: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead,
103936
+ durationFirst: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo) ?
103937
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
103938
+ tooltipOption.translateService.instant(Localization.time_ago_months),
103939
+ durationSecond: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead) ?
103940
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
103941
+ tooltipOption.translateService.instant(Localization.time_ago_months),
103942
+ };
103943
+ switch (tooltipOption.searchType) {
103944
+ case ParkerTicketType.Transient:
103945
+ if (isSearchValidation) {
103946
+ interpolateParams.valueOpenTransient = ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo;
103947
+ interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo) ?
103948
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
103949
+ tooltipOption.translateService.instant(Localization.time_ago_months);
103950
+ break;
103951
+ }
103952
+ message = Localization.transients_no_result_hint;
103953
+ interpolateParams.valueOpenTransient = ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo;
103954
+ interpolateParams.valueClosedTransient = ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo;
103955
+ interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo) ?
103956
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
103957
+ tooltipOption.translateService.instant(Localization.time_ago_months);
103958
+ interpolateParams.durationSecond = isSingularOrPlural(ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo) ?
103959
+ tooltipOption.translateService.instant(Localization.time_ago_month) :
103960
+ tooltipOption.translateService.instant(Localization.time_ago_months);
103961
+ break;
103962
+ case ParkerTicketType.EVoucher:
103963
+ break;
103964
+ case ParkerTicketType.Guest:
103965
+ interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
103966
+ break;
103967
+ case ParkerTicketType.CardOnFile:
103968
+ interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
103969
+ break;
103970
+ default:
103971
+ return null;
103972
+ }
103973
+ message = tooltipOption.translateMessage ? tooltipOption.translateMessage : message; // can be overriden in special cases
103974
+ return tooltipOption.translateService.instant(message, interpolateParams);
103975
+ }
103976
+
103977
+ var RangeModes;
103978
+ (function (RangeModes) {
103979
+ RangeModes[RangeModes["byDate"] = 1] = "byDate";
103980
+ RangeModes[RangeModes["byZ"] = 2] = "byZ";
103981
+ })(RangeModes || (RangeModes = {}));
103982
+ var RangeModesText;
103983
+ (function (RangeModesText) {
103984
+ RangeModesText["byDate"] = "by_date";
103985
+ RangeModesText["byZ"] = "by_z";
103986
+ })(RangeModesText || (RangeModesText = {}));
103987
+
103988
+ // NGXS
103989
+
103298
103990
  var CommandNotificationType;
103299
103991
  (function (CommandNotificationType) {
103300
103992
  CommandNotificationType[CommandNotificationType["Error"] = 1] = "Error";
@@ -103826,56 +104518,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
103826
104518
  type: Injectable
103827
104519
  }], ctorParameters: () => [{ type: i1$2.Store }] });
103828
104520
 
103829
- const parentParkEventTypes = [
103830
- RtEventType.Zone
103831
- ];
103832
- const parkEventTypes = [
103833
- RtEventType.DeviceEvent,
103834
- RtEventType.DeviceStatus,
103835
- RtEventType.LPRTransaction,
103836
- RtEventType.Occupancy,
103837
- RtEventType.ParkState,
103838
- RtEventType.Revenue,
103839
- RtEventType.Zone,
103840
- ];
103841
- const parentParkBaseEventTypes = [
103842
- RtEventType.DynamicPricingCondition,
103843
- ];
103844
- const parkBaseEventTypes = [
103845
- RtEventType.Alert,
103846
- RtEventType.LostTicket,
103847
- RtEventType.LPRmismatch,
103848
- RtEventType.Facility,
103849
- RtEventType.ServicesStatus,
103850
- RtEventType.DynamicPricingCondition,
103851
- ];
103852
- const rtEventPermissions = {
103853
- [RtEventType.DeviceStatus]: [PermissionType$2.CcMain],
103854
- [RtEventType.Occupancy]: [PermissionType$2.CcMain],
103855
- [RtEventType.Revenue]: [PermissionType$2.CcMain],
103856
- [RtEventType.Alert]: [PermissionType$2.CcMain],
103857
- [RtEventType.ParkState]: [PermissionType$2.CcMain],
103858
- [RtEventType.LPRTransaction]: [PermissionType$2.CcMain],
103859
- [RtEventType.DeviceEvent]: [PermissionType$2.CcMain],
103860
- [RtEventType.ServicesStatus]: [PermissionType$2.CcMain],
103861
- [RtEventType.LPRmismatch]: [PermissionType$2.CcMain],
103862
- [RtEventType.LostTicket]: [PermissionType$2.CcMain],
103863
- [RtEventType.Zone]: [PermissionType$2.CcMain],
103864
- [RtEventType.Facility]: [PermissionType$2.CcMain],
103865
- [RtEventType.Company]: [PermissionType$2.CcMain],
103866
- [RtEventType.SubCompany]: [PermissionType$2.CcMain],
103867
- [RtEventType.FacilityDeleted]: [PermissionType$2.CcMain],
103868
- [RtEventType.OpenTicketTransaction]: [PermissionType$2.CcMain],
103869
- [RtEventType.CloseTicketTransaction]: [PermissionType$2.CcMain],
103870
- [RtEventType.MonthlyTransaction]: [PermissionType$2.CcMain],
103871
- [RtEventType.GuestTransaction]: [PermissionType$2.CcMain],
103872
- [RtEventType.PaymentTransaction]: [PermissionType$2.CcMain],
103873
- [RtEventType.EvoucherTransaction]: [PermissionType$2.CcMain],
103874
- [RtEventType.ValidationProfile]: [PermissionType$2.CcMain],
103875
- [RtEventType.DataOnCloud]: [PermissionType$2.CcMain],
103876
- [RtEventType.DynamicPricingCondition]: [PermissionType$2.SetActiveRate],
103877
- };
103878
-
103879
104521
  class RealtimeEventService {
103880
104522
  constructor(store, sessionStorageService) {
103881
104523
  this.store = store;
@@ -105808,38 +106450,38 @@ let FacilityState = class FacilityState {
105808
106450
  });
105809
106451
  }
105810
106452
  handleSmartCounter(zone) {
105811
- //"[{"VehicleClassId":1,"Counter":31,"ZoneId":10},{"VehicleClassId":2,"Counter":25,"ZoneId":10}]"
105812
- //"[{\"VehicleTypeId\":1,\"Counter\":10,\"ZoneId\":10},{\"VehicleTypeId\":2,\"Counter\":10,\"ZoneId\":10}]"
105813
106453
  try {
105814
- if (zone?.smartCounterVehicleClassJson) {
105815
- const smartCounterVehicleClass = JSON.parse(zone.smartCounterVehicleClassJson);
105816
- if (!Array.isArray(smartCounterVehicleClass)) {
105817
- throw new Error("Parsed JSON smartCounterVehicleClass is not an array");
105818
- }
105819
- zone.smartZoneCounterVehicleClass = smartCounterVehicleClass.map(sc => {
105820
- return SmartZoneCounterVehicleClassDto.fromJS({
105821
- counter: sc.Counter,
105822
- zoneId: zone.id,
105823
- vehicleClassId: sc.VehicleClassId,
105824
- });
105825
- });
105826
- }
105827
106454
  if (zone?.smartCounterVehicleTypeJson) {
105828
- const smartCounterVehicleType = JSON.parse(zone.smartCounterVehicleTypeJson);
106455
+ const parsedJson = JSON.parse(zone.smartCounterVehicleTypeJson);
106456
+ const smartCounterVehicleType = objectKeystoLowerCase(parsedJson);
105829
106457
  if (!Array.isArray(smartCounterVehicleType)) {
105830
- throw new Error("Parsed JSON smartCounterVehicleType is not an array");
105831
- }
105832
- zone.smartZoneCounterVehicleType = smartCounterVehicleType.map(sc => {
105833
- return SmartZoneCounterVehicleTypeDto.fromJS({
105834
- counter: sc.Counter,
105835
- zoneId: zone.id,
105836
- vehicleTypeId: sc.VehicleTypeId,
105837
- });
106458
+ throw new Error('Parsed JSON smartCounterVehicleType is not an array');
106459
+ }
106460
+ zone.smartZoneCounterVehicleType = smartCounterVehicleType.map((sc) => {
106461
+ const smartZoneCounterVehicleTypeDto = new SmartZoneCounterVehicleTypeDto();
106462
+ smartZoneCounterVehicleTypeDto.counter = sc.counter;
106463
+ smartZoneCounterVehicleTypeDto.zoneId = zone.id;
106464
+ smartZoneCounterVehicleTypeDto.vehicleTypeId = sc.vehicletypeid;
106465
+ return smartZoneCounterVehicleTypeDto;
106466
+ });
106467
+ }
106468
+ if (zone?.smartCounterVehicleClassJson) {
106469
+ const parsedJson = JSON.parse(zone.smartCounterVehicleClassJson);
106470
+ const smartCounterVehicleClass = objectKeystoLowerCase(parsedJson);
106471
+ if (!Array.isArray(smartCounterVehicleClass)) {
106472
+ throw new Error('Parsed JSON smartCounterVehicleClass is not an array');
106473
+ }
106474
+ zone.smartZoneCounterVehicleClass = smartCounterVehicleClass.map((sc) => {
106475
+ const smartZoneCounterVehicleClassDto = new SmartZoneCounterVehicleClassDto();
106476
+ smartZoneCounterVehicleClassDto.counter = sc.counter;
106477
+ smartZoneCounterVehicleClassDto.zoneId = zone.id;
106478
+ smartZoneCounterVehicleClassDto.vehicleClassId = sc.vehicleclassid;
106479
+ return smartZoneCounterVehicleClassDto;
105838
106480
  });
105839
106481
  }
105840
106482
  }
105841
106483
  catch (error) {
105842
- console.error("Failed to parse smartCounterJson:", error);
106484
+ console.error('Failed to parse smartCounterJson:', error);
105843
106485
  zone.smartZoneCounterVehicleClass = [];
105844
106486
  zone.smartZoneCounterVehicleType = [];
105845
106487
  }
@@ -106485,166 +107127,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
106485
107127
  type: Injectable
106486
107128
  }], ctorParameters: () => [{ type: i1$2.Store }, { type: BaseFacilityCommandsService }, { type: LocalStorageService }, { type: FacilityMenuService }, { type: FacilityRpcServiceProxy }, { type: RemoteCommandRpcServiceProxy }, { type: GroupRpcServiceProxy }, { type: CategoryRpcServiceProxy }, { type: JobTitleRpcServiceProxy }, { type: ZoneRpcServiceProxy }, { type: ZRpcServiceProxy }, { 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: [], onLoadAccountManagementGuestGroupsAction: [], onLoadReportsGuestGroupsAction: [], onLoadCategoriesAction: [], onLoadReportsJobTitlesAction: [], onLoadAccountManagementJobTitlesAction: [], onLoadReportsZonesAction: [], onLoadAccessProfileZZonesAction: [], onLoadCcMainZonesAction: [], onLoadZsAction: [], onClearGroupsAction: [], onClearCategoriesAction: [], onClearJobTitlesAction: [], onClearZonesAction: [], onClearZsAction: [], onSetSelectedParkAction: [], onClearSelectedFacilityAction: [], onClearInactiveSelectedParkAction: [], onFacilityRemoteCommandExecutedAction: [], onLoadMacroCommandsAction: [], onClearMacroCommandsAction: [] } });
106487
107129
 
106488
- // DOTO: Get the correct list from Product of DeviceTypes that support Restore Ticket
106489
- const SUPPORETD_RESTORE_TICKET_TYPES = [DeviceType.CashMp, DeviceType.CashReader, DeviceType.Dispenser, DeviceType.EntryPil,
106490
- DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Reader, DeviceType.ValetStation,
106491
- DeviceType.Validator, DeviceType.Verifier];
106492
- const SUPPORTED_PAYMENT_FOR_ISF_TYPES = [DeviceType.Verifier, DeviceType.ExitPil, DeviceType.Credit];
106493
- const SUPPORTED_GATE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
106494
- DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
106495
- const SUPPORTED_CAR_ON_LOOP_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
106496
- DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera];
106497
- const SUPPORTED_TICKET_INSIDE_DEVICE_TYPES = [DeviceType.Reader, DeviceType.Verifier, DeviceType.Dispenser,
106498
- DeviceType.CashReader, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera, DeviceType.Credit, DeviceType.Pof];
106499
- const SUPPORTED_LPR_TRANSACTIONS_DEVICE_TYPES = [DeviceType.CashReader, DeviceType.CashMp, DeviceType.Reader,
106500
- DeviceType.Dispenser, DeviceType.Verifier, DeviceType.EntryPil, DeviceType.ExitPil, DeviceType.LprCamera,
106501
- DeviceType.ParkBlueGate, DeviceType.Unknown, DeviceType.Master];
106502
- const SUPPORTED_STATUS_DEVICE_TYPES = [DeviceType.Cash, DeviceType.CashMp, DeviceType.CashReader, DeviceType.Credit,
106503
- DeviceType.Reader, DeviceType.Master, DeviceType.ParkBlueGate, DeviceType.Pof, DeviceType.Unknown, DeviceType.ExitPil,
106504
- DeviceType.EntryPil, DeviceType.ValetStation, DeviceType.Validator, DeviceType.Dispenser, DeviceType.Verifier
106505
- ];
106506
- const deviceIndicationStatusLocalization = new Map([
106507
- [DeviceIndicationStatus.carOnLoop, Localization.car_on_loop],
106508
- [DeviceIndicationStatus.gateBroken, Localization.gate_broken],
106509
- [DeviceIndicationStatus.gateUp, Localization.gate_up],
106510
- [DeviceIndicationStatus.ticketInside, Localization.ticket_inside],
106511
- ]);
106512
- const remoteCommandLocalizationMap = new Map([
106513
- [RemoteCommandTypes$1.PrintTicket, Localization.print_ticket],
106514
- [RemoteCommandTypes$1.SetPrice, Localization.set_price],
106515
- [RemoteCommandTypes$1.InsertVirtualTicket, Localization.send_ticket]
106516
- ]);
106517
- const entryDevicesLaneTypes = [DeviceLaneTypes.mainEntry, DeviceLaneTypes.subEntry, DeviceLaneTypes.exSubEntry]; // entry devices
106518
- const exitDevicesLaneTypes = [DeviceLaneTypes.mainExit, DeviceLaneTypes.subExit, DeviceLaneTypes.exSubExit]; // exit devices
106519
-
106520
- function getDefaultDeviceStatus(device) {
106521
- return new DeviceStatusDto({
106522
- aggregatedStatus: AggregatedStatus.ERROR,
106523
- barriers: [],
106524
- buttons: [],
106525
- deviceID: device?.id,
106526
- communicationPercentage: 0,
106527
- creditMode: null,
106528
- isCashSupported: false,
106529
- isCreditServerConnected: false,
106530
- isConnected: false,
106531
- loops: [],
106532
- mode: null,
106533
- name: device?.name,
106534
- printers: [],
106535
- saf: null,
106536
- secondaryComStatus: null,
106537
- type: device?.type,
106538
- version: null,
106539
- zone: device?.zoneID,
106540
- barrier: null,
106541
- billDispenser: null,
106542
- billRecycler: null,
106543
- billValidator: null,
106544
- bytesPerSecond: null,
106545
- centralSafe: null,
106546
- coinInLane: null,
106547
- devicePerSecond: null,
106548
- doorControllerConnected: null,
106549
- doorSensors: null,
106550
- doorStatus: null,
106551
- fullGateController: null,
106552
- hoppers: null,
106553
- isInternet: null,
106554
- printer: null,
106555
- commID: device?.commID,
106556
- relays: null,
106557
- swallowUnit: null,
106558
- swallowUnits: null,
106559
- switch: null,
106560
- laneRecognition: null,
106561
- });
106562
- }
106563
- function filterDevicesByTypes(array, filterByList) {
106564
- if (!array || !array.length) {
106565
- return [];
106566
- }
106567
- if (!filterByList || !filterByList.length) {
106568
- return array;
106569
- }
106570
- let filteredList = [];
106571
- for (const filterBy of filterByList) {
106572
- filteredList = filteredList.concat(array.filter(item => isDeviceInFilterDeviceTypes(item, filterBy)));
106573
- }
106574
- return Array.from(new Set(filteredList));
106575
- }
106576
- function isDeviceInFiltersDeviceTypes(device, filterBys) {
106577
- for (const filterBy of filterBys) {
106578
- if (isDeviceInFilterDeviceTypes(device, filterBy)) {
106579
- return true;
106580
- }
106581
- }
106582
- return false;
106583
- }
106584
- function isDeviceInFilterDeviceTypes(device, filterBy) {
106585
- switch (filterBy) {
106586
- // entry
106587
- case FilterByDeviceType.device_filter_by_dispenser:
106588
- return device.type === DeviceType.Dispenser;
106589
- case FilterByDeviceType.device_filter_by_entry_pil:
106590
- return device.type === DeviceType.EntryPil;
106591
- case FilterByDeviceType.device_filter_by_entry_au_slim:
106592
- return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainEntry) ||
106593
- (device.laneType === DeviceLaneTypes.subEntry) ||
106594
- (device.laneType === DeviceLaneTypes.exSubEntry));
106595
- // exit
106596
- case FilterByDeviceType.device_filter_by_verifier:
106597
- return device.type === DeviceType.Verifier;
106598
- case FilterByDeviceType.device_filter_by_exit_pil:
106599
- return device.type === DeviceType.ExitPil;
106600
- case FilterByDeviceType.device_filter_by_exit_au_slim:
106601
- return device.type === DeviceType.Reader && ((device.laneType === DeviceLaneTypes.mainExit) ||
106602
- (device.laneType === DeviceLaneTypes.subExit) ||
106603
- (device.laneType === DeviceLaneTypes.exSubExit));
106604
- // payment
106605
- case FilterByDeviceType.device_filter_by_pay_in_lane:
106606
- return device.type === DeviceType.EntryPil || device.type === DeviceType.ExitPil;
106607
- case FilterByDeviceType.device_filter_by_lobby_station:
106608
- return device.type === DeviceType.Credit || device.type === DeviceType.Pof;
106609
- // other
106610
- case FilterByDeviceType.device_filter_by_main_controller:
106611
- return device.type === DeviceType.Cash && device.commID === 0;
106612
- case FilterByDeviceType.device_filter_by_cashier_station:
106613
- return device.type === DeviceType.Cash && device.commID > 0;
106614
- case FilterByDeviceType.device_filter_by_valet_station:
106615
- return device.type === DeviceType.ValetStation;
106616
- case FilterByDeviceType.device_filter_by_validator:
106617
- return device.type === DeviceType.Validator;
106618
- case FilterByDeviceType.device_filter_by_lpr_camera:
106619
- return device.type === DeviceType.LprCamera;
106620
- default:
106621
- return true;
106622
- }
106623
- }
106624
- function matchesDevicesParkingLotCriteria(entities, searchValue = '') {
106625
- const search = searchValue.toLowerCase();
106626
- return entities.filter(entity => {
106627
- if (entity.isChild) {
106628
- return matchesDeviceParkingLotCriteria(entity, search);
106629
- }
106630
- else {
106631
- return entity['children'].filter(e => matchesDeviceParkingLotCriteria(e, search)).length > 0;
106632
- }
106633
- });
106634
- }
106635
- function matchesDeviceParkingLotCriteria(entity, searchValue) {
106636
- return entity.device?.name.toLowerCase().includes(searchValue) ||
106637
- entity.device?.commID.toString().includes(searchValue) ||
106638
- entity.zone?.name.toLowerCase().includes(searchValue) ||
106639
- entity.parkName?.toLowerCase().includes(searchValue);
106640
- }
106641
- function matchesDeviceCriteria(entity, searchValue) {
106642
- return entity.name.toLowerCase().includes(searchValue) ||
106643
- entity.commID.toString().includes(searchValue) ||
106644
- entity.zone?.name.toLowerCase().includes(searchValue) ||
106645
- entity.parkName?.toLowerCase().includes(searchValue);
106646
- }
106647
-
106648
107130
  var ParkManagerState_1;
106649
107131
  const EXPANDED_RESULT_LIMIT = 1000;
106650
107132
  let ParkManagerState = class ParkManagerState {
@@ -107238,10 +107720,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
107238
107720
  type: Injectable
107239
107721
  }], ctorParameters: () => [{ type: DeviceRpcServiceProxy }, { type: FacilityRpcServiceProxy }, { 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: [] } });
107240
107722
 
107241
- function isDeviceActive(device) {
107242
- return device && device.hasOwnProperty('active') && device.active !== undefined ? device.active : true;
107243
- }
107244
-
107245
107723
  class RevenueService {
107246
107724
  constructor(facilityRpcServiceProxy) {
107247
107725
  this.facilityRpcServiceProxy = facilityRpcServiceProxy;
@@ -108972,16 +109450,6 @@ const FONT_BASE64 = 'AAEAAAAZAQAABACQRFNJR8SQz0YAD9REAAAhhEdERUYY5hxmAA00gAAAA1h
108972
109450
  // TODO: Check how can export app-settings.json file
108973
109451
  // export * from './app-settings.json';
108974
109452
 
108975
- function isVersionGreaterThanEqual(currentSparkVersion, sparkVersion) {
108976
- return currentSparkVersion && sparkVersion && versionValue(currentSparkVersion) >= versionValue(sparkVersion);
108977
- }
108978
- // the assumption is that we have major.minor.patch
108979
- function versionValue(version) {
108980
- const delimiter = '.';
108981
- var tmp = version.split(delimiter);
108982
- return (+tmp[0] * 100) + (+tmp[1] * 10) + +tmp[2];
108983
- }
108984
-
108985
109453
  class FacilityService {
108986
109454
  get loading$() {
108987
109455
  return this.loading.asObservable();
@@ -109429,461 +109897,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
109429
109897
 
109430
109898
  // Module
109431
109899
 
109432
- const SUPPORTED_DEVICES_SCHEDULER = [
109433
- DeviceType$1.CashReader,
109434
- DeviceType$1.Dispenser,
109435
- DeviceType$1.Verifier,
109436
- DeviceType$1.EntryPil,
109437
- DeviceType$1.ExitPil,
109438
- DeviceType$1.Credit,
109439
- DeviceType$1.Pof,
109440
- DeviceType$1.ValetStation,
109441
- DeviceType$1.Reader
109442
- ];
109443
-
109444
- function downloadFile(res, method) {
109445
- switch (method) {
109446
- case FileGenerateMethod.viewPDF:
109447
- const viewBlob = new Blob([res.data], { type: 'application/pdf' });
109448
- const viewBlobURL = window.URL.createObjectURL(viewBlob);
109449
- // Checks if the browser popups are blocked
109450
- var popUp = window.open(viewBlobURL, '_blank');
109451
- if (popUp == null || typeof (popUp) == 'undefined') {
109452
- return {
109453
- success: false,
109454
- obj: viewBlobURL
109455
- };
109456
- }
109457
- else {
109458
- popUp.focus();
109459
- // Change the name of thte tab after the PDF loaded
109460
- popUp.addEventListener("load", function () {
109461
- setTimeout(() => {
109462
- popUp.document.title = res.fileName;
109463
- }, 150);
109464
- });
109465
- }
109466
- break;
109467
- case FileGenerateMethod.downloadPDF:
109468
- case FileGenerateMethod.downloadExcel:
109469
- case FileGenerateMethod.downloadZip:
109470
- case FileGenerateMethod.downloadCsv:
109471
- default:
109472
- saveAs(res.data, res.fileName);
109473
- break;
109474
- }
109475
- return {
109476
- success: true,
109477
- obj: null
109478
- };
109479
- }
109480
- var FileGenerateMethod;
109481
- (function (FileGenerateMethod) {
109482
- FileGenerateMethod[FileGenerateMethod["viewPDF"] = 1] = "viewPDF";
109483
- FileGenerateMethod[FileGenerateMethod["downloadPDF"] = 2] = "downloadPDF";
109484
- FileGenerateMethod[FileGenerateMethod["downloadExcel"] = 3] = "downloadExcel";
109485
- FileGenerateMethod[FileGenerateMethod["downloadZip"] = 4] = "downloadZip";
109486
- FileGenerateMethod[FileGenerateMethod["downloadCsv"] = 5] = "downloadCsv";
109487
- })(FileGenerateMethod || (FileGenerateMethod = {}));
109488
- function blobToBase64(blob) {
109489
- return new Promise((resolve, _) => {
109490
- const reader = new FileReader();
109491
- reader.onloadend = () => resolve(reader.result);
109492
- reader.readAsDataURL(blob);
109493
- });
109494
- }
109495
-
109496
- var AnalyticsEventsText;
109497
- (function (AnalyticsEventsText) {
109498
- AnalyticsEventsText["ReportType"] = "Event choose report type";
109499
- AnalyticsEventsText["SelectReport"] = "Event select report";
109500
- AnalyticsEventsText["Coupons"] = "Coupons";
109501
- AnalyticsEventsText["SendCouponsToEmail"] = "Send Coupons to Email";
109502
- AnalyticsEventsText["MarkAsUsed"] = "Mark as used";
109503
- AnalyticsEventsText["GeneralError"] = "General Error";
109504
- AnalyticsEventsText["PrintCoupon"] = "Print Coupon";
109505
- AnalyticsEventsText["DeleteCoupon"] = "Delete Coupon";
109506
- AnalyticsEventsText["UpdateCoupon"] = "Update Coupon";
109507
- AnalyticsEventsText["CreateCoupon"] = "Create Coupon";
109508
- AnalyticsEventsText["CreateCouponClick"] = "Create Coupon click";
109509
- AnalyticsEventsText["SendCouponsToEmailClick"] = "Send Coupons to Email click";
109510
- AnalyticsEventsText["CouponsFilterByAccount"] = "Coupons filter by account";
109511
- AnalyticsEventsText["CouponsFilterBySubAccount"] = "Coupons filter by sub account";
109512
- AnalyticsEventsText["couponBatchDateValidityChange"] = "Coupon filter by date validity";
109513
- AnalyticsEventsText["importingMonthlies"] = "Importing monthlies";
109514
- AnalyticsEventsText["CreateRestrictCar"] = "Create Restrict car";
109515
- AnalyticsEventsText["UpdateRestrictCar"] = "Update Restrict car";
109516
- AnalyticsEventsText["DeleteChargeTable"] = "Delete Charge Table";
109517
- AnalyticsEventsText["DeleteChargeCondition"] = "Delete Charge Condition";
109518
- AnalyticsEventsText["SearchChargeTable"] = "Search charge table";
109519
- AnalyticsEventsText["SelectByRelatedToRate"] = "Select by related to rate";
109520
- AnalyticsEventsText["ViewRateStructure"] = "View Rate Structure";
109521
- AnalyticsEventsText["AddRateClicked"] = "Add rate clicked";
109522
- AnalyticsEventsText["CancelAddRate"] = "Cancel add rate";
109523
- AnalyticsEventsText["MoveToLotRateStructure"] = "Move to lot (rate structure)";
109524
- AnalyticsEventsText["ViewRateConditions"] = "View rate conditions";
109525
- AnalyticsEventsText["SearchRateCondition"] = "Search rate conditions";
109526
- AnalyticsEventsText["SelectConditionByRelatedToRate"] = "Select condition by related to rate";
109527
- AnalyticsEventsText["ChargeTableNavigation"] = "Charge table navigation";
109528
- AnalyticsEventsText["DeleteRateCondition"] = "Delete rate condition";
109529
- AnalyticsEventsText["ReorderRateCondition"] = "Reorder rate condition";
109530
- AnalyticsEventsText["ChargeConditionReorder"] = "Charge condition reorder";
109531
- AnalyticsEventsText["SegmentationReorder"] = "Segmentation reorder";
109532
- AnalyticsEventsText["ChargeConditionAdded"] = "Charge condition added";
109533
- AnalyticsEventsText["EditRateClicked"] = "Edit rate clicked";
109534
- AnalyticsEventsText["DuplicateRateClicked"] = "Duplicate rate clicked";
109535
- AnalyticsEventsText["DeleteRateClicked"] = "Delete rate clicked";
109536
- AnalyticsEventsText["RateDeleted"] = "Rate deleted";
109537
- AnalyticsEventsText["RateNumberProtection"] = "Rate number protection";
109538
- AnalyticsEventsText["CreateTestPlane"] = "Create test plane";
109539
- AnalyticsEventsText["RerunTestRate"] = "Rerun test rate";
109540
- AnalyticsEventsText["DeleteChargeSegmentation"] = "Delete charge segmentation";
109541
- AnalyticsEventsText["EditChargeCondition"] = "Edit charge condition";
109542
- AnalyticsEventsText["AddConditionRate"] = "Add condition rate";
109543
- AnalyticsEventsText["RateSettingsUpdated"] = "Rate settings updated";
109544
- AnalyticsEventsText["DuplicateRateConditions"] = "Duplicate rate conditions";
109545
- AnalyticsEventsText["EditConditionRate"] = "Edit condition rate";
109546
- AnalyticsEventsText["HttpError"] = "Http Error";
109547
- AnalyticsEventsText["EventCreateColor"] = "Event create color";
109548
- AnalyticsEventsText["EventCreateModel"] = "Event create model";
109549
- })(AnalyticsEventsText || (AnalyticsEventsText = {}));
109550
- const ReportMethodDictionary = {
109551
- [FileGenerateMethod.viewPDF]: `View report PDF`,
109552
- [FileGenerateMethod.downloadExcel]: `Download report Excel`,
109553
- [FileGenerateMethod.downloadPDF]: `Download report PDF`,
109554
- };
109555
-
109556
- // Constants
109557
-
109558
- function decryptClientSecret(encryptedSecret, encryptionKey) {
109559
- let decryptedSecret = null;
109560
- if (encryptedSecret?.length > 0) {
109561
- var key_iv = encryptedSecret.split("#");
109562
- let key;
109563
- let iv;
109564
- if (key_iv.length == 2) {
109565
- key = CryptoJS.enc.Utf8.parse(key_iv[0]);
109566
- iv = CryptoJS.enc.Utf8.parse(key_iv[0]);
109567
- }
109568
- else {
109569
- key = CryptoJS.enc.Utf8.parse(encryptionKey);
109570
- iv = CryptoJS.enc.Hex.parse(AES_DEFAULT_IV);
109571
- }
109572
- // Perform decryption
109573
- const decrypted = CryptoJS.AES.decrypt(encryptedSecret, key, {
109574
- iv: iv,
109575
- mode: CryptoJS.mode.CBC,
109576
- padding: CryptoJS.pad.Pkcs7
109577
- });
109578
- // Return the decrypted data as a UTF-8 string
109579
- decryptedSecret = decrypted.toString(CryptoJS.enc.Utf8);
109580
- }
109581
- return decryptedSecret;
109582
- }
109583
-
109584
- function arraysAreDifferent(prev, curr) {
109585
- return !_.isEqual(prev, curr);
109586
- }
109587
-
109588
- function isBoolean(value) {
109589
- switch (value) {
109590
- case true:
109591
- case 'true':
109592
- case 1:
109593
- case '1':
109594
- return true;
109595
- default:
109596
- return false;
109597
- }
109598
- }
109599
-
109600
- function setErrorMessage(formName, controlName, event) {
109601
- if (event) {
109602
- formName.get(controlName).setErrors(event);
109603
- formName.get(controlName).markAsTouched();
109604
- }
109605
- }
109606
-
109607
- function hasRequiredField(abstractControl) {
109608
- return abstractControl?.hasValidator(Validators.required);
109609
- }
109610
-
109611
- function safeParse(jsonString) {
109612
- try {
109613
- const value = JSON.parse(jsonString);
109614
- return { success: true, value };
109615
- }
109616
- catch (error) {
109617
- return { success: false, error: error.message };
109618
- }
109619
- }
109620
-
109621
- function getCurrentLang(userSettings) {
109622
- const value = userSettings?.get(SettingsCategory$3.Localization);
109623
- return value?.keyName ?? LOCAL_ENGLISH_LANGUAGE;
109624
- }
109625
-
109626
- const Migrations = [
109627
- {
109628
- version: '7.3.5',
109629
- name: 'setApplicationField',
109630
- up: () => {
109631
- const session = JSON.parse(localStorage.getItem(SESSION));
109632
- if (!session.application) {
109633
- session.application = { version: session.version, releaseDate: session.releaseDate, features: session.features };
109634
- delete session.version;
109635
- delete session.releaseDate;
109636
- delete session.features;
109637
- localStorage.setItem(SESSION, JSON.stringify(session));
109638
- }
109639
- },
109640
- },
109641
- {
109642
- version: '7.3.5',
109643
- name: 'sessionByTenantName',
109644
- up: () => {
109645
- const session = JSON.parse(localStorage.getItem(SESSION));
109646
- if (!session.sparkSessions) {
109647
- session.sparkSessions = { [session.tenant.tenantName.toLowerCase()]: { tenant: session.tenant, user: session.user } };
109648
- delete session.tenant;
109649
- delete session.user;
109650
- localStorage.setItem(SESSION, JSON.stringify(session));
109651
- }
109652
- },
109653
- },
109654
- ];
109655
- function LocalStorageMigrator() {
109656
- const session = JSON.parse(localStorage.getItem(SESSION));
109657
- const version = session.application?.version || session?.version;
109658
- if (version) {
109659
- console.debug('Running local storage migration');
109660
- Migrations.filter(mig => version < mig.version).forEach(m => m.up());
109661
- }
109662
- }
109663
-
109664
- const whiteListUrls = [
109665
- 'openid-callback'
109666
- ];
109667
- class LowerCaseUrlSerializer extends DefaultUrlSerializer {
109668
- parse(url) {
109669
- if (whiteListUrls.some(substring => url.includes(substring))) {
109670
- return super.parse(url);
109671
- }
109672
- const url_query = url.split('?');
109673
- if (url_query.length > 1) {
109674
- url = url.replace(url_query[0], url_query[0].toLowerCase());
109675
- return super.parse(url);
109676
- }
109677
- else {
109678
- return super.parse(url.toLowerCase());
109679
- }
109680
- }
109681
- }
109682
-
109683
- const META_KEY = 'METADATA';
109684
- function getObjectMetadata(target) {
109685
- return target[META_KEY];
109686
- }
109687
- function ensureObjectMetadata(target) {
109688
- if (!target.hasOwnProperty(META_KEY)) {
109689
- Object.defineProperty(target, META_KEY, { value: {} });
109690
- }
109691
- return getObjectMetadata(target);
109692
- }
109693
- const createDescriptor = (value) => ({
109694
- value,
109695
- enumerable: false,
109696
- configurable: true,
109697
- writable: true,
109698
- });
109699
- // tslint:disable-next-line:ban-types
109700
- function wrapConstructor(targetClass, constructorCallback) {
109701
- // create a new wrapped constructor
109702
- const wrappedConstructor = function () {
109703
- constructorCallback.apply(this, arguments);
109704
- return targetClass.apply(this, arguments);
109705
- };
109706
- Object.defineProperty(wrappedConstructor, 'name', { value: targetClass });
109707
- // copy prototype so intanceof operator still works
109708
- wrappedConstructor.prototype = targetClass.prototype;
109709
- // return new constructor (will override original)
109710
- return wrappedConstructor;
109711
- }
109712
-
109713
- const MainModuleToSubModulesPermissionTypeMap = {
109714
- [PermissionType$2.CcMain]: [],
109715
- [PermissionType$2.AccountManagementMain]: [PermissionType$2.AccountManagementAccountView, PermissionType$2.AccountManagementAccountCreate, PermissionType$2.AccountManagementAccountUpdate, PermissionType$2.AccountManagementAccountDelete],
109716
- [PermissionType$2.MonthliesMain]: [PermissionType$2.MonthliesView, PermissionType$2.MonthliesCreate, PermissionType$2.MonthliesUpdate, PermissionType$2.MonthliesDelete, PermissionType$2.MonthlySeriesCreate],
109717
- [PermissionType$2.GuestMain]: [
109718
- PermissionType$2.GuestView, PermissionType$2.GuestCreate, PermissionType$2.GuestUpdate, PermissionType$2.GuestDelete, PermissionType$2.GuestGroupView,
109719
- PermissionType$2.GuestGroupCreate, PermissionType$2.GuestHotelGuestView, PermissionType$2.HotelGuestIOCreate, PermissionType$2.GuestEVoucherView,
109720
- PermissionType$2.HotelGuestIOView
109721
- ],
109722
- [PermissionType$2.ValidationMain]: [
109723
- PermissionType$2.ValidationEValidationView, PermissionType$2.ValidationEValidationCreate, PermissionType$2.ValidationEValidationUpdate, PermissionType$2.ValidationEValidationDelete,
109724
- PermissionType$2.ValidationStickerView, PermissionType$2.ValidationStickerCreate, PermissionType$2.ValidationStickerUpdate, PermissionType$2.ValidationStickerDelete,
109725
- PermissionType$2.ValidationCouponView, PermissionType$2.ValidationCouponCreate, PermissionType$2.ValidationCouponUpdate, PermissionType$2.ValidationCouponDelete,
109726
- PermissionType$2.ValidationSelfValidationView, PermissionType$2.ValidationSelfValidationCreate, PermissionType$2.ValidationSelfValidationUpdate, PermissionType$2.ValidationSelfValidationDelete
109727
- ],
109728
- [PermissionType$2.ReportsMain]: [],
109729
- [PermissionType$2.LotConfigurationMain]: [PermissionType$2.LotConfigurationRates, PermissionType$2.LotConfigurationScheduler, PermissionType$2.LotConfigurationValidationProfile, PermissionType$2.LotConfigurationAccessProfile, PermissionType$2.LotConfigurationDynamicPricing, PermissionType$2.LotConfigurationCashierManagement],
109730
- [PermissionType$2.TenantSettingsMain]: [PermissionType$2.ManagementAdmin],
109731
- [PermissionType$2.ECommerceBackofficeMain]: [PermissionType$2.ECommerceAdmin, PermissionType$2.ECommerceRegular]
109732
- };
109733
- const AppModuleToMainPermissionTypeMap = {
109734
- [AppModule$3.Cc]: PermissionType$2.CcMain,
109735
- [AppModule$3.Accounts]: PermissionType$2.AccountManagementMain,
109736
- [AppModule$3.Monthlies]: PermissionType$2.MonthliesMain,
109737
- [AppModule$3.Guests]: PermissionType$2.GuestMain,
109738
- [AppModule$3.Validation]: PermissionType$2.ValidationMain,
109739
- [AppModule$3.Reports]: PermissionType$2.ReportsMain,
109740
- [AppModule$3.LotConfiguration]: PermissionType$2.LotConfigurationMain,
109741
- [AppModule$3.Management]: PermissionType$2.TenantSettingsMain,
109742
- [AppModule$3.ECommerceBackoffice]: PermissionType$2.ECommerceBackofficeMain,
109743
- };
109744
-
109745
- const extractNumber = (input) => {
109746
- const parsedNumber = +input;
109747
- return isNullOrEmpty(input) || isNaN(parsedNumber) ? null : parsedNumber;
109748
- };
109749
- const isSingularOrPlural = (numberOfMonth) => numberOfMonth <= 1;
109750
-
109751
- function parkerEnumToText(tag) {
109752
- return ParkerTagsText[ParkerTag[tag]];
109753
- }
109754
-
109755
- function getParkerTypesText(parkerType) {
109756
- return ParkerTypesText[ParkerTicketType[parkerType]];
109757
- }
109758
- function mapTransientTags(parkerTags, isStolenTicket, isBackOutTicket, isOfflineTicket, translateService) {
109759
- const tags = parkerTags.map(tag => parkerEnumToText(tag)).map(tag => translateService.instant(tag));
109760
- if (isBackOutTicket) {
109761
- tags.push(translateService.instant(Localization.backout_ticket));
109762
- }
109763
- if (isStolenTicket) {
109764
- tags.push(translateService.instant(Localization.stolen_ticket));
109765
- }
109766
- if (isOfflineTicket) {
109767
- tags.push(translateService.instant(Localization.offline));
109768
- }
109769
- return tags.join(', ');
109770
- }
109771
-
109772
- function getPasswordMinimalLength(userInfo) {
109773
- let pml = DEFAULT_MINIMUM_LENGTH;
109774
- let tenantSession = null;
109775
- const sparkSession = JSON.parse(localStorage.getItem(SESSION))?.sparkSessions;
109776
- const tenantName = sessionStorage.getItem(TENANT_KEY);
109777
- if (sparkSession) {
109778
- tenantSession = sparkSession[tenantName];
109779
- // Update password in user setting
109780
- if (tenantSession) {
109781
- pml = tenantSession.appConfiguration?.pml;
109782
- }
109783
- // Update password in forgot password
109784
- else {
109785
- pml = userInfo.pml;
109786
- }
109787
- }
109788
- return pml;
109789
- }
109790
-
109791
- const MAX_RESULTS = 100;
109792
- function GenerateSearchParamsDto({ maxResults = MAX_RESULTS, searchTerm = '', column = 'Id', orderDirection = OrderDirection.Desc }) {
109793
- return new SearchParamsDto({
109794
- maxResults,
109795
- searchTerm,
109796
- orderBy: new OrderByDto({
109797
- column,
109798
- orderDirection
109799
- })
109800
- });
109801
- }
109802
-
109803
- function compareValues(valueA, valueB, isAsc) {
109804
- // Convert display nulls to actual nulls
109805
- valueA = valueA === '-' ? null : valueA;
109806
- valueB = valueB === '-' ? null : valueB;
109807
- // Handle null/undefined values first
109808
- if (valueA == null && valueB == null)
109809
- return 0;
109810
- if (valueA == null)
109811
- return isAsc ? 1 : -1; // null values go to end
109812
- if (valueB == null)
109813
- return isAsc ? -1 : 1;
109814
- const keyType = typeof valueA;
109815
- const multiplier = isAsc ? 1 : -1;
109816
- switch (keyType) {
109817
- case 'string':
109818
- return valueA.localeCompare(valueB, ENGLISH_LANGUAGE, { numeric: true }) * multiplier;
109819
- case 'number':
109820
- default:
109821
- return (valueA - valueB) * multiplier;
109822
- }
109823
- }
109824
-
109825
- function getTooltipTextByParkerType(tooltipOption, isSearchValidation = false) {
109826
- const ticketsSpecifications = tooltipOption.tenantService.ticketsSpecifications;
109827
- const parkerTicketTypeText = lowerCaseFirstLetter(ParkerTicketType[tooltipOption.searchType]);
109828
- let message = Localization.entity_no_result_hint;
109829
- const interpolateParams = {
109830
- entity: parkerTicketTypeText,
109831
- valueFrom: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo,
109832
- valueTo: ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead,
109833
- durationFirst: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAgo) ?
109834
- tooltipOption.translateService.instant(Localization.time_ago_month) :
109835
- tooltipOption.translateService.instant(Localization.time_ago_months),
109836
- durationSecond: isSingularOrPlural(ticketsSpecifications[parkerTicketTypeText]?.numberOfMonthsAhead) ?
109837
- tooltipOption.translateService.instant(Localization.time_ago_month) :
109838
- tooltipOption.translateService.instant(Localization.time_ago_months),
109839
- };
109840
- switch (tooltipOption.searchType) {
109841
- case ParkerTicketType.Transient:
109842
- if (isSearchValidation) {
109843
- interpolateParams.valueOpenTransient = ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo;
109844
- interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.validationTicketsNumberOfMonthsAgo) ?
109845
- tooltipOption.translateService.instant(Localization.time_ago_month) :
109846
- tooltipOption.translateService.instant(Localization.time_ago_months);
109847
- break;
109848
- }
109849
- message = Localization.transients_no_result_hint;
109850
- interpolateParams.valueOpenTransient = ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo;
109851
- interpolateParams.valueClosedTransient = ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo;
109852
- interpolateParams.durationFirst = isSingularOrPlural(ticketsSpecifications.transient.openTicketsNumberOfMonthsAgo) ?
109853
- tooltipOption.translateService.instant(Localization.time_ago_month) :
109854
- tooltipOption.translateService.instant(Localization.time_ago_months);
109855
- interpolateParams.durationSecond = isSingularOrPlural(ticketsSpecifications.transient.closedTicketsNumberOfMonthsAgo) ?
109856
- tooltipOption.translateService.instant(Localization.time_ago_month) :
109857
- tooltipOption.translateService.instant(Localization.time_ago_months);
109858
- break;
109859
- case ParkerTicketType.EVoucher:
109860
- break;
109861
- case ParkerTicketType.Guest:
109862
- interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
109863
- break;
109864
- case ParkerTicketType.CardOnFile:
109865
- interpolateParams.entity = ParkerTicketType[tooltipOption.searchType];
109866
- break;
109867
- default:
109868
- return null;
109869
- }
109870
- message = tooltipOption.translateMessage ? tooltipOption.translateMessage : message; // can be overriden in special cases
109871
- return tooltipOption.translateService.instant(message, interpolateParams);
109872
- }
109873
-
109874
- var RangeModes;
109875
- (function (RangeModes) {
109876
- RangeModes[RangeModes["byDate"] = 1] = "byDate";
109877
- RangeModes[RangeModes["byZ"] = 2] = "byZ";
109878
- })(RangeModes || (RangeModes = {}));
109879
- var RangeModesText;
109880
- (function (RangeModesText) {
109881
- RangeModesText["byDate"] = "by_date";
109882
- RangeModesText["byZ"] = "by_z";
109883
- })(RangeModesText || (RangeModesText = {}));
109884
-
109885
- // NGXS
109886
-
109887
109900
  class FileSanitizerService {
109888
109901
  constructor() {
109889
109902
  // Characters that can initiate a formula in CSV
@@ -118707,5 +118720,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
118707
118720
  * Generated bundle index. Do not edit.
118708
118721
  */
118709
118722
 
118710
- 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, LoadAccessProfileBaseZonesAction, LoadAccessProfileZoneAction, LoadAccessProfileZonesAction, LoadAccountManagementGuestGroupAction, LoadAccountManagementJobTitlesAction, LoadActionReasonsAction, LoadAdministrativeNotificationsAction, LoadAlertsAndNotificationsAction, LoadAppConfigurationAction, LoadAppConfigurationMobileAction, LoadBackofficeAppConfigurationAction, LoadBackofficeSmartparksTableAction, LoadBackofficeSpAndSparkVersionsAction, LoadBackofficeVarsAction, LoadCalculatorPriceAction, LoadCategoriesAction, LoadCcMainBaseZonesAction, LoadCcMainZonesAction, LoadColorsAction, LoadColorsAction1, LoadColorsAction2, LoadColorsAction3, LoadColorsAction4, LoadColorsAction5, LoadDeviceAction, LoadDeviceEventActivitiesAction, LoadDeviceEventsAction, LoadDeviceEventsCollapse, LoadDeviceLprTransactionsAction, LoadDeviceStatusAction, LoadDevicesAction, LoadDevicesByTypeAction, LoadDynamicPricingBaseZonesAction, LoadDynamicPricingZoneAction, LoadEventActivitiesCollapse, LoadFacilityAction, LoadFacilityRemoteCommandsRefAction, LoadGuestByIdAction, LoadGuestProfilesAction, LoadGuestsAction, LoadGuestsByBatchIdAction, LoadGuestsByBatchIdCancelledAction, LoadLocateTicketSearchAction, LoadLocatedTicketAction, LoadLprTransactionsCollapse, LoadMacroCommandsAction, LoadMobileNotificationsAction, LoadMobileSmartparksBasicAction, LoadModelsAction, LoadModelsAction1, LoadModelsAction2, LoadModelsAction3, LoadModelsAction4, LoadModelsAction5, LoadOverflowPriceTableAction, LoadParkActivitiesAction, LoadParkDevicesAction, LoadParkerAction, LoadParkersAction, LoadParkingLotAction, LoadParksAction, LoadRateByIdAction, LoadRatesAction, LoadRemoteCommandsRefAction, LoadReportsBaseZonesAction, LoadReportsGuestGroupAction, LoadReportsJobTitlesAction, LoadReportsZoneAction, LoadReportsZonesAction, LoadSMTPDetailsAction, LoadSelectedDeviceAction, LoadSmartparksAction, LoadSmartparksBasicAction, LoadSmartparksDropdownAction, LoadSmartparksTableAction, LoadSpAndSparkVersionsAction, LoadStickerPriceTableAction, LoadTicketNumParkersAction, LoadTransientPriceTableAction, LoadUserPermissionsAction, LoadUsersAction, LoadUsersAdministrativeNotificationsAction, LoadValidationTypeAction, LoadVarsAction, 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, rpcServiceProxies as Rpc, 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, 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_25_3_1, 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, 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 };
118723
+ 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, LoadAccessProfileBaseZonesAction, LoadAccessProfileZoneAction, LoadAccessProfileZonesAction, LoadAccountManagementGuestGroupAction, LoadAccountManagementJobTitlesAction, LoadActionReasonsAction, LoadAdministrativeNotificationsAction, LoadAlertsAndNotificationsAction, LoadAppConfigurationAction, LoadAppConfigurationMobileAction, LoadBackofficeAppConfigurationAction, LoadBackofficeSmartparksTableAction, LoadBackofficeSpAndSparkVersionsAction, LoadBackofficeVarsAction, LoadCalculatorPriceAction, LoadCategoriesAction, LoadCcMainBaseZonesAction, LoadCcMainZonesAction, LoadColorsAction, LoadColorsAction1, LoadColorsAction2, LoadColorsAction3, LoadColorsAction4, LoadColorsAction5, LoadDeviceAction, LoadDeviceEventActivitiesAction, LoadDeviceEventsAction, LoadDeviceEventsCollapse, LoadDeviceLprTransactionsAction, LoadDeviceStatusAction, LoadDevicesAction, LoadDevicesByTypeAction, LoadDynamicPricingBaseZonesAction, LoadDynamicPricingZoneAction, LoadEventActivitiesCollapse, LoadFacilityAction, LoadFacilityRemoteCommandsRefAction, LoadGuestByIdAction, LoadGuestProfilesAction, LoadGuestsAction, LoadGuestsByBatchIdAction, LoadGuestsByBatchIdCancelledAction, LoadLocateTicketSearchAction, LoadLocatedTicketAction, LoadLprTransactionsCollapse, LoadMacroCommandsAction, LoadMobileNotificationsAction, LoadMobileSmartparksBasicAction, LoadModelsAction, LoadModelsAction1, LoadModelsAction2, LoadModelsAction3, LoadModelsAction4, LoadModelsAction5, LoadOverflowPriceTableAction, LoadParkActivitiesAction, LoadParkDevicesAction, LoadParkerAction, LoadParkersAction, LoadParkingLotAction, LoadParksAction, LoadRateByIdAction, LoadRatesAction, LoadRemoteCommandsRefAction, LoadReportsBaseZonesAction, LoadReportsGuestGroupAction, LoadReportsJobTitlesAction, LoadReportsZoneAction, LoadReportsZonesAction, LoadSMTPDetailsAction, LoadSelectedDeviceAction, LoadSmartparksAction, LoadSmartparksBasicAction, LoadSmartparksDropdownAction, LoadSmartparksTableAction, LoadSpAndSparkVersionsAction, LoadStickerPriceTableAction, LoadTicketNumParkersAction, LoadTransientPriceTableAction, LoadUserPermissionsAction, LoadUsersAction, LoadUsersAdministrativeNotificationsAction, LoadValidationTypeAction, LoadVarsAction, 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, rpcServiceProxies as Rpc, 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, 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_25_3_1, 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, 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 };
118711
118724
  //# sourceMappingURL=tiba-spark-client-shared-lib.mjs.map