@movalib/movalib-commons 1.59.28 → 1.59.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -52,7 +52,7 @@ export type { MovaFormField, MovaLoginForm, MovaUserSignUpForm, MovaInterval, Mo
52
52
  export { readCookie, deleteCookie } from './src/helpers/CookieUtils';
53
53
  export { validateField, formatVehicleTire, formatFrenchVehiclePlate, isEmpty, getApplicationShortLabel, capitalizeFirstLetter, flexLeftRow, formatPhoneNumber, getFormattedSchedule, getFormattedIntervals, findScheduleByDayOfWeek, getDayOfWeekLabel, isSafariOniOS, getApplicationsShortLabels, } from './src/helpers/Tools';
54
54
  export { validatePhoneNumber, validateText, validateEmail } from './src/helpers/Validator';
55
- export { formatDateByCountryCode, getLongFormattedDateTime } from './src/helpers/DateUtils';
55
+ export { formatDateByTimezone, getLongFormattedDateTime } from './src/helpers/DateUtils';
56
56
  export { request, API_BASE_URL } from './src/helpers/ApiHelper';
57
57
  export { CustomerType, RoleType, MovaAppType, DayOfWeek, EventState, EventType, DocumentType, DigitalPassportIndex, DocumentState, Gender, DateFormatTypes, PartsApplicationType, ProductType, OrderPreference, OrderState, SlotAlgorithm, VehiclePlateFormat as VehiclePlateType, SubscriptionPaymentInterval, RegistrationState, PrestationType, PrestationState, CountryCode, SubscriptionState, SubscriptionType, APIMethod, } from './src/helpers/Enums';
58
58
  export { openDialogPrint } from './src/utils/DialogPrint';
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  };
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.VehicleTire = exports.Event = exports.Schedule = exports.VehicleGarage = exports.Garage = exports.Document = exports.Vehicle = exports.Address = exports.Role = exports.User = exports.Customer = exports.Logger = exports.Operation = exports.Prestation = exports.Product = exports.Supplier = exports.Employee = exports.Absence = exports.Subscription = exports.LinkedDocumentDialog = exports.PrintSize = exports.PLVComponent = exports.QrCodePLVContainer = exports.ActivateAccount = exports.GenderSelector = exports.ConfirmationDialog = exports.MovaVehicleTireField = exports.MovaCopyright = exports.MovaSignUp = exports.MovaLogin = exports.MovaSnackbar = exports.TestButton = exports.oldRegexPlate = exports.regexPlate = exports.VehiclePlateField = exports.QRCode = exports.MovaDialog = exports.Loader = exports.MovaDigitalPassport = exports.VehicleFullCard = exports.ScheduleFields = exports.AddressFields = exports.AccountValidation = exports.GaragePLV = exports.IbanInput = exports.DialogForgotPassword = exports.UserService = exports.GarageService = exports.AuthenticationService = exports.VehicleService = void 0;
8
- exports.openDialogPrint = exports.APIMethod = exports.SubscriptionType = exports.SubscriptionState = exports.CountryCode = exports.PrestationState = exports.PrestationType = exports.RegistrationState = exports.SubscriptionPaymentInterval = exports.VehiclePlateType = exports.SlotAlgorithm = exports.OrderState = exports.OrderPreference = exports.ProductType = exports.PartsApplicationType = exports.DateFormatTypes = exports.Gender = exports.DocumentState = exports.DigitalPassportIndex = exports.DocumentType = exports.EventType = exports.EventState = exports.DayOfWeek = exports.MovaAppType = exports.RoleType = exports.CustomerType = exports.API_BASE_URL = exports.request = exports.getLongFormattedDateTime = exports.formatDateByCountryCode = exports.validateEmail = exports.validateText = exports.validatePhoneNumber = exports.getApplicationsShortLabels = exports.isSafariOniOS = exports.getDayOfWeekLabel = exports.findScheduleByDayOfWeek = exports.getFormattedIntervals = exports.getFormattedSchedule = exports.formatPhoneNumber = exports.flexLeftRow = exports.capitalizeFirstLetter = exports.getApplicationShortLabel = exports.isEmpty = exports.formatFrenchVehiclePlate = exports.formatVehicleTire = exports.validateField = exports.deleteCookie = exports.readCookie = exports.CategoryPrestation = void 0;
8
+ exports.openDialogPrint = exports.APIMethod = exports.SubscriptionType = exports.SubscriptionState = exports.CountryCode = exports.PrestationState = exports.PrestationType = exports.RegistrationState = exports.SubscriptionPaymentInterval = exports.VehiclePlateType = exports.SlotAlgorithm = exports.OrderState = exports.OrderPreference = exports.ProductType = exports.PartsApplicationType = exports.DateFormatTypes = exports.Gender = exports.DocumentState = exports.DigitalPassportIndex = exports.DocumentType = exports.EventType = exports.EventState = exports.DayOfWeek = exports.MovaAppType = exports.RoleType = exports.CustomerType = exports.API_BASE_URL = exports.request = exports.getLongFormattedDateTime = exports.formatDateByTimezone = exports.validateEmail = exports.validateText = exports.validatePhoneNumber = exports.getApplicationsShortLabels = exports.isSafariOniOS = exports.getDayOfWeekLabel = exports.findScheduleByDayOfWeek = exports.getFormattedIntervals = exports.getFormattedSchedule = exports.formatPhoneNumber = exports.flexLeftRow = exports.capitalizeFirstLetter = exports.getApplicationShortLabel = exports.isEmpty = exports.formatFrenchVehiclePlate = exports.formatVehicleTire = exports.validateField = exports.deleteCookie = exports.readCookie = exports.CategoryPrestation = void 0;
9
9
  exports.StyledToggleButtonGroup = exports.StyledToggleButton = void 0;
10
10
  // Export des services
11
11
  var VehicleService_1 = require("./src/services/VehicleService");
@@ -133,7 +133,7 @@ Object.defineProperty(exports, "validatePhoneNumber", { enumerable: true, get: f
133
133
  Object.defineProperty(exports, "validateText", { enumerable: true, get: function () { return Validator_1.validateText; } });
134
134
  Object.defineProperty(exports, "validateEmail", { enumerable: true, get: function () { return Validator_1.validateEmail; } });
135
135
  var DateUtils_1 = require("./src/helpers/DateUtils");
136
- Object.defineProperty(exports, "formatDateByCountryCode", { enumerable: true, get: function () { return DateUtils_1.formatDateByCountryCode; } });
136
+ Object.defineProperty(exports, "formatDateByTimezone", { enumerable: true, get: function () { return DateUtils_1.formatDateByTimezone; } });
137
137
  Object.defineProperty(exports, "getLongFormattedDateTime", { enumerable: true, get: function () { return DateUtils_1.getLongFormattedDateTime; } });
138
138
  var ApiHelper_1 = require("./src/helpers/ApiHelper");
139
139
  Object.defineProperty(exports, "request", { enumerable: true, get: function () { return ApiHelper_1.request; } });
@@ -52,6 +52,7 @@ var ScheduleFields = function (_a) {
52
52
  // Parcourez chaque élément de apiSchedules et mettez à jour updatedSchedules
53
53
  var today = new Date().toISOString().substring(0, 10);
54
54
  var _loop_1 = function (apiSchedule) {
55
+ console.log(apiSchedule.intervals);
55
56
  var dayIndex = mergedSchedules.findIndex(function (schedule) { return schedule.day === apiSchedule.dayOfWeek; });
56
57
  if (dayIndex !== -1) {
57
58
  mergedSchedules[dayIndex].checked = apiSchedule.intervals.length > 0;
@@ -4,6 +4,6 @@ export declare function isValidDate(date: unknown): date is Date;
4
4
  export declare const countryTimeZones: {
5
5
  [key: string]: string;
6
6
  };
7
- export declare const toUTCToLocaleDate: (date: "" | Date | null, countryCode: string) => Date;
8
- export declare const formatDateByCountryCode: (date: Date | undefined, countryCode: string, formatType: DateFormatTypes) => string;
7
+ export declare const toUTCToLocaleDate: (date: "" | Date | null, timeZone: string) => Date;
8
+ export declare const formatDateByTimezone: (date: Date | undefined, timeZone: string, formatType: DateFormatTypes) => string;
9
9
  export declare function getLongFormattedDateTime(date: Date | undefined, timeZone: string, locale: Locale): string;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getLongFormattedDateTime = exports.formatDateByCountryCode = exports.toUTCToLocaleDate = exports.countryTimeZones = exports.isValidDate = void 0;
3
+ exports.getLongFormattedDateTime = exports.formatDateByTimezone = exports.toUTCToLocaleDate = exports.countryTimeZones = exports.isValidDate = void 0;
4
4
  var date_fns_tz_1 = require("date-fns-tz");
5
5
  var locale_1 = require("date-fns/locale");
6
6
  var Enums_1 = require("./Enums");
@@ -14,24 +14,19 @@ exports.countryTimeZones = {
14
14
  'FR': 'Europe/Paris',
15
15
  // Ajoutez d'autres correspondances de codes de pays et de fuseaux horaires ici
16
16
  };
17
- var toUTCToLocaleDate = function (date, countryCode) {
17
+ var toUTCToLocaleDate = function (date, timeZone) {
18
18
  var zonedDate = new Date(date !== null && date !== void 0 ? date : "");
19
19
  if (date) {
20
- var timeZone = exports.countryTimeZones[countryCode.toUpperCase()];
21
- if (!timeZone) {
22
- throw new Error('Code de pays non pris en charge');
23
- }
24
20
  // Convertir la date UTC en date du fuseau horaire local
25
21
  zonedDate = (0, date_fns_tz_1.utcToZonedTime)(date, timeZone);
26
22
  }
27
23
  return zonedDate;
28
24
  };
29
25
  exports.toUTCToLocaleDate = toUTCToLocaleDate;
30
- var formatDateByCountryCode = function (date, countryCode, formatType) {
26
+ var formatDateByTimezone = function (date, timeZone, formatType) {
31
27
  if (date) {
32
28
  // Convertir la date UTC en date du fuseau horaire local
33
- var zonedDate = (0, exports.toUTCToLocaleDate)(date, countryCode);
34
- var timeZone = exports.countryTimeZones[countryCode.toUpperCase()];
29
+ var zonedDate = (0, exports.toUTCToLocaleDate)(date, timeZone);
35
30
  // Formater la date
36
31
  switch (formatType) {
37
32
  case Enums_1.DateFormatTypes.SHORT_FORMAT_DATE:
@@ -44,7 +39,7 @@ var formatDateByCountryCode = function (date, countryCode, formatType) {
44
39
  }
45
40
  return '';
46
41
  };
47
- exports.formatDateByCountryCode = formatDateByCountryCode;
42
+ exports.formatDateByTimezone = formatDateByTimezone;
48
43
  function getLongFormattedDateTime(date, timeZone, locale) {
49
44
  if (date) {
50
45
  var day = (0, Tools_1.capitalizeFirstLetter)((0, date_fns_tz_1.format)(date, 'eeee', { timeZone: timeZone, locale: locale }));
@@ -32,8 +32,6 @@ export default class Garage {
32
32
  orderPreference?: OrderPreference;
33
33
  amVehicleDeposit?: Date;
34
34
  pmVehicleDeposit?: Date;
35
- zonedAmVehicleDeposit?: Date;
36
- zonedPmVehicleDeposit?: Date;
37
35
  appointmentRequestStart?: Date;
38
36
  slotAlgorithm?: SlotAlgorithm;
39
37
  customerQuoteActive?: boolean;
@@ -54,6 +52,7 @@ export default class Garage {
54
52
  loanerVehicleRequestActive?: boolean;
55
53
  paymentAuthorizationActive?: boolean;
56
54
  paymentAuthorizationMinDowntime?: number;
55
+ timezone: string;
57
56
  customStyle?: string;
58
- constructor(id: string, adminId: string, name: string, address: Address, workforce: number, prestations: Prestation[], schedules: Schedule[], contactPhone: string, prestationCategories: CategoryPrestation[], dayPeriodFastServiceExcluded: boolean, loanerVehicleFastServiceExcluded: boolean, fastServiceThreshold: number, vehicles?: VehicleGarage[], contactEmail?: string, logo?: string, suppliers?: Supplier[], documents?: Document[], subscriptions?: Subscription[], loanerVehicleActive?: boolean, loanerVehicleRequestActive?: boolean, customStyle?: string, subscription?: Subscription, partialWorkforce?: number);
57
+ constructor(id: string, adminId: string, name: string, address: Address, workforce: number, prestations: Prestation[], schedules: Schedule[], contactPhone: string, prestationCategories: CategoryPrestation[], dayPeriodFastServiceExcluded: boolean, loanerVehicleFastServiceExcluded: boolean, fastServiceThreshold: number, timezone: string, vehicles?: VehicleGarage[], contactEmail?: string, logo?: string, suppliers?: Supplier[], documents?: Document[], subscriptions?: Subscription[], loanerVehicleActive?: boolean, loanerVehicleRequestActive?: boolean, customStyle?: string, subscription?: Subscription, partialWorkforce?: number);
59
58
  }
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  var Garage = /** @class */ (function () {
4
- function Garage(id, adminId, name, address, workforce, prestations, schedules, contactPhone, prestationCategories, dayPeriodFastServiceExcluded, loanerVehicleFastServiceExcluded, fastServiceThreshold, vehicles, contactEmail, logo, suppliers, documents, subscriptions, loanerVehicleActive, loanerVehicleRequestActive, customStyle, subscription, partialWorkforce) {
4
+ function Garage(id, adminId, name, address, workforce, prestations, schedules, contactPhone, prestationCategories, dayPeriodFastServiceExcluded, loanerVehicleFastServiceExcluded, fastServiceThreshold, timezone, vehicles, contactEmail, logo, suppliers, documents, subscriptions, loanerVehicleActive, loanerVehicleRequestActive, customStyle, subscription, partialWorkforce) {
5
5
  this.id = id;
6
6
  this.adminId = adminId;
7
7
  this.name = name;
@@ -25,6 +25,7 @@ var Garage = /** @class */ (function () {
25
25
  this.loanerVehicleFastServiceExcluded = loanerVehicleFastServiceExcluded;
26
26
  this.fastServiceThreshold = fastServiceThreshold;
27
27
  this.customStyle = customStyle;
28
+ this.timezone = timezone;
28
29
  }
29
30
  return Garage;
30
31
  }());
package/index.ts CHANGED
@@ -83,7 +83,7 @@ export {
83
83
  getApplicationsShortLabels,
84
84
  } from './src/helpers/Tools';
85
85
  export { validatePhoneNumber, validateText, validateEmail } from './src/helpers/Validator';
86
- export { formatDateByCountryCode, getLongFormattedDateTime } from './src/helpers/DateUtils';
86
+ export { formatDateByTimezone, getLongFormattedDateTime } from './src/helpers/DateUtils';
87
87
  export { request, API_BASE_URL } from './src/helpers/ApiHelper';
88
88
 
89
89
  // Export des enums
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@movalib/movalib-commons",
3
- "version": "1.59.28",
3
+ "version": "1.59.29",
4
4
  "description": "Bibliothèque d'objets communs à l'ensemble des projets React de Movalib",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,7 +11,7 @@
11
11
  "copy-assets": "cp -r src/assets/ dist/src/assets/ && cp -r src/style/ dist/src/style/",
12
12
  "test": "echo \"Error: no test specified\" && exit 1",
13
13
  "clean": "rm -rf dist node_modules package-lock.json",
14
- "build:dev" : "rm -rf dist && tsc && npm run copy-assets && npm pack"
14
+ "build:dev": "rm -rf dist && tsc && npm run copy-assets && npm pack"
15
15
  },
16
16
  "keywords": [],
17
17
  "author": "",
@@ -31,6 +31,8 @@
31
31
  "file-loader": "^6.2.0",
32
32
  "html2canvas": "^1.4.1",
33
33
  "js-cookie": "^3.0.5",
34
+ "moment": "^2.30.1",
35
+ "moment-timezone": "^0.5.48",
34
36
  "pdf-lib": "^1.17.1",
35
37
  "pdfjs-dist": "^4.6.82",
36
38
  "qr-code-styling": "^1.4.4",
@@ -43,7 +45,9 @@
43
45
  "typescript": "^4.9.5"
44
46
  },
45
47
  "eslintConfig": {
46
- "extends": ["react-app"]
48
+ "extends": [
49
+ "react-app"
50
+ ]
47
51
  },
48
52
  "devDependencies": {
49
53
  "@types/js-cookie": "^3.0.4",
@@ -53,4 +57,4 @@
53
57
  "ts-loader": "^9.4.4",
54
58
  "webpack-cli": "^5.1.4"
55
59
  }
56
- }
60
+ }
@@ -9,8 +9,9 @@ import Schedule from './models/Schedule';
9
9
  import { CountryCode, DayOfWeek } from './helpers/Enums';
10
10
  import Logger from './helpers/Logger';
11
11
  import { flexCenter, getDayOfWeekIndex, getDayOfWeekLabel } from './helpers/Tools';
12
- import { isValidDate, toUTCToLocaleDate } from './helpers/DateUtils';
12
+ import { isValidDate } from './helpers/DateUtils';
13
13
  import ContentCopyIcon from '@mui/icons-material/ContentCopy';
14
+ import moment from 'moment-timezone';
14
15
 
15
16
 
16
17
  export type DayInterval = {
@@ -54,6 +55,7 @@ const ScheduleFields: FunctionComponent<ScheduleFieldsProps> = ({ timePickerStep
54
55
  const today = new Date().toISOString().substring(0, 10);
55
56
 
56
57
  for (const apiSchedule of apiSchedules) {
58
+ console.log(apiSchedule.intervals);
57
59
  const dayIndex = mergedSchedules.findIndex((schedule: { day: DayOfWeek; }) => schedule.day === apiSchedule.dayOfWeek);
58
60
  if (dayIndex !== -1) {
59
61
  mergedSchedules[dayIndex].checked = apiSchedule.intervals.length > 0;
@@ -14,7 +14,7 @@ import { DocumentType, DateFormatTypes, MovaAppType } from '../../helpers/Enums'
14
14
  import { validateField, formatVehicleTire, formatFrenchVehiclePlate } from '../../helpers/Tools';
15
15
  import MovaDigitalPassport from '../../MovaDigitalPassport';
16
16
  import Loader from '../../Loader';
17
- import { formatDateByCountryCode } from '../../helpers/DateUtils';
17
+ import { formatDateByTimezone } from '../../helpers/DateUtils';
18
18
  import CancelIcon from '@mui/icons-material/CloseRounded';
19
19
  import EditIcon from '@mui/icons-material/EditRounded';
20
20
  import CloseIcon from '@mui/icons-material/CloseRounded';
@@ -431,7 +431,7 @@ const VehicleFullCard: FC<VehicleFullCardProps> = ({ vehicle, fullwidth, onError
431
431
  <Grid item xs={11} key={(index+1)*50} sx={{ textAlign: 'left' }} >
432
432
  <Link color={darken('#F29ABA', 0.2)} href={invoice.fileSignedUrl} target="_blank" rel="noopener">
433
433
  <Typography variant="body1">
434
- Facture du {formatDateByCountryCode(invoice.creationDate, 'fr', DateFormatTypes.SHORT_FORMAT_DATE)}
434
+ Facture du {formatDateByTimezone(invoice.creationDate, 'fr', DateFormatTypes.SHORT_FORMAT_DATE)}
435
435
  </Typography>
436
436
  </Link>
437
437
  </Grid>
@@ -449,7 +449,7 @@ const VehicleFullCard: FC<VehicleFullCardProps> = ({ vehicle, fullwidth, onError
449
449
  <Grid item xs={11} key={(index+1)*50} sx={{ textAlign: 'left' }} >
450
450
  <Link color={darken('#F29ABA', 0.2)} href={tirePhoto.fileSignedUrl} target="_blank" rel="noopener">
451
451
  <Typography variant="body1">
452
- Photo pneu du {formatDateByCountryCode(tirePhoto.creationDate, 'fr', DateFormatTypes.SHORT_FORMAT_DATE)}
452
+ Photo pneu du {formatDateByTimezone(tirePhoto.creationDate, 'fr', DateFormatTypes.SHORT_FORMAT_DATE)}
453
453
  </Typography>
454
454
  </Link>
455
455
  </Grid>
@@ -13,17 +13,11 @@ export const countryTimeZones: { [key: string]: string } = {
13
13
  // Ajoutez d'autres correspondances de codes de pays et de fuseaux horaires ici
14
14
  };
15
15
 
16
- export const toUTCToLocaleDate = (date: "" | Date | null, countryCode: string): Date => {
16
+ export const toUTCToLocaleDate = (date: "" | Date | null, timeZone: string): Date => {
17
17
  let zonedDate = new Date(date ?? "");
18
18
 
19
19
  if(date){
20
20
 
21
- const timeZone = countryTimeZones[countryCode.toUpperCase()];
22
-
23
- if (!timeZone) {
24
- throw new Error('Code de pays non pris en charge');
25
- }
26
-
27
21
  // Convertir la date UTC en date du fuseau horaire local
28
22
  zonedDate = utcToZonedTime(date, timeZone);
29
23
  }
@@ -31,13 +25,12 @@ export const toUTCToLocaleDate = (date: "" | Date | null, countryCode: string):
31
25
  return zonedDate;
32
26
  }
33
27
 
34
- export const formatDateByCountryCode = (date: Date | undefined, countryCode: string, formatType: DateFormatTypes): string => {
28
+ export const formatDateByTimezone = (date: Date | undefined, timeZone: string, formatType: DateFormatTypes): string => {
35
29
 
36
30
  if(date){
37
31
 
38
32
  // Convertir la date UTC en date du fuseau horaire local
39
- let zonedDate = toUTCToLocaleDate(date, countryCode);
40
- const timeZone = countryTimeZones[countryCode.toUpperCase()];
33
+ let zonedDate = toUTCToLocaleDate(date, timeZone);
41
34
 
42
35
  // Formater la date
43
36
  switch(formatType){
@@ -11,7 +11,6 @@ import CategoryPrestation from "./CategoryPrestation";
11
11
  import VehicleGarage from "./VehicleGarage";
12
12
 
13
13
  export default class Garage {
14
-
15
14
  id:string;
16
15
  adminId:string;
17
16
  name:string;
@@ -34,8 +33,6 @@ export default class Garage {
34
33
  orderPreference?: OrderPreference;
35
34
  amVehicleDeposit?: Date;
36
35
  pmVehicleDeposit?: Date;
37
- zonedAmVehicleDeposit?: Date;
38
- zonedPmVehicleDeposit?: Date;
39
36
  appointmentRequestStart?: Date;
40
37
  slotAlgorithm?: SlotAlgorithm;
41
38
  customerQuoteActive?: boolean;
@@ -56,7 +53,7 @@ export default class Garage {
56
53
  loanerVehicleRequestActive?: boolean;
57
54
  paymentAuthorizationActive?: boolean;
58
55
  paymentAuthorizationMinDowntime?: number;
59
-
56
+ timezone: string;
60
57
  customStyle?: string;
61
58
 
62
59
  constructor(
@@ -72,6 +69,7 @@ export default class Garage {
72
69
  dayPeriodFastServiceExcluded: boolean,
73
70
  loanerVehicleFastServiceExcluded: boolean,
74
71
  fastServiceThreshold: number,
72
+ timezone:string,
75
73
  vehicles?: VehicleGarage[],
76
74
  contactEmail?: string,
77
75
  logo?:string,
@@ -82,7 +80,7 @@ export default class Garage {
82
80
  loanerVehicleRequestActive?: boolean,
83
81
  customStyle?: string,
84
82
  subscription?: Subscription,
85
- partialWorkforce?: number
83
+ partialWorkforce?: number,
86
84
  ) {
87
85
  this.id = id;
88
86
  this.adminId = adminId;
@@ -107,5 +105,6 @@ export default class Garage {
107
105
  this.loanerVehicleFastServiceExcluded = loanerVehicleFastServiceExcluded;
108
106
  this.fastServiceThreshold = fastServiceThreshold;
109
107
  this.customStyle = customStyle;
108
+ this.timezone = timezone;
110
109
  }
111
110
  }