@annalib/anna-core 7.2.4 → 7.2.6

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.
Files changed (156) hide show
  1. package/annalib-anna-core.d.ts +5 -0
  2. package/esm2020/annalib-anna-core.mjs +5 -0
  3. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +15 -0
  4. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +35 -0
  5. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +15 -0
  6. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  7. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +15 -0
  8. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +21 -0
  9. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +15 -0
  10. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +35 -0
  11. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +282 -0
  12. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +27 -0
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-manage-users.model.mjs +8 -0
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +2 -0
  17. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
  18. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -0
  19. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  20. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +46 -0
  21. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  22. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +199 -0
  24. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +469 -0
  25. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +124 -0
  26. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  27. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +41 -0
  28. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +147 -0
  29. package/esm2020/lib/anna-core.module.mjs +180 -0
  30. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +101 -0
  31. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +364 -0
  32. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1834 -0
  33. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +69 -0
  34. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +189 -0
  36. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  37. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  38. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  39. package/esm2020/public-api.mjs +50 -0
  40. package/fesm2015/annalib-anna-core.mjs +4875 -0
  41. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  42. package/fesm2020/annalib-anna-core.mjs +4868 -0
  43. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  44. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  45. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +16 -0
  46. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  47. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  48. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  49. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  50. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  51. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +33 -0
  52. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -0
  53. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +9 -0
  54. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -0
  55. package/{src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.ts → lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts} +9 -21
  56. package/lib/anna-core-shared-lib/models/anna-manage-users.model.d.ts +6 -0
  57. package/{src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.ts → lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts} +17 -28
  58. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -0
  59. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -0
  60. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  61. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  62. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  63. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  64. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +27 -0
  65. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +74 -0
  66. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +28 -0
  67. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  68. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +7 -0
  69. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  70. package/lib/anna-core.module.d.ts +36 -0
  71. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  72. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -0
  73. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +283 -0
  74. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -0
  75. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  76. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +89 -0
  77. package/{src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.ts → lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts} +0 -0
  78. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  79. package/{src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.ts → lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts} +0 -0
  80. package/package.json +39 -19
  81. package/{src/public-api.ts → public-api.d.ts} +0 -28
  82. package/.browserslistrc +0 -16
  83. package/karma.conf.js +0 -44
  84. package/ng-package.json +0 -14
  85. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +0 -22
  86. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  87. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +0 -25
  88. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +0 -16
  89. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.html +0 -33
  90. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.scss +0 -0
  91. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.spec.ts +0 -25
  92. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.ts +0 -28
  93. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +0 -20
  94. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  95. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +0 -25
  96. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +0 -16
  97. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +0 -3
  98. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +0 -17
  99. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +0 -24
  100. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +0 -20
  101. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +0 -23
  102. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  103. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +0 -25
  104. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +0 -16
  105. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +0 -15
  106. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  107. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.spec.ts +0 -25
  108. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +0 -19
  109. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +0 -14
  110. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  111. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +0 -25
  112. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +0 -16
  113. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +0 -35
  114. package/src/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.ts +0 -307
  115. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.ts +0 -19
  116. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +0 -19
  117. package/src/lib/anna-core-shared-lib/models/anna-manage-users.model.ts +0 -6
  118. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +0 -13
  119. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +0 -44
  120. package/src/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.ts +0 -20
  121. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +0 -43
  122. package/src/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.ts +0 -19
  123. package/src/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.ts +0 -12
  124. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +0 -219
  125. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +0 -563
  126. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +0 -136
  127. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +0 -170
  128. package/src/lib/anna-core-shared-lib/services/anna-number-format.service.ts +0 -43
  129. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +0 -179
  130. package/src/lib/anna-core.module.ts +0 -112
  131. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +0 -46
  132. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +0 -153
  133. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +0 -24
  134. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +0 -106
  135. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +0 -129
  136. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +0 -275
  137. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +0 -24
  138. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +0 -414
  139. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +0 -1080
  140. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +0 -668
  141. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +0 -25
  142. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +0 -2186
  143. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +0 -10
  144. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +0 -1
  145. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +0 -24
  146. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +0 -69
  147. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +0 -13
  148. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +0 -88
  149. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +0 -25
  150. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +0 -460
  151. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.ts +0 -237
  152. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +0 -204
  153. package/src/test.ts +0 -27
  154. package/tsconfig.lib.json +0 -19
  155. package/tsconfig.lib.prod.json +0 -10
  156. package/tsconfig.spec.json +0 -17
@@ -1,414 +0,0 @@
1
- // Angular import statements
2
- import { DatePipe } from "@angular/common";
3
- import { AfterViewInit, Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges } from "@angular/core";
4
-
5
- // Third party import statements
6
- import { NgbCalendar, NgbDate, NgbDatepickerConfig, NgbDateStruct, NgbInputDatepicker } from "@ng-bootstrap/ng-bootstrap";
7
- import dayjs from "dayjs";
8
- import { WeekObject } from '../../../anna-core-shared-lib/models/anna-generic-data-type.model';
9
- import { IWeekCalendar } from '../../../anna-core-shared-lib/models/anna-global-dropdown-config.model';
10
- import { AnnaDateTimeFormatService } from '../../../anna-core-shared-lib/services/anna-date-time-format.service';
11
- import { AnnaGlobalConfigService } from '../../../anna-core-shared-lib/services/anna-global-config.service';
12
-
13
- // User defined import statements
14
-
15
-
16
-
17
- @Component({
18
- selector: "anna-core-week-calendar-filter-lib",
19
- templateUrl: "./anna-week-calendar-filter.component.html",
20
- styleUrls: ["./anna-week-calendar-filter.component.scss"],
21
- })
22
- export class AnnaWeekCalendarComponent implements OnInit, OnChanges, AfterViewInit {
23
- fromDate: NgbDate | null;
24
- hoveredDate: NgbDate | null = null;
25
- toDate: NgbDate | null = null;
26
- today: NgbDate;
27
-
28
- model: NgbDateStruct;
29
-
30
- weekNumbers: string[] = [];
31
- pipe: DatePipe;
32
- dateToDisplay: string = "";
33
- weekObjects: WeekObject[];
34
- multiSelectDropdownOpen: boolean = false;
35
- datepicker: NgbInputDatepicker;
36
- private formatter: any;
37
- public formattedStartDate: string;
38
- public formattedEndDate: string;
39
- private calendarMap = new Map();
40
- private flag1: boolean;
41
- private flag2: boolean;
42
- @Input("from-date") selectedFromDate: NgbDateStruct;
43
- @Input("to-date") selectedEndDate: NgbDateStruct;
44
- @Input("disabled-dates") disabledDates: NgbDate[] = [];
45
- @Input() maxDate: any;
46
- @Input() minDate: any;
47
-
48
- disabledFunc: any;
49
- state: any;
50
-
51
- //Setting the default values;
52
- private _defaultValues: IWeekCalendar;
53
-
54
- @Input("week-calendar-config") config: IWeekCalendar;
55
- @Output("apply") applyWeekCalendarChanges = new EventEmitter();
56
- @Output("toggle-calendar") calendarToggled = new EventEmitter();
57
-
58
- ngOnChanges(changes: SimpleChanges): void {
59
- //if some values are not sent, setting the default values
60
- this._defaultValues = this.globalConfigService.defaultWeekCalendarConfig;
61
- this.config = { ...this._defaultValues, ...this.config };
62
-
63
- if (this.config.selectCurrentWeek) {
64
- this.initializeWeekData();
65
- this.fromDate && this.selectWeek(this.fromDate);
66
- }
67
-
68
- this.formatter = this.formattedDates();
69
-
70
- if (this.selectedFromDate && this.selectedEndDate && this.config) {
71
- // this.selectWeek(this.fromDate);
72
- this.fromDate = NgbDate.from(this.selectedFromDate);
73
- this.toDate = NgbDate.from(this.selectedEndDate);
74
- this.weekNumberGenerator();
75
- this.displayToUI();
76
- this.setCalendarMap();
77
- }
78
-
79
- if (this.disabledDates.length > 0) {
80
- this.disabledFunc = (date: NgbDate, current: { month: number }) => {
81
- return this.checkIfDateIsDisabled(date);
82
- };
83
- }
84
- }
85
-
86
- constructor(
87
- private calendar: NgbCalendar,
88
- private datePickerConfig: NgbDatepickerConfig,
89
- private annaDateTimeFormatService: AnnaDateTimeFormatService,
90
- private globalConfigService: AnnaGlobalConfigService
91
- ) { }
92
-
93
-
94
- getWeekNumber(week: any, firstDayOfWeek: any) {
95
- const weekStartDate = dayjs(convertNgbDateToMoment(week[0]), "MM/DD/YYYY");
96
- const weekYear = weekStartDate.year();
97
- const yearStartDate = dayjs(`01/01/${weekYear}`, "MM/DD/YYYY");
98
- const weekDay = yearStartDate.day();
99
-
100
- const noOfDays = weekStartDate.diff(yearStartDate, "d") + 1;
101
-
102
- function convertNgbDateToMoment(ngbDate: NgbDate): string {
103
- let formatType = "MM/DD/YYYY";
104
- let converted = null;
105
- if(ngbDate && ngbDate.month && ngbDate.day && ngbDate.year){
106
- converted = ngbDate.month+ "/" + ngbDate.day + "/" + ngbDate.year;
107
- converted = dayjs(converted).format(formatType);
108
- }
109
- return converted;
110
- }
111
-
112
- function checkIfYearIsBroadcastLeapYear() {
113
- let isLeapYear = (weekYear % 4 == 0 && weekYear % 100 != 0) || weekYear % 400 == 0;
114
- return (isLeapYear && (weekDay == 0 || weekDay == 6)) || (!isLeapYear && weekDay == 0);
115
- }
116
-
117
- const isLeapYear = checkIfYearIsBroadcastLeapYear();
118
- const divider = isLeapYear ? 53 : 52;
119
- const adder = isLeapYear ? 2 : 1;
120
-
121
- let broadcastNumberOfDays = weekDay + noOfDays;
122
- let broadcastWeekNumber = broadcastNumberOfDays % 7 > 0 ? broadcastNumberOfDays / 7 + adder : broadcastNumberOfDays / 7;
123
-
124
- if (Math.floor(broadcastWeekNumber % divider) === 0) {
125
- return divider;
126
- }
127
- return Math.floor(broadcastWeekNumber % divider);
128
- }
129
-
130
- ngAfterViewInit(): void {
131
- // CHANGES@ANNALIB Changed this.
132
- // this.calendar["__proto__"].getWeekNumber = this.getWeekNumber;
133
- Object.setPrototypeOf(this.calendar, {getWeekNumber: this.getWeekNumber})
134
- }
135
-
136
- ngOnInit(): void {
137
- // this.selectWeek(this.fromDate);
138
- this.setCalendarMap();
139
- }
140
-
141
- initializeWeekData() {
142
- this.weekObjects = [];
143
-
144
- this.fromDate = this.calendar.getToday();
145
- this.today = this.calendar.getToday();
146
-
147
- let backDatedPeriod = JSON.parse(localStorage.getItem("userDetails") || '{}').locking_period_days;
148
- if (backDatedPeriod < 0) {
149
- let date: NgbDate = this.calendar.getPrev(this.calendar.getToday(), "d", Math.abs(backDatedPeriod));
150
- this.today = NgbDate.from(date);
151
- this.fromDate = NgbDate.from(date);
152
- }
153
-
154
- // Disable months before numberOfMonthsToEnable
155
- this.datePickerConfig.markDisabled = (date: NgbDateStruct) => {
156
- let previousMonth = this.calendar.getPrev(this.today, "m", this.config.numberOfMonthsToEnableInPast);
157
- let previousDay = this.calendar.getPrev(previousMonth, "d", 1);
158
- return !NgbDate.from(previousDay).before(date);
159
- };
160
- this.formatter = this.formattedDates();
161
- this.flag1 = false;
162
- this.flag2 = false;
163
- }
164
-
165
- selectWeek(date: NgbDate): void {
166
- const dateObject = new Date(date.year, date.month - 1, date.day);
167
- let constructDate = this.buildDate(dateObject);
168
-
169
- if (!this.config.selectMultipleWeeks) {
170
- //Single week selection
171
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
172
- this.toDate = this.constructEndDate(dateObject)(constructDate);
173
- this.weekNumberGenerator();
174
- } else {
175
- if (date.before(this.fromDate)) {
176
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
177
- if (this.flag1) {
178
- this.toDate = this.constructEndDate(dateObject)(constructDate);
179
- }
180
- this.flag1 = !this.flag1;
181
- } else if (date.after(this.toDate)) {
182
- if (this.flag2) {
183
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
184
- //this.toDate = this.constructEndDate(dateObject)(constructDate);
185
- }
186
- this.flag2 = !this.flag2;
187
- this.toDate = this.constructEndDate(dateObject)(constructDate);
188
- } else {
189
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
190
- this.toDate = this.constructEndDate(dateObject)(constructDate);
191
- }
192
-
193
- if (this.disabledDates.length > 0) {
194
- let dayjsStartDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(this.fromDate), "MM/DD/YYYY");
195
- let dayjsEndDate = dayjs(this.annaDateTimeFormatService.convertNgbDateToMoment(this.toDate), "MM/DD/YYYY");
196
- let ngbDate;
197
- while (!dayjsStartDate.isSame(dayjsEndDate)) {
198
- ngbDate = this.annaDateTimeFormatService.convertToNgbDate(dayjsStartDate, "MM/DD/YYYY");
199
- if (this.checkIfDateIsDisabled(ngbDate)) {
200
- break;
201
- }
202
- dayjsStartDate.add(1, "d");
203
- }
204
- let newDateObject = new Date(ngbDate.year, ngbDate.month - 1, ngbDate.day - 1);
205
- let constructDate = this.buildDate(newDateObject);
206
- this.toDate = this.constructEndDate(newDateObject)(constructDate);
207
- }
208
-
209
- this.weekNumberGenerator();
210
- }
211
-
212
- if (!this.config.showAsDropdown) {
213
- this.applyChanges();
214
- }
215
- }
216
-
217
- weekNumberGenerator(): void {
218
- let dates = [];
219
- let week = [];
220
-
221
- let startDate = NgbDate.from(this.fromDate);
222
- let endDate = NgbDate.from(this.toDate);
223
-
224
- week.push(startDate);
225
- while (endDate != null && !startDate.equals(endDate)) {
226
- let date = this.calendar.getNext(startDate, "d", 1);
227
- startDate = date;
228
- week.push(date);
229
-
230
- // Collect all days in week to calculate the week number
231
- if (week.length == 7) {
232
- dates.push(week);
233
- week = [];
234
- }
235
- }
236
- if (((this.config.maxWeeksToSelect ?? 0) > 0 && dates.length > (this.config.maxWeeksToSelect ?? 0))) {
237
- dates.splice((this.config.maxWeeksToSelect ?? 0), dates.length - (this.config.maxWeeksToSelect ?? 0));
238
- }
239
- this.selectedDates(dates);
240
-
241
- this.weekNumbers = [];
242
- this.weekObjects = [];
243
- if (dates.length > 0) {
244
- for (let date of dates) {
245
- this.weekNumbers.push(" Week " + this.calendar.getWeekNumber(date, this.config.firstDayOfWeek));
246
- let dates = this.formatter(date[0], date[6]);
247
- let dateObjects = { startDate: dates.formattedStartDate, endDate: dates.formattedEndDate };
248
- this.weekObjects.push(dateObjects);
249
- }
250
- }
251
- this.displayToUI();
252
- }
253
-
254
- selectedDates(dates: any) {
255
- this.fromDate = dates[0][0];
256
- this.toDate = dates[dates.length - 1][6];
257
- }
258
-
259
- formattedDates() {
260
- let pipe = new DatePipe("en-US");
261
- let thisObj = this;
262
- return function (fromDate: NgbDate, toDate: NgbDate) {
263
- let fromDateObject = new Date(fromDate.year, fromDate.month - 1, fromDate.day);
264
- let toDateObject = new Date(toDate.year, toDate.month - 1, toDate.day);
265
- thisObj.formattedStartDate = pipe.transform(fromDateObject, thisObj.config.dateFormatForRequest);
266
- thisObj.formattedEndDate = pipe.transform(toDateObject, thisObj.config.dateFormatForRequest);
267
-
268
- thisObj.dateToDisplay =
269
- pipe.transform(fromDateObject, thisObj.config.dateFormatToDisplay) +
270
- " to " +
271
- pipe.transform(toDateObject, thisObj.config.dateFormatToDisplay);
272
- return thisObj;
273
- };
274
- }
275
-
276
- displayToUI() {
277
- if (!this.config.selectMultipleWeeks && this.fromDate && this.toDate) {
278
- // Display for only Single Week
279
- this.formatter(this.fromDate, this.toDate);
280
- } else {
281
- // Display for Multiple Weeks
282
- if (this.weekNumbers.length > (this.config.maxWeeksToShowWithRemainingCount ?? 0)) {
283
- let weekDisplay = [];
284
- for (let i = 0; i < (this.config.maxWeeksToShowWithRemainingCount ?? 0); i++) {
285
- weekDisplay.push(this.weekNumbers.shift());
286
- }
287
- let remainingWeeks = this.weekNumbers.length;
288
- this.weekNumbers = [];
289
- this.weekNumbers.push(weekDisplay + " +" + remainingWeeks);
290
- }
291
- }
292
- }
293
-
294
- constructStartDate(date: Date) {
295
- let firstDayOfWeek = this.config.firstDayOfWeek;
296
- return function (constructDate: any) {
297
- let startDay = date.getDay() != 0 ? (firstDayOfWeek ?? 0) - date.getDay() : -6;
298
- return constructDate(startDay);
299
- };
300
- }
301
-
302
- constructEndDate(date: Date) {
303
- let firstDayOfWeek = this.config.firstDayOfWeek;
304
- return function (constructDate: any) {
305
- let endDay = date.getDay() != 0 ? (firstDayOfWeek ?? 0) + 6 - date.getDay() : 0;
306
- return constructDate(endDay);
307
- };
308
- }
309
-
310
- buildDate(date: Date) {
311
- return function (number: number): NgbDate | null {
312
- let day = date.getDate() + number;
313
- const dateObject = new Date(date.getFullYear(), date.getMonth(), day);
314
-
315
- let ngbDateObject = {} as NgbDate;
316
- ngbDateObject.day = day;
317
-
318
- if (ngbDateObject.day > 31 || ngbDateObject.day < 1) {
319
- ngbDateObject.day = dateObject.getDate();
320
- }
321
-
322
- ngbDateObject.month = dateObject.getMonth() + 1;
323
- ngbDateObject.year = dateObject.getFullYear();
324
- return NgbDate.from(ngbDateObject);
325
- };
326
- }
327
-
328
- isHovered(date: NgbDate): boolean | null {
329
- return this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate);
330
- }
331
-
332
- isInside(date: NgbDate): boolean | null {
333
- return this.toDate && date.after(this.fromDate) && date.before(this.toDate);
334
- }
335
-
336
- isRange(date: NgbDate): boolean | null {
337
- return (
338
- date.equals(this.fromDate) || (this.toDate && date.equals(this.toDate)) || this.isInside(date) || this.isHovered(date)
339
- );
340
- }
341
-
342
- previousWeek(): void {
343
- if (this.fromDate) {
344
- this.toDate = this.calendar.getPrev(this.fromDate, "d", 1);
345
- this.fromDate = this.calendar.getPrev(this.fromDate, "d", this.calendar.getDaysPerWeek());
346
- }
347
- this.weekNumberGenerator();
348
- this.applyChanges();
349
- }
350
-
351
- nextWeek(): void {
352
- if (this.fromDate) {
353
- this.fromDate = this.calendar.getNext(this.fromDate, "d", this.calendar.getDaysPerWeek());
354
- this.toDate = this.calendar.getNext(this.fromDate, "d", this.calendar.getDaysPerWeek() - 1);
355
- }
356
- this.weekNumberGenerator();
357
- this.applyChanges();
358
- }
359
-
360
- setCalendarMap() {
361
- let dateObj = { fromDate: this.fromDate, toDate: this.toDate };
362
- this.calendarMap.set("oldDates", dateObj);
363
- }
364
-
365
- applyChanges() {
366
- this.multiSelectDropdownOpen = false;
367
- if (!this.config.emitMultipleWeekObjects) {
368
- let dates = {} as WeekObject;
369
- let formattedDates = this.formatter(this.fromDate, this.toDate);
370
- dates.startDate = formattedDates.formattedStartDate;
371
- dates.endDate = formattedDates.formattedEndDate;
372
- this.applyWeekCalendarChanges.emit(dates);
373
- } else {
374
- this.applyWeekCalendarChanges.emit(this.weekObjects);
375
- }
376
- this.setCalendarMap();
377
- }
378
-
379
- isFocused(value: any) {
380
- this.calendarToggled.emit(value);
381
- }
382
-
383
- isDropdownOpenedForCalendar(datepicker: NgbInputDatepicker) {
384
- this.datepicker = datepicker;
385
- if (this.datepicker.isOpen()) {
386
- this.revertDates();
387
- this.datepicker.close();
388
- this.multiSelectDropdownOpen = false;
389
- } else {
390
- this.datepicker.open();
391
- this.multiSelectDropdownOpen = true;
392
- }
393
- }
394
-
395
- revertDates() {
396
- this.multiSelectDropdownOpen = false;
397
- if (this.calendarMap.get("oldDates")) {
398
- let dateObj = this.calendarMap.get("oldDates");
399
- this.fromDate = dateObj.fromDate;
400
- this.toDate = dateObj.toDate;
401
- this.weekNumberGenerator();
402
- this.displayToUI();
403
- }
404
- }
405
-
406
- checkIfDateIsDisabled(date: any): boolean {
407
- const validatorFunc = (ngbDate: NgbDate) => ngbDate.year === date.year && ngbDate.month === date.month && ngbDate.day === date.day;
408
- return this.disabledDates.some(validatorFunc);
409
- }
410
-
411
- closeDatepicker(datepickerRef: any) {
412
- datepickerRef.close();
413
- }
414
- }