@annalib/anna-core 2.6.1 → 2.7.2

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 (142) hide show
  1. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +2 -1
  2. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +1 -1
  3. package/esm2020/lib/anna-core.module.mjs +134 -0
  4. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +5 -4
  5. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +11 -9
  6. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +32 -22
  7. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +3 -6
  8. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +3 -3
  9. 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 +2 -2
  10. package/esm2020/public-api.mjs +41 -4
  11. package/fesm2015/annalib-anna-core.mjs +3604 -3663
  12. package/fesm2015/annalib-anna-core.mjs.map +1 -1
  13. package/fesm2020/annalib-anna-core.mjs +3622 -3681
  14. package/fesm2020/annalib-anna-core.mjs.map +1 -1
  15. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +1 -1
  16. package/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +0 -1
  17. package/lib/anna-core.module.d.ts +30 -0
  18. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +1 -1
  19. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +4 -1
  20. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +9 -1
  21. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +2 -1
  22. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +1 -1
  23. package/package.json +1 -25
  24. package/public-api.d.ts +28 -3
  25. package/src/lib/anna-common-scss/_colors.scss +107 -0
  26. package/src/lib/anna-common-scss/_dashboard-partials.scss +104 -0
  27. package/src/lib/anna-common-scss/_filters.scss +596 -0
  28. package/src/lib/anna-common-scss/_font.scss +10 -0
  29. package/src/lib/anna-common-scss/_fonts.scss +86 -0
  30. package/src/lib/anna-common-scss/_legend.scss +11 -0
  31. package/src/lib/anna-common-scss/_ng-select.scss +176 -0
  32. package/src/lib/anna-common-scss/_sort.scss +30 -0
  33. package/src/lib/anna-common-scss/style.scss +1 -0
  34. package/esm2020/lib/anna-core-shared-lib/anna-core-shared-lib.module.mjs +0 -69
  35. package/esm2020/lib/anna-core-shared-lib/index.mjs +0 -2
  36. package/esm2020/lib/anna-core-shared-lib/public-api.mjs +0 -29
  37. package/esm2020/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +0 -43
  38. package/esm2020/lib/anna-dropdown-lib/index.mjs +0 -2
  39. package/esm2020/lib/anna-dropdown-lib/public-api.mjs +0 -6
  40. package/esm2020/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +0 -86
  41. package/esm2020/lib/anna-generic-table-lib/index.mjs +0 -2
  42. package/esm2020/lib/anna-generic-table-lib/public-api.mjs +0 -10
  43. package/esm2020/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.mjs +0 -69
  44. package/esm2020/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +0 -5
  45. package/esm2020/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -15
  46. package/esm2020/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -35
  47. package/esm2020/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -15
  48. package/esm2020/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
  49. package/esm2020/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -15
  50. package/esm2020/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -21
  51. package/esm2020/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -15
  52. package/esm2020/src/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -34
  53. package/esm2020/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -27
  54. package/esm2020/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
  55. package/esm2020/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
  56. package/esm2020/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -3
  57. package/esm2020/src/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -2
  58. package/esm2020/src/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +0 -30
  59. package/esm2020/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -31
  60. package/esm2020/src/lib/anna-core-shared-lib/public-api.mjs +0 -29
  61. package/esm2020/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -180
  62. package/esm2020/src/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -419
  63. package/esm2020/src/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -48
  64. package/esm2020/src/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -133
  65. package/esm2020/src/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -147
  66. package/esm2020/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.mjs +0 -43
  67. package/esm2020/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +0 -5
  68. package/esm2020/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -99
  69. package/esm2020/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -360
  70. package/esm2020/src/lib/anna-dropdown-lib/public-api.mjs +0 -6
  71. package/esm2020/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.mjs +0 -86
  72. package/esm2020/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +0 -5
  73. package/esm2020/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -1611
  74. package/esm2020/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -70
  75. package/esm2020/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -357
  76. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +0 -189
  77. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +0 -2
  78. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -178
  79. package/esm2020/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +0 -2
  80. package/esm2020/src/lib/anna-generic-table-lib/public-api.mjs +0 -10
  81. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +0 -1200
  82. package/fesm2015/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +0 -1
  83. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +0 -493
  84. package/fesm2015/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +0 -1
  85. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +0 -2459
  86. package/fesm2015/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +0 -1
  87. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs +0 -1200
  88. package/fesm2020/annalib-anna-core-src-lib-anna-core-shared-lib.mjs.map +0 -1
  89. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs +0 -491
  90. package/fesm2020/annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map +0 -1
  91. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs +0 -2458
  92. package/fesm2020/annalib-anna-core-src-lib-anna-generic-table-lib.mjs.map +0 -1
  93. package/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +0 -16
  94. package/lib/anna-core-shared-lib/index.d.ts +0 -1
  95. package/lib/anna-core-shared-lib/public-api.d.ts +0 -21
  96. package/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +0 -11
  97. package/lib/anna-dropdown-lib/index.d.ts +0 -1
  98. package/lib/anna-dropdown-lib/public-api.d.ts +0 -3
  99. package/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +0 -21
  100. package/lib/anna-generic-table-lib/index.d.ts +0 -1
  101. package/lib/anna-generic-table-lib/public-api.d.ts +0 -6
  102. package/src/lib/anna-core-shared-lib/anna-core-shared-lib.module.d.ts +0 -16
  103. package/src/lib/anna-core-shared-lib/annalib-anna-core-src-lib-anna-core-shared-lib.d.ts +0 -5
  104. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +0 -8
  105. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +0 -16
  106. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +0 -8
  107. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +0 -11
  108. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +0 -8
  109. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +0 -11
  110. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +0 -8
  111. package/src/lib/anna-core-shared-lib/constants/shared.constant.d.ts +0 -32
  112. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +0 -9
  113. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +0 -12
  114. package/src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts +0 -95
  115. package/src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts +0 -72
  116. package/src/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +0 -6
  117. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +0 -25
  118. package/src/lib/anna-core-shared-lib/package.json +0 -10
  119. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +0 -9
  120. package/src/lib/anna-core-shared-lib/public-api.d.ts +0 -21
  121. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +0 -25
  122. package/src/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +0 -73
  123. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +0 -14
  124. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +0 -21
  125. package/src/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +0 -16
  126. package/src/lib/anna-dropdown-lib/anna-dropdown-lib.module.d.ts +0 -11
  127. package/src/lib/anna-dropdown-lib/annalib-anna-core-src-lib-anna-dropdown-lib.d.ts +0 -5
  128. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +0 -34
  129. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +0 -67
  130. package/src/lib/anna-dropdown-lib/package.json +0 -10
  131. package/src/lib/anna-dropdown-lib/public-api.d.ts +0 -3
  132. package/src/lib/anna-generic-table-lib/anna-generic-table-lib.module.d.ts +0 -21
  133. package/src/lib/anna-generic-table-lib/annalib-anna-core-src-lib-anna-generic-table-lib.d.ts +0 -5
  134. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +0 -245
  135. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +0 -16
  136. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +0 -141
  137. 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.d.ts +0 -89
  138. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts +0 -1
  139. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +0 -45
  140. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts +0 -1
  141. package/src/lib/anna-generic-table-lib/package.json +0 -10
  142. package/src/lib/anna-generic-table-lib/public-api.d.ts +0 -6
@@ -1,493 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, Component, Input, Output, ChangeDetectionStrategy, NgModule } from '@angular/core';
3
- import * as i3 from '@angular/common';
4
- import { DatePipe, CommonModule } from '@angular/common';
5
- import * as i1 from '@ng-bootstrap/ng-bootstrap';
6
- import { NgbDate, NgbModule } from '@ng-bootstrap/ng-bootstrap';
7
- import moment from 'moment';
8
- import * as i2 from '@annalib/anna-core/src/lib/anna-core-shared-lib';
9
- import { AnnaCoreSharedLibModule } from '@annalib/anna-core/src/lib/anna-core-shared-lib';
10
-
11
- // Angular import statements
12
- class AnnaWeekCalendarComponent {
13
- constructor(calendar, datePickerConfig, annaDateTimeFormatService, globalConfigService) {
14
- this.calendar = calendar;
15
- this.datePickerConfig = datePickerConfig;
16
- this.annaDateTimeFormatService = annaDateTimeFormatService;
17
- this.globalConfigService = globalConfigService;
18
- this.hoveredDate = null;
19
- this.toDate = null;
20
- this.weekNumbers = [];
21
- this.dateToDisplay = "";
22
- this.multiSelectDropdownOpen = false;
23
- this.calendarMap = new Map();
24
- this.disabledDates = [];
25
- this.applyWeekCalendarChanges = new EventEmitter();
26
- this.calendarToggled = new EventEmitter();
27
- }
28
- ngOnChanges(changes) {
29
- //if some values are not sent, setting the default values
30
- this._defaultValues = this.globalConfigService.defaultWeekCalendarConfig;
31
- this.config = Object.assign(Object.assign({}, this._defaultValues), this.config);
32
- if (this.config.selectCurrentWeek) {
33
- this.initializeWeekData();
34
- this.fromDate && this.selectWeek(this.fromDate);
35
- }
36
- this.formatter = this.formattedDates();
37
- if (this.selectedFromDate && this.selectedEndDate && this.config) {
38
- // this.selectWeek(this.fromDate);
39
- this.fromDate = NgbDate.from(this.selectedFromDate);
40
- this.toDate = NgbDate.from(this.selectedEndDate);
41
- this.weekNumberGenerator();
42
- this.displayToUI();
43
- this.setCalendarMap();
44
- }
45
- if (this.disabledDates.length > 0) {
46
- this.disabledFunc = (date, current) => {
47
- return this.checkIfDateIsDisabled(date);
48
- };
49
- }
50
- }
51
- getWeekNumber(week, firstDayOfWeek) {
52
- const weekStartDate = moment(convertNgbDateToMoment(week[0]), "MM/DD/YYYY");
53
- const weekYear = weekStartDate.year();
54
- const yearStartDate = moment(`01/01/${weekYear}`, "MM/DD/YYYY");
55
- const weekDay = yearStartDate.day();
56
- const noOfDays = weekStartDate.diff(yearStartDate, "d") + 1;
57
- function convertNgbDateToMoment(ngbDate) {
58
- let converted = moment();
59
- converted.month(ngbDate.month - 1);
60
- converted.date(ngbDate.day);
61
- converted.year(ngbDate.year);
62
- return converted.format("MM/DD/YYYY");
63
- }
64
- function checkIfYearIsBroadcastLeapYear() {
65
- let isLeapYear = (weekYear % 4 == 0 && weekYear % 100 != 0) || weekYear % 400 == 0;
66
- return (isLeapYear && (weekDay == 0 || weekDay == 6)) || (!isLeapYear && weekDay == 0);
67
- }
68
- const isLeapYear = checkIfYearIsBroadcastLeapYear();
69
- const divider = isLeapYear ? 53 : 52;
70
- const adder = isLeapYear ? 2 : 1;
71
- let broadcastNumberOfDays = weekDay + noOfDays;
72
- let broadcastWeekNumber = broadcastNumberOfDays % 7 > 0 ? broadcastNumberOfDays / 7 + adder : broadcastNumberOfDays / 7;
73
- if (Math.floor(broadcastWeekNumber % divider) === 0) {
74
- return divider;
75
- }
76
- return Math.floor(broadcastWeekNumber % divider);
77
- }
78
- ngAfterViewInit() {
79
- // CHANGES@ANNALIB Changed this.
80
- // this.calendar["__proto__"].getWeekNumber = this.getWeekNumber;
81
- Object.setPrototypeOf(this.calendar, { getWeekNumber: this.getWeekNumber });
82
- }
83
- ngOnInit() {
84
- // this.selectWeek(this.fromDate);
85
- this.setCalendarMap();
86
- }
87
- initializeWeekData() {
88
- this.weekObjects = [];
89
- this.fromDate = this.calendar.getToday();
90
- this.today = this.calendar.getToday();
91
- let backDatedPeriod = JSON.parse(localStorage.getItem("userDetails") || '{}').locking_period_days;
92
- if (backDatedPeriod < 0) {
93
- let date = this.calendar.getPrev(this.calendar.getToday(), "d", Math.abs(backDatedPeriod));
94
- this.today = NgbDate.from(date);
95
- this.fromDate = NgbDate.from(date);
96
- }
97
- // Disable months before numberOfMonthsToEnable
98
- this.datePickerConfig.markDisabled = (date) => {
99
- let previousMonth = this.calendar.getPrev(this.today, "m", this.config.numberOfMonthsToEnableInPast);
100
- let previousDay = this.calendar.getPrev(previousMonth, "d", 1);
101
- return !NgbDate.from(previousDay).before(date);
102
- };
103
- this.formatter = this.formattedDates();
104
- this.flag1 = false;
105
- this.flag2 = false;
106
- }
107
- selectWeek(date) {
108
- const dateObject = new Date(date.year, date.month - 1, date.day);
109
- let constructDate = this.buildDate(dateObject);
110
- if (!this.config.selectMultipleWeeks) {
111
- //Single week selection
112
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
113
- this.toDate = this.constructEndDate(dateObject)(constructDate);
114
- this.weekNumberGenerator();
115
- }
116
- else {
117
- if (date.before(this.fromDate)) {
118
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
119
- if (this.flag1) {
120
- this.toDate = this.constructEndDate(dateObject)(constructDate);
121
- }
122
- this.flag1 = !this.flag1;
123
- }
124
- else if (date.after(this.toDate)) {
125
- if (this.flag2) {
126
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
127
- //this.toDate = this.constructEndDate(dateObject)(constructDate);
128
- }
129
- this.flag2 = !this.flag2;
130
- this.toDate = this.constructEndDate(dateObject)(constructDate);
131
- }
132
- else {
133
- this.fromDate = this.constructStartDate(dateObject)(constructDate);
134
- this.toDate = this.constructEndDate(dateObject)(constructDate);
135
- }
136
- if (this.disabledDates.length > 0) {
137
- let momentStartDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(this.fromDate), "MM/DD/YYYY");
138
- let momentEndDate = moment(this.annaDateTimeFormatService.convertNgbDateToMoment(this.toDate), "MM/DD/YYYY");
139
- let ngbDate;
140
- while (!momentStartDate.isSame(momentEndDate)) {
141
- ngbDate = this.annaDateTimeFormatService.convertToNgbDate(momentStartDate, "MM/DD/YYYY");
142
- if (this.checkIfDateIsDisabled(ngbDate)) {
143
- break;
144
- }
145
- momentStartDate.add(1, "d");
146
- }
147
- let newDateObject = new Date(ngbDate.year, ngbDate.month - 1, ngbDate.day - 1);
148
- let constructDate = this.buildDate(newDateObject);
149
- this.toDate = this.constructEndDate(newDateObject)(constructDate);
150
- }
151
- this.weekNumberGenerator();
152
- }
153
- if (!this.config.showAsDropdown) {
154
- this.applyChanges();
155
- }
156
- }
157
- weekNumberGenerator() {
158
- var _a, _b, _c, _d;
159
- let dates = [];
160
- let week = [];
161
- let startDate = NgbDate.from(this.fromDate);
162
- let endDate = NgbDate.from(this.toDate);
163
- week.push(startDate);
164
- while (endDate != null && !startDate.equals(endDate)) {
165
- let date = this.calendar.getNext(startDate, "d", 1);
166
- startDate = date;
167
- week.push(date);
168
- // Collect all days in week to calculate the week number
169
- if (week.length == 7) {
170
- dates.push(week);
171
- week = [];
172
- }
173
- }
174
- if ((((_a = this.config.maxWeeksToSelect) !== null && _a !== void 0 ? _a : 0) > 0 && dates.length > ((_b = this.config.maxWeeksToSelect) !== null && _b !== void 0 ? _b : 0))) {
175
- dates.splice(((_c = this.config.maxWeeksToSelect) !== null && _c !== void 0 ? _c : 0), dates.length - ((_d = this.config.maxWeeksToSelect) !== null && _d !== void 0 ? _d : 0));
176
- }
177
- this.selectedDates(dates);
178
- this.weekNumbers = [];
179
- this.weekObjects = [];
180
- if (dates.length > 0) {
181
- for (let date of dates) {
182
- this.weekNumbers.push(" Week " + this.calendar.getWeekNumber(date, this.config.firstDayOfWeek));
183
- let dates = this.formatter(date[0], date[6]);
184
- let dateObjects = { startDate: dates.formattedStartDate, endDate: dates.formattedEndDate };
185
- this.weekObjects.push(dateObjects);
186
- }
187
- }
188
- this.displayToUI();
189
- }
190
- selectedDates(dates) {
191
- this.fromDate = dates[0][0];
192
- this.toDate = dates[dates.length - 1][6];
193
- }
194
- formattedDates() {
195
- let pipe = new DatePipe("en-US");
196
- let thisObj = this;
197
- return function (fromDate, toDate) {
198
- let fromDateObject = new Date(fromDate.year, fromDate.month - 1, fromDate.day);
199
- let toDateObject = new Date(toDate.year, toDate.month - 1, toDate.day);
200
- thisObj.formattedStartDate = pipe.transform(fromDateObject, thisObj.config.dateFormatForRequest);
201
- thisObj.formattedEndDate = pipe.transform(toDateObject, thisObj.config.dateFormatForRequest);
202
- thisObj.dateToDisplay =
203
- pipe.transform(fromDateObject, thisObj.config.dateFormatToDisplay) +
204
- " to " +
205
- pipe.transform(toDateObject, thisObj.config.dateFormatToDisplay);
206
- return thisObj;
207
- };
208
- }
209
- displayToUI() {
210
- var _a, _b;
211
- if (!this.config.selectMultipleWeeks && this.fromDate && this.toDate) {
212
- // Display for only Single Week
213
- this.formatter(this.fromDate, this.toDate);
214
- }
215
- else {
216
- // Display for Multiple Weeks
217
- if (this.weekNumbers.length > ((_a = this.config.maxWeeksToShowWithRemainingCount) !== null && _a !== void 0 ? _a : 0)) {
218
- let weekDisplay = [];
219
- for (let i = 0; i < ((_b = this.config.maxWeeksToShowWithRemainingCount) !== null && _b !== void 0 ? _b : 0); i++) {
220
- weekDisplay.push(this.weekNumbers.shift());
221
- }
222
- let remainingWeeks = this.weekNumbers.length;
223
- this.weekNumbers = [];
224
- this.weekNumbers.push(weekDisplay + " +" + remainingWeeks);
225
- }
226
- }
227
- }
228
- constructStartDate(date) {
229
- let firstDayOfWeek = this.config.firstDayOfWeek;
230
- return function (constructDate) {
231
- let startDay = date.getDay() != 0 ? (firstDayOfWeek !== null && firstDayOfWeek !== void 0 ? firstDayOfWeek : 0) - date.getDay() : -6;
232
- return constructDate(startDay);
233
- };
234
- }
235
- constructEndDate(date) {
236
- let firstDayOfWeek = this.config.firstDayOfWeek;
237
- return function (constructDate) {
238
- let endDay = date.getDay() != 0 ? (firstDayOfWeek !== null && firstDayOfWeek !== void 0 ? firstDayOfWeek : 0) + 6 - date.getDay() : 0;
239
- return constructDate(endDay);
240
- };
241
- }
242
- buildDate(date) {
243
- return function (number) {
244
- let day = date.getDate() + number;
245
- const dateObject = new Date(date.getFullYear(), date.getMonth(), day);
246
- let ngbDateObject = {};
247
- ngbDateObject.day = day;
248
- if (ngbDateObject.day > 31 || ngbDateObject.day < 1) {
249
- ngbDateObject.day = dateObject.getDate();
250
- }
251
- ngbDateObject.month = dateObject.getMonth() + 1;
252
- ngbDateObject.year = dateObject.getFullYear();
253
- return NgbDate.from(ngbDateObject);
254
- };
255
- }
256
- isHovered(date) {
257
- return this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate);
258
- }
259
- isInside(date) {
260
- return this.toDate && date.after(this.fromDate) && date.before(this.toDate);
261
- }
262
- isRange(date) {
263
- return (date.equals(this.fromDate) || (this.toDate && date.equals(this.toDate)) || this.isInside(date) || this.isHovered(date));
264
- }
265
- previousWeek() {
266
- if (this.fromDate) {
267
- this.toDate = this.calendar.getPrev(this.fromDate, "d", 1);
268
- this.fromDate = this.calendar.getPrev(this.fromDate, "d", this.calendar.getDaysPerWeek());
269
- }
270
- this.weekNumberGenerator();
271
- this.applyChanges();
272
- }
273
- nextWeek() {
274
- if (this.fromDate) {
275
- this.fromDate = this.calendar.getNext(this.fromDate, "d", this.calendar.getDaysPerWeek());
276
- this.toDate = this.calendar.getNext(this.fromDate, "d", this.calendar.getDaysPerWeek() - 1);
277
- }
278
- this.weekNumberGenerator();
279
- this.applyChanges();
280
- }
281
- setCalendarMap() {
282
- let dateObj = { fromDate: this.fromDate, toDate: this.toDate };
283
- this.calendarMap.set("oldDates", dateObj);
284
- }
285
- applyChanges() {
286
- this.multiSelectDropdownOpen = false;
287
- if (!this.config.emitMultipleWeekObjects) {
288
- let dates = {};
289
- let formattedDates = this.formatter(this.fromDate, this.toDate);
290
- dates.startDate = formattedDates.formattedStartDate;
291
- dates.endDate = formattedDates.formattedEndDate;
292
- this.applyWeekCalendarChanges.emit(dates);
293
- }
294
- else {
295
- this.applyWeekCalendarChanges.emit(this.weekObjects);
296
- }
297
- this.setCalendarMap();
298
- }
299
- isFocused(value) {
300
- this.calendarToggled.emit(value);
301
- }
302
- isDropdownOpenedForCalendar(datepicker) {
303
- this.datepicker = datepicker;
304
- if (this.datepicker.isOpen()) {
305
- this.revertDates();
306
- this.datepicker.close();
307
- this.multiSelectDropdownOpen = false;
308
- }
309
- else {
310
- this.datepicker.open();
311
- this.multiSelectDropdownOpen = true;
312
- }
313
- }
314
- revertDates() {
315
- this.multiSelectDropdownOpen = false;
316
- if (this.calendarMap.get("oldDates")) {
317
- let dateObj = this.calendarMap.get("oldDates");
318
- this.fromDate = dateObj.fromDate;
319
- this.toDate = dateObj.toDate;
320
- this.weekNumberGenerator();
321
- this.displayToUI();
322
- }
323
- }
324
- checkIfDateIsDisabled(date) {
325
- const validatorFunc = (ngbDate) => ngbDate.year === date.year && ngbDate.month === date.month && ngbDate.day === date.day;
326
- return this.disabledDates.some(validatorFunc);
327
- }
328
- closeDatepicker(datepickerRef) {
329
- datepickerRef.close();
330
- }
331
- }
332
- AnnaWeekCalendarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaWeekCalendarComponent, deps: [{ token: i1.NgbCalendar }, { token: i1.NgbDatepickerConfig }, { token: i2.AnnaDateTimeFormatService }, { token: i2.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component });
333
- AnnaWeekCalendarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AnnaWeekCalendarComponent, selector: "anna-core-week-calendar-filter-lib", inputs: { selectedFromDate: ["from-date", "selectedFromDate"], selectedEndDate: ["to-date", "selectedEndDate"], disabledDates: ["disabled-dates", "disabledDates"], maxDate: "maxDate", minDate: "minDate", config: ["week-calendar-config", "config"] }, outputs: { applyWeekCalendarChanges: "apply", calendarToggled: "toggle-calendar" }, usesOnChanges: true, ngImport: i0, template: "<form class=\"form-inline\" *ngIf=\"config.showAsDropdown\">\r\n <div class=\"form-group hidden\">\r\n <div class=\"input-group\">\r\n <input\r\n name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"false\"\r\n (dateSelect)=\"selectWeek($event)\"\r\n (closed)=\"isFocused(false)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [startDate]=\"fromDate!\"\r\n [firstDayOfWeek]=\"config.firstDayOfWeek\"\r\n [showWeekNumbers]=\"config.showWeekNumbers\"\r\n tabindex=\"-1\"\r\n style=\"display: none\"\r\n [footerTemplate]=\"footerTemplate\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <!--Single week select-->\r\n <div *ngIf=\"!config.selectMultipleWeeks\">\r\n <span style=\"position: relative; left: 30px; font-size: 12px\"> &nbsp;{{ weekNumbers }} </span>\r\n <div class=\"form-group\">\r\n <div class=\"input-group\">\r\n <div class=\"single-week\">\r\n <div class=\"left\">\r\n <span class=\"material-icons next-round-btn\" (click)=\"previousWeek()\"> navigate_next </span>\r\n </div>\r\n <input\r\n #dpFromDate\r\n class=\"form-control\"\r\n placeholder=\"Select Weeks\"\r\n [ngClass]=\"[config.customClass == '' ? '' : config.customClass]\"\r\n name=\"dpFromDate\"\r\n [value]=\"dateToDisplay\"\r\n [readonly]=\"true\"\r\n (click)=\"isFocused(true); isDropdownOpenedForCalendar(datepicker)\"\r\n />\r\n <i class=\"mdi mdi-menu-down\" *ngIf='!datepicker.isOpen()' (click)=\"datepicker.open()\"></i>\r\n <i class='mdi mdi-menu-up' *ngIf=\"datepicker.isOpen()\" (click)=\"isDropdownOpenedForCalendar(datepicker)\"></i>\r\n <div class=\"right\">\r\n <span class=\"material-icons round-btn\" (click)=\"nextWeek()\"> navigate_next </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Multiple week select-->\r\n <div class=\"form-group\" *ngIf=\"config.selectMultipleWeeks\">\r\n <div class=\"input-group\">\r\n <div class=\"multiple-weeks\">\r\n <input\r\n #dpFromDate\r\n class=\"form-control\"\r\n placeholder=\"Select Weeks\"\r\n [ngClass]=\"[config.customClass == '' ? '' : config.customClass]\"\r\n name=\"dpFromDate\"\r\n [readonly]=\"true\"\r\n [value]=\"weekNumbers\"\r\n (click)=\"isFocused(true); isDropdownOpenedForCalendar(datepicker)\"\r\n />\r\n <i *ngIf=\"!multiSelectDropdownOpen\" class=\"mdi mdi-menu-down multiselect-input-arrow\"></i>\r\n <i *ngIf=\"multiSelectDropdownOpen\" class=\"mdi mdi-menu-up multiselect-input-arrow\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ngb-datepicker\r\n #weekPicker\r\n *ngIf=\"!config.showAsDropdown\"\r\n [displayMonths]=\"1\"\r\n [startDate]=\"fromDate!\"\r\n [firstDayOfWeek]=\"config.firstDayOfWeek\"\r\n [showWeekNumbers]=\"config.showWeekNumbers\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n (dateSelect)=\"selectWeek($event)\"\r\n [markDisabled]=\"disabledFunc\"\r\n>\r\n</ngb-datepicker>\r\n\r\n<ng-template #footerTemplate>\r\n <hr class=\"my-0\" />\r\n <button\r\n class=\"btn btn-primary btn-sm m-2 float-right\"\r\n (click)=\"applyChanges(); closeDatepicker(datepicker)\"\r\n style=\"background-color: #268bff; color: #ffffff\"\r\n >\r\n Apply\r\n </button>\r\n <button\r\n class=\"btn btn-primary btn-sm m-2 float-right\"\r\n (click)=\"revertDates(); closeDatepicker(datepicker)\"\r\n style=\"background-color: rgba(38, 139, 255, 0.12); color: #268bff\"\r\n >\r\n Cancel\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #t let-date let-focused=\"focused\" let-disabled=\"disabled\">\r\n <span\r\n class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n [class.disabled]=\"disabled\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\"\r\n >\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n<!--\r\n\r\n<hr>\r\n\r\n<pre>From: {{ fromDate | json }} </pre>\r\n<pre>To: {{ toDate | json }} </pre>\r\n<pre>weekNumbers: {{ weekNumbers | json }} </pre>\r\n\r\n-->\r\n", styles: [":host::ng-deep .right{width:unset!important;background-color:#fff!important}:host::ng-deep .ngb-dp-day,:host::ng-deep .ngb-dp-weekday{width:3rem!important;font-style:unset!important;color:#8bac2a;outline:none}:host::ng-deep .ngb-dp-day:first-child{border:1px solid black}:host::ng-deep .ngb-dp-day.disabled{color:#d4d4d4;cursor:not-allowed}:host::ng-deep .ngb-dp-showweek:before{content:\"Weeks\";margin-right:5px}:host::ng-deep .ngb-dp-week-number{font-style:unset!important;width:4rem!important;margin-right:5px;font-weight:700;color:#000!important;border-right:1px solid rgba(0,0,0,.125)}:host::ng-deep .ngb-dp-week-number:before{font-style:unset!important;content:\"Week \"}:host::ng-deep .ngb-dp-weekday.ngb-dp-showweek{margin-right:5px;width:4rem!important;border-right:1px solid rgba(0,0,0,.125)}:host::ng-deep .dropdown-menu{box-shadow:none}:host::ng-deep .dropdown-menu.show{top:15px!important}:host::ng-deep .bg-light{background-color:#fff!important}:host::ng-deep .ngb-dp-weekdays{border-top:1px solid rgba(0,0,0,.125)}:host::ng-deep .ngb-dp-arrow-btn:focus{box-shadow:none}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:1.75rem;font-weight:700;color:#222b45;width:3rem!important}.custom-day.focused{background-color:#fff}.custom-day.faded{background-color:#0275d880!important}.custom-day.faded:focus{outline:none!important}.custom-day:hover{background-color:#268bff1f!important;color:#4a4a4a!important}.custom-day:focus{outline:none!important}.custom-day.range{background-color:#268bff1f!important;color:#4a4a4a!important}.custom-day.range:focus{outline:none!important}.custom-day.disabled{color:#d3d3d3}.input-group>.single-week,.input-group .multiple-weeks{display:inline-flex!important}.input-group>.single-week>.form-control,.input-group .multiple-weeks>.form-control{width:212px;border-radius:2px;border:solid 1px #b3b3b3;height:1.875rem;cursor:pointer}.input-group>.form-control{width:212px;border-radius:2px;border:solid 1px #b3b3b3;height:1.875rem;cursor:pointer}.form-control[readonly]{background-color:#fff!important}.next-round-btn{transform:rotate(180deg);margin-left:.125rem;line-height:1.3;border-radius:50%;cursor:pointer}.round-btn{line-height:1.3;border-radius:50%;cursor:pointer;margin-left:.25rem}:host::ng-deep select.custom-select{background:none;-webkit-appearance:auto;appearance:auto}.left,.right{width:1.875rem!important;height:1.875rem;background:#d8d8d8!important;border-radius:50%}.left{margin-right:.3125rem}.right{margin-left:.3125rem}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#268bff}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}.custom-day.faded{background-color:#268bff33;color:#000;font-weight:600}.custom-day{text-align:center;padding:.185rem .25rem;color:#000;display:inline-block;line-height:1.9;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#268bff;color:#fff;font-weight:600}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}.mdi-menu-up,.mdi-menu-down{position:absolute;right:2.438rem;top:1px;font-size:1.375rem;cursor:pointer}.multiselect-input-arrow{position:absolute;right:.75rem;top:3px;font-size:1.25rem;cursor:pointer;pointer-events:none}button:focus{outline:none;box-shadow:none;border-color:transparent}::ng-deep .ngb-dp-header,::ng-deep .ngb-dp-week{background:white!important}\n"], components: [{ type: i1.NgbDatepicker, selector: "ngb-datepicker", inputs: ["dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "maxDate", "minDate", "navigation", "outsideDays", "showWeekdays", "showWeekNumbers", "startDate"], outputs: ["navigate", "dateSelect"], exportAs: ["ngbDatepicker"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
334
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaWeekCalendarComponent, decorators: [{
335
- type: Component,
336
- args: [{ selector: "anna-core-week-calendar-filter-lib", template: "<form class=\"form-inline\" *ngIf=\"config.showAsDropdown\">\r\n <div class=\"form-group hidden\">\r\n <div class=\"input-group\">\r\n <input\r\n name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n [autoClose]=\"false\"\r\n (dateSelect)=\"selectWeek($event)\"\r\n (closed)=\"isFocused(false)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [startDate]=\"fromDate!\"\r\n [firstDayOfWeek]=\"config.firstDayOfWeek\"\r\n [showWeekNumbers]=\"config.showWeekNumbers\"\r\n tabindex=\"-1\"\r\n style=\"display: none\"\r\n [footerTemplate]=\"footerTemplate\"\r\n />\r\n </div>\r\n </div>\r\n\r\n <!--Single week select-->\r\n <div *ngIf=\"!config.selectMultipleWeeks\">\r\n <span style=\"position: relative; left: 30px; font-size: 12px\"> &nbsp;{{ weekNumbers }} </span>\r\n <div class=\"form-group\">\r\n <div class=\"input-group\">\r\n <div class=\"single-week\">\r\n <div class=\"left\">\r\n <span class=\"material-icons next-round-btn\" (click)=\"previousWeek()\"> navigate_next </span>\r\n </div>\r\n <input\r\n #dpFromDate\r\n class=\"form-control\"\r\n placeholder=\"Select Weeks\"\r\n [ngClass]=\"[config.customClass == '' ? '' : config.customClass]\"\r\n name=\"dpFromDate\"\r\n [value]=\"dateToDisplay\"\r\n [readonly]=\"true\"\r\n (click)=\"isFocused(true); isDropdownOpenedForCalendar(datepicker)\"\r\n />\r\n <i class=\"mdi mdi-menu-down\" *ngIf='!datepicker.isOpen()' (click)=\"datepicker.open()\"></i>\r\n <i class='mdi mdi-menu-up' *ngIf=\"datepicker.isOpen()\" (click)=\"isDropdownOpenedForCalendar(datepicker)\"></i>\r\n <div class=\"right\">\r\n <span class=\"material-icons round-btn\" (click)=\"nextWeek()\"> navigate_next </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <!--Multiple week select-->\r\n <div class=\"form-group\" *ngIf=\"config.selectMultipleWeeks\">\r\n <div class=\"input-group\">\r\n <div class=\"multiple-weeks\">\r\n <input\r\n #dpFromDate\r\n class=\"form-control\"\r\n placeholder=\"Select Weeks\"\r\n [ngClass]=\"[config.customClass == '' ? '' : config.customClass]\"\r\n name=\"dpFromDate\"\r\n [readonly]=\"true\"\r\n [value]=\"weekNumbers\"\r\n (click)=\"isFocused(true); isDropdownOpenedForCalendar(datepicker)\"\r\n />\r\n <i *ngIf=\"!multiSelectDropdownOpen\" class=\"mdi mdi-menu-down multiselect-input-arrow\"></i>\r\n <i *ngIf=\"multiSelectDropdownOpen\" class=\"mdi mdi-menu-up multiselect-input-arrow\"></i>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n<ngb-datepicker\r\n #weekPicker\r\n *ngIf=\"!config.showAsDropdown\"\r\n [displayMonths]=\"1\"\r\n [startDate]=\"fromDate!\"\r\n [firstDayOfWeek]=\"config.firstDayOfWeek\"\r\n [showWeekNumbers]=\"config.showWeekNumbers\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n (dateSelect)=\"selectWeek($event)\"\r\n [markDisabled]=\"disabledFunc\"\r\n>\r\n</ngb-datepicker>\r\n\r\n<ng-template #footerTemplate>\r\n <hr class=\"my-0\" />\r\n <button\r\n class=\"btn btn-primary btn-sm m-2 float-right\"\r\n (click)=\"applyChanges(); closeDatepicker(datepicker)\"\r\n style=\"background-color: #268bff; color: #ffffff\"\r\n >\r\n Apply\r\n </button>\r\n <button\r\n class=\"btn btn-primary btn-sm m-2 float-right\"\r\n (click)=\"revertDates(); closeDatepicker(datepicker)\"\r\n style=\"background-color: rgba(38, 139, 255, 0.12); color: #268bff\"\r\n >\r\n Cancel\r\n </button>\r\n</ng-template>\r\n\r\n<ng-template #t let-date let-focused=\"focused\" let-disabled=\"disabled\">\r\n <span\r\n class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n [class.disabled]=\"disabled\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\"\r\n >\r\n {{ date.day }}\r\n </span>\r\n</ng-template>\r\n\r\n<!--\r\n\r\n<hr>\r\n\r\n<pre>From: {{ fromDate | json }} </pre>\r\n<pre>To: {{ toDate | json }} </pre>\r\n<pre>weekNumbers: {{ weekNumbers | json }} </pre>\r\n\r\n-->\r\n", styles: [":host::ng-deep .right{width:unset!important;background-color:#fff!important}:host::ng-deep .ngb-dp-day,:host::ng-deep .ngb-dp-weekday{width:3rem!important;font-style:unset!important;color:#8bac2a;outline:none}:host::ng-deep .ngb-dp-day:first-child{border:1px solid black}:host::ng-deep .ngb-dp-day.disabled{color:#d4d4d4;cursor:not-allowed}:host::ng-deep .ngb-dp-showweek:before{content:\"Weeks\";margin-right:5px}:host::ng-deep .ngb-dp-week-number{font-style:unset!important;width:4rem!important;margin-right:5px;font-weight:700;color:#000!important;border-right:1px solid rgba(0,0,0,.125)}:host::ng-deep .ngb-dp-week-number:before{font-style:unset!important;content:\"Week \"}:host::ng-deep .ngb-dp-weekday.ngb-dp-showweek{margin-right:5px;width:4rem!important;border-right:1px solid rgba(0,0,0,.125)}:host::ng-deep .dropdown-menu{box-shadow:none}:host::ng-deep .dropdown-menu.show{top:15px!important}:host::ng-deep .bg-light{background-color:#fff!important}:host::ng-deep .ngb-dp-weekdays{border-top:1px solid rgba(0,0,0,.125)}:host::ng-deep .ngb-dp-arrow-btn:focus{box-shadow:none}.custom-day{text-align:center;padding:.185rem .25rem;display:inline-block;height:1.75rem;font-weight:700;color:#222b45;width:3rem!important}.custom-day.focused{background-color:#fff}.custom-day.faded{background-color:#0275d880!important}.custom-day.faded:focus{outline:none!important}.custom-day:hover{background-color:#268bff1f!important;color:#4a4a4a!important}.custom-day:focus{outline:none!important}.custom-day.range{background-color:#268bff1f!important;color:#4a4a4a!important}.custom-day.range:focus{outline:none!important}.custom-day.disabled{color:#d3d3d3}.input-group>.single-week,.input-group .multiple-weeks{display:inline-flex!important}.input-group>.single-week>.form-control,.input-group .multiple-weeks>.form-control{width:212px;border-radius:2px;border:solid 1px #b3b3b3;height:1.875rem;cursor:pointer}.input-group>.form-control{width:212px;border-radius:2px;border:solid 1px #b3b3b3;height:1.875rem;cursor:pointer}.form-control[readonly]{background-color:#fff!important}.next-round-btn{transform:rotate(180deg);margin-left:.125rem;line-height:1.3;border-radius:50%;cursor:pointer}.round-btn{line-height:1.3;border-radius:50%;cursor:pointer;margin-left:.25rem}:host::ng-deep select.custom-select{background:none;-webkit-appearance:auto;appearance:auto}.left,.right{width:1.875rem!important;height:1.875rem;background:#d8d8d8!important;border-radius:50%}.left{margin-right:.3125rem}.right{margin-left:.3125rem}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#268bff}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}.custom-day.faded{background-color:#268bff33;color:#000;font-weight:600}.custom-day{text-align:center;padding:.185rem .25rem;color:#000;display:inline-block;line-height:1.9;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range,.custom-day:hover{background-color:#268bff;color:#fff;font-weight:600}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}.mdi-menu-up,.mdi-menu-down{position:absolute;right:2.438rem;top:1px;font-size:1.375rem;cursor:pointer}.multiselect-input-arrow{position:absolute;right:.75rem;top:3px;font-size:1.25rem;cursor:pointer;pointer-events:none}button:focus{outline:none;box-shadow:none;border-color:transparent}::ng-deep .ngb-dp-header,::ng-deep .ngb-dp-week{background:white!important}\n"] }]
337
- }], ctorParameters: function () { return [{ type: i1.NgbCalendar }, { type: i1.NgbDatepickerConfig }, { type: i2.AnnaDateTimeFormatService }, { type: i2.AnnaGlobalConfigService }]; }, propDecorators: { selectedFromDate: [{
338
- type: Input,
339
- args: ["from-date"]
340
- }], selectedEndDate: [{
341
- type: Input,
342
- args: ["to-date"]
343
- }], disabledDates: [{
344
- type: Input,
345
- args: ["disabled-dates"]
346
- }], maxDate: [{
347
- type: Input
348
- }], minDate: [{
349
- type: Input
350
- }], config: [{
351
- type: Input,
352
- args: ["week-calendar-config"]
353
- }], applyWeekCalendarChanges: [{
354
- type: Output,
355
- args: ["apply"]
356
- }], calendarToggled: [{
357
- type: Output,
358
- args: ["toggle-calendar"]
359
- }] } });
360
-
361
- // Angular import statements
362
- class AnnaCalendarFilterComponent {
363
- constructor(annaTimeService, datePickerConfig) {
364
- this.annaTimeService = annaTimeService;
365
- this.datePickerConfig = datePickerConfig;
366
- this.selectedDate = new EventEmitter();
367
- this.apply = new EventEmitter();
368
- this.cancel = new EventEmitter();
369
- this.disableApplyBtn = false;
370
- this.dateToBeShownInInput = "";
371
- }
372
- ngOnChanges(changes) {
373
- this.fromDate = this.selectedFromDate;
374
- this.toDate = this.selectedToDate;
375
- this.setInputText();
376
- }
377
- ngOnInit() {
378
- // this.fromDate = this.selectedFromDate;
379
- // this.toDate = this.selectedToDate;
380
- this.datePickerConfig.markDisabled = (date) => {
381
- return false;
382
- };
383
- // this.setInputText();
384
- }
385
- onDateSelection(date) {
386
- if (!this.fromDate && !this.toDate) {
387
- this.fromDate = date;
388
- }
389
- else if (this.fromDate && !this.toDate && (date.after(this.fromDate) || date.equals(this.fromDate))) {
390
- this.toDate = date;
391
- }
392
- else {
393
- this.toDate = null;
394
- this.fromDate = date;
395
- }
396
- this.selectedDate.emit({ fromDate: this.fromDate, toDate: this.toDate });
397
- this.disableCalendarApplyBtn();
398
- this.setInputText();
399
- }
400
- isHovered(date) {
401
- return this.fromDate && !this.toDate && this.hoveredDate && date.after(this.fromDate) && date.before(this.hoveredDate);
402
- }
403
- isInside(date) {
404
- return this.toDate && date.after(this.fromDate) && date.before(this.toDate);
405
- }
406
- isRange(date) {
407
- return (date.equals(this.fromDate) || (this.toDate && date.equals(this.toDate)) || this.isInside(date) || this.isHovered(date));
408
- }
409
- cancelSelection() {
410
- this.cancel.emit();
411
- }
412
- applySelection() {
413
- if (this.fromDate && this.toDate) {
414
- let dateObj = { fromDate: this.fromDate, toDate: this.toDate };
415
- this.apply.emit(dateObj);
416
- }
417
- }
418
- disableCalendarApplyBtn() {
419
- this.disableApplyBtn = !(this.fromDate && this.toDate);
420
- }
421
- setInputText() {
422
- if (this.fromDate && this.toDate) {
423
- this.dateToBeShownInInput = `${this.annaTimeService.convertNgbDateToMoment(this.fromDate)} - ${this.annaTimeService.convertNgbDateToMoment(this.toDate)}`;
424
- }
425
- else if (this.fromDate) {
426
- this.dateToBeShownInInput = `${this.annaTimeService.convertNgbDateToMoment(this.fromDate)}`;
427
- }
428
- }
429
- }
430
- AnnaCalendarFilterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCalendarFilterComponent, deps: [{ token: i2.AnnaDateTimeFormatService }, { token: i1.NgbDatepickerConfig }], target: i0.ɵɵFactoryTarget.Component });
431
- AnnaCalendarFilterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: AnnaCalendarFilterComponent, selector: "anna-core-calendar-filter-lib", inputs: { maxDate: "maxDate", label: "label", minDate: "minDate", selectedFromDate: "selectedFromDate", selectedToDate: "selectedToDate" }, outputs: { selectedDate: "selectedDate", apply: "apply", cancel: "cancel" }, usesOnChanges: true, ngImport: i0, template: "<!-- container=\"body\"\r\ndatepickerClass = \"calendar-filter\" -->\r\n \r\n<p class=\"calendar-label\">{{label}}</p>\r\n<form>\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n (dateSelect)=\"onDateSelection($event)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [autoClose]=\"'outside'\"\r\n [startDate]=\"fromDate\"\r\n navigation=\"select\"\r\n >\r\n <ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate\r\n id = \"datepicker-input\"\r\n class=\"form-control\" placeholder=\"mm/dd/yyyy\"\r\n readonly\r\n name=\"dpFromDate\"\r\n [value]=\"dateToBeShownInInput\"\r\n >\r\n <button class=\"icon-container\" (click)=\"datepicker.toggle()\" type=\"button\"><i class=\"mdi mdi-calendar-range\"></i></button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n", styles: [":host::ng-deep div.ngb-dp-arrow.right{width:2.4375rem!important;background-color:#fff!important}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;border-top:1px solid rgba(183,183,183,.6);margin-top:.5rem;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}:host::ng-deep div.ngb-dp-week{background-color:#fff!important}:host::ng-deep div.ngb-dp-header{background-color:#fff!important}:host::ng-deep div.bg-primary{background-color:#d9e1e6!important;border-radius:.25rem}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#000}:host::ng-deep .custom-select{border:1px solid rgba(183,183,183,.6);box-shadow:none}:host::ng-deep .btn:focus{box-shadow:none}.custom-day{text-align:center;padding:.185rem .25rem;color:#000;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range{background-color:#268bff;color:#fff}.custom-day:hover{background-color:#d9e1e6;border-radius:.25rem;color:#bdbdbd}:host::ng-deep div.ngb-dp-day.disabled{cursor:not-allowed}.custom-day.faded{background-color:#268bff33;color:#000;font-weight:600}:host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day{color:#bdbdbd;opacity:50%}.buttons{display:flex;margin:0px auto .4375rem;margin-bottom:0;justify-content:center}.buttons button.btn:disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.buttons .btn{display:inline-block;margin:8px 4px 0 8px;padding:5px 16px;text-align:center;outline:none;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.buttons .btn:last-of-type{background-color:#268bff;color:#fff}:host::ng-deep .ngb-dp-day{font-weight:700}input#datepicker-input,button.icon-container{background:white;border:none}input#datepicker-input{color:#202b47;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input#datepicker-input:focus{box-shadow:none}div.input-group{border:1px solid #b7b7b7;border-radius:2px;width:94%}.calendar-label{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#666;margin-top:7px;margin-bottom:0;text-align:left;margin-left:10px}\n"], directives: [{ type: i1.NgbInputDatepicker, selector: "input[ngbDatepicker]", inputs: ["disabled", "autoClose", "dayTemplate", "dayTemplateData", "displayMonths", "firstDayOfWeek", "footerTemplate", "markDisabled", "minDate", "maxDate", "navigation", "outsideDays", "placement", "restoreFocus", "showWeekdays", "showWeekNumbers", "startDate", "container", "positionTarget"], outputs: ["dateSelect", "navigate", "closed"], exportAs: ["ngbDatepicker"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
432
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaCalendarFilterComponent, decorators: [{
433
- type: Component,
434
- args: [{ selector: "anna-core-calendar-filter-lib", changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- container=\"body\"\r\ndatepickerClass = \"calendar-filter\" -->\r\n \r\n<p class=\"calendar-label\">{{label}}</p>\r\n<form>\r\n <div class=\"col-12\">\r\n <div class=\"dp-hidden position-absolute\">\r\n <div class=\"input-group\">\r\n <input name=\"datepicker\"\r\n class=\"form-control\"\r\n ngbDatepicker\r\n #datepicker=\"ngbDatepicker\"\r\n (dateSelect)=\"onDateSelection($event)\"\r\n [displayMonths]=\"1\"\r\n [dayTemplate]=\"t\"\r\n [maxDate]=\"maxDate\"\r\n [minDate]=\"minDate\"\r\n [autoClose]=\"'outside'\"\r\n [startDate]=\"fromDate\"\r\n navigation=\"select\"\r\n >\r\n <ng-template #t let-date let-focused=\"focused\">\r\n <span class=\"custom-day\"\r\n [class.focused]=\"focused\"\r\n [class.range]=\"isRange(date)\"\r\n [class.faded]=\"isHovered(date) || isInside(date)\"\r\n (mouseenter)=\"hoveredDate = date\"\r\n (mouseleave)=\"hoveredDate = null\">\r\n {{ date.day }}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"input-group\">\r\n <input #dpFromDate\r\n id = \"datepicker-input\"\r\n class=\"form-control\" placeholder=\"mm/dd/yyyy\"\r\n readonly\r\n name=\"dpFromDate\"\r\n [value]=\"dateToBeShownInInput\"\r\n >\r\n <button class=\"icon-container\" (click)=\"datepicker.toggle()\" type=\"button\"><i class=\"mdi mdi-calendar-range\"></i></button>\r\n </div>\r\n </div>\r\n</form>\r\n\r\n", styles: [":host::ng-deep div.ngb-dp-arrow.right{width:2.4375rem!important;background-color:#fff!important}:host::ng-deep div.ngb-dp-weekday{color:#8bac2a;border-top:1px solid rgba(183,183,183,.6);margin-top:.5rem;font-family:Roboto;font-size:.8125rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:2.6;letter-spacing:normal}:host::ng-deep div.ngb-dp-week{background-color:#fff!important}:host::ng-deep div.ngb-dp-header{background-color:#fff!important}:host::ng-deep div.bg-primary{background-color:#d9e1e6!important;border-radius:.25rem}:host::ng-deep .ngb-dp-arrow-btn:focus{outline-width:0px}:host::ng-deep .right .ngb-dp-navigation-chevron,:host::ng-deep .ngb-dp-navigation-chevron{color:#000}:host::ng-deep .custom-select{border:1px solid rgba(183,183,183,.6);box-shadow:none}:host::ng-deep .btn:focus{box-shadow:none}.custom-day{text-align:center;padding:.185rem .25rem;color:#000;display:inline-block;height:2rem;width:2rem}.custom-day.focused{background-color:#e6e6e6}.custom-day.range{background-color:#268bff;color:#fff}.custom-day:hover{background-color:#d9e1e6;border-radius:.25rem;color:#bdbdbd}:host::ng-deep div.ngb-dp-day.disabled{cursor:not-allowed}.custom-day.faded{background-color:#268bff33;color:#000;font-weight:600}:host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day{color:#bdbdbd;opacity:50%}.buttons{display:flex;margin:0px auto .4375rem;margin-bottom:0;justify-content:center}.buttons button.btn:disabled{background:#bdbdbd;opacity:.5;color:#4a4a4a}.buttons .btn{display:inline-block;margin:8px 4px 0 8px;padding:5px 16px;text-align:center;outline:none;font-family:Roboto;font-size:.875rem;font-weight:400;font-stretch:normal;font-style:normal;line-height:1.14;letter-spacing:normal;border:none;color:#268bff;background-color:#e5f1ff}.buttons .btn:last-of-type{background-color:#268bff;color:#fff}:host::ng-deep .ngb-dp-day{font-weight:700}input#datepicker-input,button.icon-container{background:white;border:none}input#datepicker-input{color:#202b47;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}input#datepicker-input:focus{box-shadow:none}div.input-group{border:1px solid #b7b7b7;border-radius:2px;width:94%}.calendar-label{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#666;margin-top:7px;margin-bottom:0;text-align:left;margin-left:10px}\n"] }]
435
- }], ctorParameters: function () { return [{ type: i2.AnnaDateTimeFormatService }, { type: i1.NgbDatepickerConfig }]; }, propDecorators: { maxDate: [{
436
- type: Input
437
- }], label: [{
438
- type: Input
439
- }], minDate: [{
440
- type: Input
441
- }], selectedDate: [{
442
- type: Output
443
- }], selectedFromDate: [{
444
- type: Input
445
- }], selectedToDate: [{
446
- type: Input
447
- }], apply: [{
448
- type: Output
449
- }], cancel: [{
450
- type: Output
451
- }] } });
452
-
453
- // Angular import statements
454
- class AnnaDropdownLibModule {
455
- }
456
- AnnaDropdownLibModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaDropdownLibModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
457
- AnnaDropdownLibModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaDropdownLibModule, declarations: [AnnaWeekCalendarComponent,
458
- AnnaCalendarFilterComponent], imports: [CommonModule,
459
- NgbModule,
460
- AnnaCoreSharedLibModule], exports: [AnnaWeekCalendarComponent,
461
- AnnaCalendarFilterComponent] });
462
- AnnaDropdownLibModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaDropdownLibModule, imports: [[
463
- CommonModule,
464
- NgbModule,
465
- AnnaCoreSharedLibModule
466
- ]] });
467
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: AnnaDropdownLibModule, decorators: [{
468
- type: NgModule,
469
- args: [{
470
- declarations: [
471
- AnnaWeekCalendarComponent,
472
- AnnaCalendarFilterComponent
473
- ],
474
- imports: [
475
- CommonModule,
476
- NgbModule,
477
- AnnaCoreSharedLibModule
478
- ],
479
- exports: [
480
- AnnaWeekCalendarComponent,
481
- AnnaCalendarFilterComponent
482
- ]
483
- }]
484
- }] });
485
-
486
- //Modules
487
-
488
- /**
489
- * Generated bundle index. Do not edit.
490
- */
491
-
492
- export { AnnaCalendarFilterComponent, AnnaDropdownLibModule, AnnaWeekCalendarComponent };
493
- //# sourceMappingURL=annalib-anna-core-src-lib-anna-dropdown-lib.mjs.map