@annalib/anna-core 4.2.20 → 4.3.1

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.
@@ -21,8 +21,10 @@ import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
21
21
  import * as i16 from 'ng-circle-progress';
22
22
  import { NgCircleProgressModule } from 'ng-circle-progress';
23
23
  import { memoize, min, max, uniq, cloneDeep, isEqual, map, sortBy } from 'lodash-es';
24
- import moment from 'moment';
24
+ import dayjs from 'dayjs';
25
25
  import { Subject, BehaviorSubject, animationFrameScheduler, asapScheduler, Observable, Subscription, isObservable, of } from 'rxjs';
26
+ import minMax from 'dayjs/plugin/minMax';
27
+ import isBetween from 'dayjs/plugin/isBetween';
26
28
  import * as i1$1 from '@angular/cdk/bidi';
27
29
  import { startWith, auditTime, takeUntil, distinctUntilChanged, pairwise, switchMap, shareReplay, map as map$1 } from 'rxjs/operators';
28
30
  import { coerceNumberProperty } from '@angular/cdk/coercion';
@@ -241,16 +243,16 @@ class AnnaDateTimeFormatService {
241
243
  }
242
244
  convertToNgbDateStandardFormat(date) {
243
245
  return {
244
- year: parseInt(moment(date, "MM/DD/YYYY").format("YYYY")),
245
- month: parseInt(moment(date, "MM/DD/YYYY").format("M")),
246
- day: parseInt(moment(date, "MM/DD/YYYY").format("D")),
246
+ year: parseInt(dayjs(date, "MM/DD/YYYY").format("YYYY")),
247
+ month: parseInt(dayjs(date, "MM/DD/YYYY").format("M")),
248
+ day: parseInt(dayjs(date, "MM/DD/YYYY").format("D")),
247
249
  };
248
250
  }
249
251
  convertToNgbDate(date, parseFormat) {
250
252
  return {
251
- year: parseInt(moment(date, parseFormat).format("YYYY")),
252
- month: parseInt(moment(date, parseFormat).format("M")),
253
- day: parseInt(moment(date, parseFormat).format("D")),
253
+ year: parseInt(dayjs(date, parseFormat).format("YYYY")),
254
+ month: parseInt(dayjs(date, parseFormat).format("M")),
255
+ day: parseInt(dayjs(date, parseFormat).format("D")),
254
256
  };
255
257
  }
256
258
  formatToTwelveHrs(time, callRemoveZero) {
@@ -341,8 +343,8 @@ class AnnaDateTimeFormatService {
341
343
  }
342
344
  sortByTimeAscending(a, b) {
343
345
  let format = "HH:mm:ss";
344
- a = moment(a, format);
345
- b = moment(b, format);
346
+ a = dayjs(a, format);
347
+ b = dayjs(b, format);
346
348
  let results;
347
349
  results = a.hours() > b.hours() ? 1 : a.hours() < b.hours() ? -1 : 0;
348
350
  if (results === 0)
@@ -353,8 +355,8 @@ class AnnaDateTimeFormatService {
353
355
  }
354
356
  sortByTimeDescending(a, b) {
355
357
  let format = "HH:mm:ss";
356
- a = moment(a, format);
357
- b = moment(b, format);
358
+ a = dayjs(a, format);
359
+ b = dayjs(b, format);
358
360
  let results;
359
361
  results = a.hours() < b.hours() ? 1 : a.hours() > b.hours() ? -1 : 0;
360
362
  if (results === 0)
@@ -364,26 +366,26 @@ class AnnaDateTimeFormatService {
364
366
  return results;
365
367
  }
366
368
  convertNgbDateToMoment(ngbDate) {
367
- let converted = moment();
369
+ let converted = dayjs();
368
370
  converted.month(ngbDate.month - 1);
369
371
  converted.date(ngbDate.day);
370
372
  converted.year(ngbDate.year);
371
373
  return converted.format("MM/DD/YYYY");
372
374
  }
373
375
  compareDate(a, b, isAsc) {
374
- return isAsc ? moment(a).diff(b) : moment(b).diff(a);
376
+ return isAsc ? dayjs(a).diff(b) : dayjs(b).diff(a);
375
377
  }
376
378
  static formatTwentyFourHourTimeToHHMMAFormat(value) {
377
- value = moment(value, ["HH:mm:ss"]).format("HH:mm:ss");
379
+ value = dayjs(value, ["HH:mm:ss"]).format("HH:mm:ss");
378
380
  return value[3] == "0" && value[4] == "0"
379
- ? moment(value, ["HH:mm:ss"]).format("hA").slice(0, -1)
380
- : moment(value, ["HH:mm:ss"]).format("h:mmA").slice(0, -1);
381
+ ? dayjs(value, ["HH:mm:ss"]).format("hA").slice(0, -1)
382
+ : dayjs(value, ["HH:mm:ss"]).format("h:mmA").slice(0, -1);
381
383
  }
382
384
  static formatTwelveHourTimeToHHMMAFormat(value) {
383
- value = moment(value, ["HH:mm:A"]).format("HH:mm:ss");
385
+ value = dayjs(value, ["HH:mm:A"]).format("HH:mm:ss");
384
386
  return value[3] == "0" && value[4] == "0"
385
- ? moment(value, ["HH:mm:ss"]).format("hA").slice(0, -1)
386
- : moment(value, ["HH:mm:ss"]).format("h:mmA").slice(0, -1);
387
+ ? dayjs(value, ["HH:mm:ss"]).format("hA").slice(0, -1)
388
+ : dayjs(value, ["HH:mm:ss"]).format("h:mmA").slice(0, -1);
387
389
  }
388
390
  formatDateAndHHMMATimeToStandardFormat(dateAndTime) {
389
391
  let standardFormat, date, time;
@@ -397,7 +399,7 @@ class AnnaDateTimeFormatService {
397
399
  else {
398
400
  standardFormat = dateAndTime + " 00:00 AM";
399
401
  }
400
- return moment(standardFormat).format("MM/DD/YYYY hh:mm A");
402
+ return dayjs(standardFormat).format("MM/DD/YYYY hh:mm A");
401
403
  }
402
404
  compare(a, b, isAsc) {
403
405
  if (typeof a == 'string' && typeof b == 'string') {
@@ -408,11 +410,11 @@ class AnnaDateTimeFormatService {
408
410
  }
409
411
  sortDataByBroadcastTimeAsc(firstParamTime, secondParamTime, broadcastTime) {
410
412
  let format = "HH:mm:ss";
411
- let a = moment(firstParamTime, format);
412
- let b = moment(secondParamTime, format);
413
- let broadcastMomentDateTime = moment(broadcastTime, "HH:mm:ss");
414
- a = a.isBefore(broadcastMomentDateTime) ? a.add(1, "d") : a;
415
- b = b.isBefore(broadcastMomentDateTime) ? b.add(1, "d") : b;
413
+ let a = dayjs(firstParamTime, format);
414
+ let b = dayjs(secondParamTime, format);
415
+ let broadcastdayjsDateTime = dayjs(broadcastTime, "HH:mm:ss");
416
+ a = a.isBefore(broadcastdayjsDateTime) ? a.add(1, "d") : a;
417
+ b = b.isBefore(broadcastdayjsDateTime) ? b.add(1, "d") : b;
416
418
  let result = a.isBefore(b) ? -1 : a.isAfter(b) ? 1 : 0;
417
419
  return result;
418
420
  }
@@ -599,13 +601,13 @@ class AnnaWeekCalendarComponent {
599
601
  }
600
602
  }
601
603
  getWeekNumber(week, firstDayOfWeek) {
602
- const weekStartDate = moment(convertNgbDateToMoment(week[0]), "MM/DD/YYYY");
604
+ const weekStartDate = dayjs(convertNgbDateToMoment(week[0]), "MM/DD/YYYY");
603
605
  const weekYear = weekStartDate.year();
604
- const yearStartDate = moment(`01/01/${weekYear}`, "MM/DD/YYYY");
606
+ const yearStartDate = dayjs(`01/01/${weekYear}`, "MM/DD/YYYY");
605
607
  const weekDay = yearStartDate.day();
606
608
  const noOfDays = weekStartDate.diff(yearStartDate, "d") + 1;
607
609
  function convertNgbDateToMoment(ngbDate) {
608
- let converted = moment();
610
+ let converted = dayjs();
609
611
  converted.month(ngbDate.month - 1);
610
612
  converted.date(ngbDate.day);
611
613
  converted.year(ngbDate.year);
@@ -684,15 +686,15 @@ class AnnaWeekCalendarComponent {
684
686
  this.toDate = this.constructEndDate(dateObject)(constructDate);
685
687
  }
686
688
  if (this.disabledDates.length > 0) {
687
- let momentStartDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(this.fromDate), "MM/DD/YYYY");
688
- let momentEndDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(this.toDate), "MM/DD/YYYY");
689
+ let dayjsStartDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(this.fromDate), "MM/DD/YYYY");
690
+ let dayjsEndDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(this.toDate), "MM/DD/YYYY");
689
691
  let ngbDate;
690
- while (!momentStartDate.isSame(momentEndDate)) {
691
- ngbDate = this.annaDateTimeFormatService.convertToNgbDate(momentStartDate, "MM/DD/YYYY");
692
+ while (!dayjsStartDate.isSame(dayjsEndDate)) {
693
+ ngbDate = this.annaDateTimeFormatService.convertToNgbDate(dayjsStartDate, "MM/DD/YYYY");
692
694
  if (this.checkIfDateIsDisabled(ngbDate)) {
693
695
  break;
694
696
  }
695
- momentStartDate.add(1, "d");
697
+ dayjsStartDate.add(1, "d");
696
698
  }
697
699
  let newDateObject = new Date(ngbDate.year, ngbDate.month - 1, ngbDate.day - 1);
698
700
  let constructDate = this.buildDate(newDateObject);
@@ -1229,6 +1231,8 @@ class AnnaFilterService {
1229
1231
  }
1230
1232
  return data.toString();
1231
1233
  };
1234
+ dayjs.extend(minMax);
1235
+ dayjs.extend(isBetween);
1232
1236
  console.log("AnnaFilterService service created.");
1233
1237
  const sliderArr = [
1234
1238
  "rcvPreempt",
@@ -1277,9 +1281,9 @@ class AnnaFilterService {
1277
1281
  }
1278
1282
  returnMinAndMaxDate(data, key) {
1279
1283
  data = data.filter((obj) => !["", "-", null].includes(obj[key]));
1280
- let DateArr = data.map((obj) => moment(obj[key]));
1281
- let minDate = moment.min(DateArr);
1282
- let maxDate = moment.max(DateArr);
1284
+ let DateArr = data.map((obj) => dayjs(obj[key]));
1285
+ let minDate = dayjs.min(DateArr);
1286
+ let maxDate = dayjs.max(DateArr);
1283
1287
  return [minDate, maxDate];
1284
1288
  }
1285
1289
  isTooltipActive(header, sortMap) {
@@ -1313,7 +1317,7 @@ class AnnaFilterService {
1313
1317
  let uniqueDates = uniq(data.map((u) => u["date"]));
1314
1318
  let uniqueDatesInNgbDateFormat = [];
1315
1319
  uniqueDates.forEach((date) => {
1316
- uniqueDatesInNgbDateFormat.push(this.dateTimeFormatService.convertToNgbDateStandardFormat(moment(date, "MM/DD/YY").format("MM/DD/YYYY")));
1320
+ uniqueDatesInNgbDateFormat.push(this.dateTimeFormatService.convertToNgbDateStandardFormat(dayjs(date, "MM/DD/YY").format("MM/DD/YYYY")));
1317
1321
  });
1318
1322
  return uniqueDatesInNgbDateFormat;
1319
1323
  }
@@ -1406,17 +1410,17 @@ class AnnaFilterService {
1406
1410
  return filteredData;
1407
1411
  }
1408
1412
  returnOrdersInTheRange(order, range, key) {
1409
- let isDateBetweenTheSelectedRange = moment(order[key]).isBetween(range.minSelectedDate, range.maxSelectedDate);
1410
- let isDateSameAsTheMinSelectedDate = moment(order[key]).isSame(range.minSelectedDate);
1411
- let isDateSameAsTheMaxSelectedDate = moment(order[key]).isSame(range.maxSelectedDate);
1413
+ let isDateBetweenTheSelectedRange = dayjs(order[key]).isBetween(range.minSelectedDate, range.maxSelectedDate);
1414
+ let isDateSameAsTheMinSelectedDate = dayjs(order[key]).isSame(range.minSelectedDate);
1415
+ let isDateSameAsTheMaxSelectedDate = dayjs(order[key]).isSame(range.maxSelectedDate);
1412
1416
  return isDateBetweenTheSelectedRange || isDateSameAsTheMinSelectedDate || isDateSameAsTheMaxSelectedDate;
1413
1417
  }
1414
1418
  returnDataForTimeRange(obj, selectedData) {
1415
1419
  let format = "HH:mm:ss";
1416
- let selectedStartDate = moment(selectedData.startTime, format);
1417
- let selectedEndDate = moment(selectedData.endTime, format);
1418
- let startTime = moment(obj.startTime, format);
1419
- let endTime = moment(obj.endTime, format);
1420
+ let selectedStartDate = dayjs(selectedData.startTime, format);
1421
+ let selectedEndDate = dayjs(selectedData.endTime, format);
1422
+ let startTime = dayjs(obj.startTime, format);
1423
+ let endTime = dayjs(obj.endTime, format);
1420
1424
  let isStartTimeSameAsSelectedStartTime = startTime.isSame(selectedStartDate);
1421
1425
  let isStartTimeBetweenSelectedStartAndEndTime = startTime.isBetween(selectedStartDate, selectedEndDate);
1422
1426
  let isEndTimeSameAsSelectedEndTime = endTime.isSame(selectedEndDate);
@@ -1428,8 +1432,8 @@ class AnnaFilterService {
1428
1432
  }
1429
1433
  returnDataForFromAndToTimeRange(obj, selectedData, key) {
1430
1434
  let format = "HH:mm:ss";
1431
- let selectedFromTime = moment(selectedData.fromTime, format);
1432
- let selectedToTime = moment(selectedData.toTime, format);
1435
+ let selectedFromTime = dayjs(selectedData.fromTime, format);
1436
+ let selectedToTime = dayjs(selectedData.toTime, format);
1433
1437
  let objTime = obj[key];
1434
1438
  if (["", "-", null].includes(objTime)) {
1435
1439
  return false;
@@ -1449,18 +1453,18 @@ class AnnaFilterService {
1449
1453
  if (!selectedData.includeTimeRange) {
1450
1454
  return false;
1451
1455
  }
1452
- let momentTime = moment(objTime, format);
1453
- let isObjTimeSameAsSelectedFromTime = momentTime.isSame(selectedFromTime);
1454
- let isObjTimeSameAsSelectedToTime = momentTime.isSame(selectedToTime);
1455
- let isObjTimeBetweenSelectedFromTimeAndToTime = momentTime.isBetween(selectedFromTime, selectedToTime);
1456
+ let dayjsTime = dayjs(objTime, format);
1457
+ let isObjTimeSameAsSelectedFromTime = dayjsTime.isSame(selectedFromTime);
1458
+ let isObjTimeSameAsSelectedToTime = dayjsTime.isSame(selectedToTime);
1459
+ let isObjTimeBetweenSelectedFromTimeAndToTime = dayjsTime.isBetween(selectedFromTime, selectedToTime);
1456
1460
  return (isObjTimeSameAsSelectedFromTime ||
1457
1461
  isObjTimeSameAsSelectedToTime ||
1458
1462
  isObjTimeBetweenSelectedFromTimeAndToTime);
1459
1463
  }
1460
1464
  returnDataForStartAndEndTimeRange(obj, selectedData, key) {
1461
1465
  let format = "HH:mm:ss";
1462
- let selectedFromTime = moment(selectedData.fromTime, format);
1463
- let selectedToTime = moment(selectedData.toTime, format);
1466
+ let selectedFromTime = dayjs(selectedData.fromTime, format);
1467
+ let selectedToTime = dayjs(selectedData.toTime, format);
1464
1468
  if (selectedData.includeMulti && obj[key][0] == "<multi>") {
1465
1469
  return true;
1466
1470
  }
@@ -1476,8 +1480,8 @@ class AnnaFilterService {
1476
1480
  if (!selectedData.includeTimeRange) {
1477
1481
  return false;
1478
1482
  }
1479
- let startTime = moment(obj[key][1], format);
1480
- let endTime = moment(obj[key][2], format);
1483
+ let startTime = dayjs(obj[key][1], format);
1484
+ let endTime = dayjs(obj[key][2], format);
1481
1485
  let isStartTimeSameAsSelectedStartTime = startTime.isSame(selectedFromTime);
1482
1486
  let isStartTimeBetweenSelectedStartAndEndTime = startTime.isBetween(selectedFromTime, selectedToTime);
1483
1487
  let isEndTimeSameAsSelectedEndTime = endTime.isSame(selectedToTime);
@@ -1491,20 +1495,20 @@ class AnnaFilterService {
1491
1495
  let parsingFormat;
1492
1496
  if (key === "period") {
1493
1497
  parsingFormat = "YYYY-MM-DD";
1494
- let momentStartDate = moment(obj.startDate);
1495
- let momentEndDate = moment(obj.endDate);
1496
- let startDateIsBetweenSelDate = momentStartDate.isBetween(value.fromDate, value.toDate);
1497
- let endDateIsBetweenSelDate = momentEndDate.isBetween(value.fromDate, value.toDate);
1498
- let startDateIsSameAsSelStartDate = value.fromDate.isSame(momentStartDate);
1499
- let endDateIsSameAsSelEndDate = value.toDate.isSame(momentEndDate);
1498
+ let dayjsStartDate = dayjs(obj.startDate);
1499
+ let dayjsEndDate = dayjs(obj.endDate);
1500
+ let startDateIsBetweenSelDate = dayjsStartDate.isBetween(value.fromDate, value.toDate);
1501
+ let endDateIsBetweenSelDate = dayjsEndDate.isBetween(value.fromDate, value.toDate);
1502
+ let startDateIsSameAsSelStartDate = value.fromDate.isSame(dayjsStartDate);
1503
+ let endDateIsSameAsSelEndDate = value.toDate.isSame(dayjsEndDate);
1500
1504
  return ((startDateIsBetweenSelDate || startDateIsSameAsSelStartDate) &&
1501
1505
  (endDateIsBetweenSelDate || endDateIsSameAsSelEndDate));
1502
1506
  }
1503
1507
  else if (key === "AirDate" || key === "flightStartDate" || key === "flightEndDate") {
1504
1508
  parsingFormat = "MM/DD/YYYY";
1505
- let dateIsBetweenSelDate = moment(obj[key], parsingFormat).isBetween(value.minSelectedDate, value.maxSelectedDate);
1506
- let dateIsSameAsSelStartDate = moment(obj[key], parsingFormat).isSame(value.minSelectedDate);
1507
- let dateIsSameAsSelEndDate = moment(obj[key], parsingFormat).isSame(value.maxSelectedDate);
1509
+ let dateIsBetweenSelDate = dayjs(obj[key], parsingFormat).isBetween(value.minSelectedDate, value.maxSelectedDate);
1510
+ let dateIsSameAsSelStartDate = dayjs(obj[key], parsingFormat).isSame(value.minSelectedDate);
1511
+ let dateIsSameAsSelEndDate = dayjs(obj[key], parsingFormat).isSame(value.maxSelectedDate);
1508
1512
  return dateIsBetweenSelDate || dateIsSameAsSelStartDate || dateIsSameAsSelEndDate;
1509
1513
  }
1510
1514
  }
@@ -1577,10 +1581,10 @@ class AnnaFilterService {
1577
1581
  }
1578
1582
  isObjectInTheRange(obj, value, key) {
1579
1583
  let objVal = obj[key];
1580
- let momentDate = moment(objVal);
1584
+ let dayjsDate = dayjs(objVal);
1581
1585
  let isDateSameAsStartOfTheRange = value.fromDate.isSame(objVal);
1582
1586
  let isDateSameAsEndOfTheRange = value.toDate.isSame(objVal);
1583
- let isDateBetweenTheStartAndEndOfRange = momentDate.isBetween(value.fromDate, value.toDate);
1587
+ let isDateBetweenTheStartAndEndOfRange = dayjsDate.isBetween(value.fromDate, value.toDate);
1584
1588
  return isDateSameAsStartOfTheRange || isDateSameAsEndOfTheRange || isDateBetweenTheStartAndEndOfRange;
1585
1589
  }
1586
1590
  updateStateOfTheCurrentFilterTab(sortMap) {
@@ -1893,7 +1897,7 @@ class AnnaNonEditableGenericTableComponent {
1893
1897
  this.tooltipRadioTextMap.set("bookedCpmValue", "Booked CPM");
1894
1898
  this.tooltipRadioTextMap.set("bookedEffectiveCpmValue", "Effective CPM");
1895
1899
  this.tooltipRadioTextMap.set("orderSource", "Order Source");
1896
- this.tooltipRadioTextMap.set("orderCategory", "Rev Category");
1900
+ this.tooltipRadioTextMap.set("orderCategory", "Category");
1897
1901
  this.tooltipRadioTextMap.set("cashOrTrade", "C/T");
1898
1902
  this.tooltipRadioTextMap.set("revisionStartDate", "Revision Start Date");
1899
1903
  }
@@ -2625,8 +2629,8 @@ class AnnaNonEditableGenericTableComponent {
2625
2629
  currentSelectedDate = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
2626
2630
  }
2627
2631
  else {
2628
- currentSelectedDate.fromDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.fromDate));
2629
- currentSelectedDate.toDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.toDate));
2632
+ currentSelectedDate.fromDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.fromDate));
2633
+ currentSelectedDate.toDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.toDate));
2630
2634
  }
2631
2635
  this.annaFilterService.reOrderAppliedFiltersState(this.clonedTableData, currentSelectedDate);
2632
2636
  this.annaFilterService.tooltipSelectedMap.set(this.annaFilterService.selectedRadio, currentSelectedDate);
@@ -2784,7 +2788,7 @@ class AnnaNonEditableGenericTableComponent {
2784
2788
  let startTime24HrFormat = startTime24HrFormatArr[0] + ":" + startTime24HrFormatArr[1] + ":00";
2785
2789
  let endTime24HrFormatArr = this.annaDateTimeFormatService.convertTotwentyFourHrsFormat(this.selectedToTime[0] + ":" + this.selectedToTime[1] + " " + this.selectedToTime[2], true);
2786
2790
  let endTime24HrFormat = endTime24HrFormatArr[0] + ":" + endTime24HrFormatArr[1] + ":00";
2787
- return !(moment(startTime24HrFormat, timeFormat).isAfter(moment(endTime24HrFormat, timeFormat)));
2791
+ return !(dayjs(startTime24HrFormat, timeFormat).isAfter(dayjs(endTime24HrFormat, timeFormat)));
2788
2792
  }
2789
2793
  sortedData(event) {
2790
2794
  if (event.type == "none") {
@@ -3183,8 +3187,8 @@ class AnnaNonEditableGenericTableComponent {
3183
3187
  currentSelectedDate = this.annaFilterService.initialValueMap.get(this.annaFilterService.selectedRadio);
3184
3188
  }
3185
3189
  else {
3186
- currentSelectedDate.fromDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.fromDate));
3187
- currentSelectedDate.toDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.toDate));
3190
+ currentSelectedDate.fromDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.fromDate));
3191
+ currentSelectedDate.toDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(currentSelectedDate.toDate));
3188
3192
  }
3189
3193
  this.isFilterChanged = !isEqual(previousSelectedDate, currentSelectedDate);
3190
3194
  }