@annalib/anna-core 7.2.3 → 7.2.4

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/.browserslistrc +16 -0
  2. package/karma.conf.js +44 -0
  3. package/ng-package.json +14 -0
  4. package/package.json +19 -39
  5. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +22 -0
  6. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  7. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +25 -0
  8. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +16 -0
  9. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.html +33 -0
  10. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.scss +0 -0
  11. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.spec.ts +25 -0
  12. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.ts +28 -0
  13. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +20 -0
  14. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  15. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +25 -0
  16. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +16 -0
  17. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +3 -0
  18. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +17 -0
  19. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +24 -0
  20. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +20 -0
  21. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +23 -0
  22. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  23. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +25 -0
  24. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +16 -0
  25. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +15 -0
  26. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  27. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.spec.ts +25 -0
  28. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +19 -0
  29. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +14 -0
  30. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  31. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +25 -0
  32. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +16 -0
  33. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +35 -0
  34. package/src/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.ts +307 -0
  35. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.ts +19 -0
  36. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +19 -0
  37. package/{lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts → src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.ts} +21 -9
  38. package/src/lib/anna-core-shared-lib/models/anna-manage-users.model.ts +6 -0
  39. package/{lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts → src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.ts} +28 -17
  40. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +13 -0
  41. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +44 -0
  42. package/src/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.ts +20 -0
  43. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +43 -0
  44. package/src/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.ts +19 -0
  45. package/src/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.ts +12 -0
  46. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +219 -0
  47. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +563 -0
  48. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +136 -0
  49. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +170 -0
  50. package/src/lib/anna-core-shared-lib/services/anna-number-format.service.ts +43 -0
  51. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +179 -0
  52. package/src/lib/anna-core.module.ts +112 -0
  53. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +46 -0
  54. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +153 -0
  55. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +24 -0
  56. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +106 -0
  57. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +129 -0
  58. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +275 -0
  59. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +24 -0
  60. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +414 -0
  61. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +1080 -0
  62. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +668 -0
  63. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +25 -0
  64. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +2186 -0
  65. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +10 -0
  66. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +1 -0
  67. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +24 -0
  68. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +69 -0
  69. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +13 -0
  70. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +88 -0
  71. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +25 -0
  72. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +460 -0
  73. 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 +237 -0
  74. package/{lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts → src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.ts} +0 -0
  75. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +204 -0
  76. package/{lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts → src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.ts} +0 -0
  77. package/{public-api.d.ts → src/public-api.ts} +28 -0
  78. package/src/test.ts +27 -0
  79. package/tsconfig.lib.json +19 -0
  80. package/tsconfig.lib.prod.json +10 -0
  81. package/tsconfig.spec.json +17 -0
  82. package/annalib-anna-core.d.ts +0 -5
  83. package/esm2020/annalib-anna-core.mjs +0 -5
  84. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -15
  85. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -35
  86. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -15
  87. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
  88. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -15
  89. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -21
  90. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -15
  91. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -35
  92. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +0 -282
  93. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -27
  94. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
  95. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
  96. package/esm2020/lib/anna-core-shared-lib/models/anna-manage-users.model.mjs +0 -8
  97. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -2
  98. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -7
  99. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +0 -30
  100. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +0 -26
  101. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -46
  102. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +0 -25
  103. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +0 -16
  104. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -199
  105. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -469
  106. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -124
  107. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -133
  108. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +0 -41
  109. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -147
  110. package/esm2020/lib/anna-core.module.mjs +0 -180
  111. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -101
  112. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -364
  113. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -1834
  114. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -69
  115. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +0 -357
  116. 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 +0 -189
  117. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +0 -2
  118. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +0 -178
  119. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +0 -2
  120. package/esm2020/public-api.mjs +0 -50
  121. package/fesm2015/annalib-anna-core.mjs +0 -4875
  122. package/fesm2015/annalib-anna-core.mjs.map +0 -1
  123. package/fesm2020/annalib-anna-core.mjs +0 -4868
  124. package/fesm2020/annalib-anna-core.mjs.map +0 -1
  125. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +0 -8
  126. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +0 -16
  127. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +0 -8
  128. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +0 -11
  129. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +0 -8
  130. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +0 -11
  131. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +0 -8
  132. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +0 -33
  133. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +0 -34
  134. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +0 -9
  135. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +0 -16
  136. package/lib/anna-core-shared-lib/models/anna-manage-users.model.d.ts +0 -6
  137. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +0 -11
  138. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +0 -25
  139. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +0 -9
  140. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +0 -9
  141. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +0 -9
  142. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +0 -7
  143. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +0 -27
  144. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +0 -74
  145. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +0 -28
  146. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +0 -21
  147. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +0 -7
  148. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +0 -16
  149. package/lib/anna-core.module.d.ts +0 -36
  150. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +0 -34
  151. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +0 -70
  152. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +0 -283
  153. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +0 -17
  154. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +0 -141
  155. 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 +0 -89
  156. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +0 -45
@@ -0,0 +1,170 @@
1
+ import { Injectable } from "@angular/core";
2
+ import {
3
+ IAngular2MultiSelectSettings,
4
+ INgxAsideSettings,
5
+ INgbDatePickerSettings,
6
+ INgSelectSettings,
7
+ INgxInfiniteScrollSettings,
8
+ INgxSkeletonLoaderSettings,
9
+ IRadioButtonComponentConfig,
10
+ IConfirmationPopupConfig,
11
+ IWeekCalendar,
12
+ ICustomSingleSelect,
13
+ ICustomMultiSelect,
14
+ } from "../models/anna-global-dropdown-config.model";
15
+ import {
16
+ IGtHeaderConfig,
17
+ IGtGeneralConfig
18
+ } from "../models/anna-non-editable-gt-models";
19
+
20
+ @Injectable({
21
+ providedIn: "root",
22
+ })
23
+ export class AnnaGlobalConfigService {
24
+ readonly defaultAngular2MultiSelectSettings: IAngular2MultiSelectSettings;
25
+ readonly defaultNgxAsideSettings: INgxAsideSettings;
26
+ readonly defaultNgbDatePickerSettings: INgbDatePickerSettings;
27
+ readonly defaultNgSelectSettings: INgSelectSettings;
28
+ readonly defaultNgxInfiniteScrollSettings: INgxInfiniteScrollSettings;
29
+ readonly defaultNgxSkeletonLoaderSettings: INgxSkeletonLoaderSettings;
30
+ readonly defaultRadioButtonsComponentConfig: IRadioButtonComponentConfig;
31
+ readonly defaultConfirmationPopupConfig: IConfirmationPopupConfig;
32
+ readonly defaultWeekCalendarConfig: IWeekCalendar;
33
+ readonly defaultGtHeaderConfig: IGtHeaderConfig;
34
+ readonly defaultGtGeneralConfig: IGtGeneralConfig;
35
+ readonly defaultSingleSelectConfig: ICustomSingleSelect;
36
+ readonly defaultMultiSelectConfig: ICustomMultiSelect;
37
+
38
+ /*
39
+ Initializing all default settings
40
+ */
41
+ constructor() {
42
+ console.log("AnnaGlobalConfigService service created.");
43
+ this.defaultAngular2MultiSelectSettings = {
44
+ text: "Select option",
45
+ selectAllText: "Select All",
46
+ unSelectAllText: "UnSelect All",
47
+ badgeShowLimit: 1,
48
+ singleSelection: false,
49
+ classes: "filter-dropdowns",
50
+ enableSearchFilter: true,
51
+ enableCheckAll: true,
52
+ autoPosition: false,
53
+ disabled: false,
54
+ position: "bottom",
55
+ lazyLoading: false,
56
+ showCheckbox: true,
57
+ maxHeight: 300,
58
+ enableFilterSelectAll: true,
59
+ };
60
+
61
+ this.defaultNgxAsideSettings = {
62
+ title: '"Filters"',
63
+ cancelButtonTitle: '"Cancel"',
64
+ submitButtonTitle: '"Apply"',
65
+ closeOnEscape: false,
66
+ showOverlay: false,
67
+ showDefaultFooter: false,
68
+ showDefaultHeader: false,
69
+ };
70
+
71
+ this.defaultNgbDatePickerSettings = {
72
+ autoClose: false,
73
+ placeholder: "mm-dd-yyyy",
74
+ displayMonths: 1,
75
+ firstDayOfWeek: 1,
76
+ showWeekNumbers: false,
77
+ readonly: true,
78
+ };
79
+
80
+ this.defaultNgSelectSettings = {
81
+ allowClear: false,
82
+ placeholder: "Select",
83
+ };
84
+
85
+ this.defaultNgxInfiniteScrollSettings = {
86
+ infiniteScrollDistance: 1,
87
+ infiniteScrollUpDistance: 2,
88
+ infiniteScrollThrottle: 300,
89
+ scrollWindow: false,
90
+ };
91
+
92
+ this.defaultNgxSkeletonLoaderSettings = {
93
+ numberOfSkeletonRows: Array(6).fill(0),
94
+ };
95
+
96
+ this.defaultRadioButtonsComponentConfig = {
97
+ heading: "Select Option",
98
+ radioButtons: [
99
+ {
100
+ value: "Yes",
101
+ isDisabled: false,
102
+ label: "Yes",
103
+ class: "",
104
+ },
105
+ {
106
+ value: "No",
107
+ isDisabled: false,
108
+ label: "No",
109
+ class: "",
110
+ },
111
+ ],
112
+ };
113
+
114
+ this.defaultConfirmationPopupConfig = {
115
+ showCancelButton: true,
116
+ title: "Are you sure ?",
117
+ showConfirmButton: true,
118
+ cancelButtonLabel: "No",
119
+ confirmButtonLabel: "Yes",
120
+ showCloseIcon: true,
121
+ backdrop: "static",
122
+ windowClass: "",
123
+ size: "sm",
124
+ keyboard: false,
125
+ };
126
+
127
+ this.defaultWeekCalendarConfig = {
128
+ firstDayOfWeek: 1,
129
+ showWeekNumbers: true,
130
+ dateFormatToDisplay: "d MMM y",
131
+ dateFormatForRequest: "y-MM-dd",
132
+ maxWeeksToShowWithRemainingCount: 2,
133
+ numberOfMonthsToEnableInPast: 1,
134
+ selectMultipleWeeks: false,
135
+ customClass: "",
136
+ emitMultipleWeekObjects: true,
137
+ maxWeeksToSelect: 0,
138
+ showAsDropdown: true,
139
+ selectCurrentWeek: true,
140
+ };
141
+
142
+ this.defaultGtHeaderConfig = {
143
+ iconColumn: false,
144
+ checkboxColumn: false,
145
+ lastColumnKeys: []
146
+ };
147
+
148
+ this.defaultGtGeneralConfig = {
149
+ component: "",
150
+ totalRow: false,
151
+ isHeaderChecked: false,
152
+ disableHeaderCheckbox: false,
153
+ verticalScrollOffsetForFilterTooltip: 0,
154
+ isGrouped: false,
155
+ showAllColumnFilter: true,
156
+ bufferSize: 20,
157
+ page: ""
158
+ };
159
+
160
+ this.defaultSingleSelectConfig = {
161
+ showSearchBar: false,
162
+ placeholder: "Select",
163
+ classes: "",
164
+ position: "BOTTOM",
165
+ maxHeightOfList: 200
166
+ }
167
+
168
+ this.defaultMultiSelectConfig = {...this.defaultSingleSelectConfig, ...{showErrorWhenNoOptionSelected: true}};
169
+ }
170
+ }
@@ -0,0 +1,43 @@
1
+ import { Injectable } from "@angular/core";
2
+
3
+ @Injectable({
4
+ providedIn: "root",
5
+ })
6
+ export class AnnaNumberFormatService {
7
+
8
+ public static GetRoundedValueWithUnits(inputValue: number, digitsToRoundDecimalPoint = 2)
9
+ {
10
+ let [value,unit] = AnnaNumberFormatService.GetValueInUnits(Math.abs(inputValue));
11
+ value = +((+value).toFixed(digitsToRoundDecimalPoint));
12
+ if(inputValue < 0){
13
+ value = value * -1;
14
+ }
15
+ return value.toString() + unit;
16
+ // return (Math.Round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
17
+ }
18
+
19
+ public static GetValueInUnits(inputValue: number){
20
+ let unit = "";
21
+ let thousand = 1000;
22
+ let million = 1000000;
23
+ let billion = 1000000000;
24
+
25
+ if (inputValue >= thousand && inputValue < million)
26
+ {
27
+ inputValue = inputValue / thousand;
28
+ unit = "K";
29
+ }
30
+ else if (inputValue >= million && inputValue < billion)
31
+ {
32
+ inputValue = inputValue / million;
33
+ unit = "M";
34
+ }
35
+ else if (inputValue >= billion)
36
+ {
37
+ inputValue = inputValue / billion;
38
+ unit = "B";
39
+ }
40
+
41
+ return [inputValue,unit];
42
+ }
43
+ }
@@ -0,0 +1,179 @@
1
+ // Angular import statements
2
+ import { Injectable } from '@angular/core';
3
+ import { Subject } from 'rxjs';
4
+ import { SortType } from '../models/anna-sort.model';
5
+ import { AnnaDateTimeFormatService } from './anna-date-time-format.service';
6
+
7
+ // Third party import statements
8
+
9
+ // User defined import statements
10
+
11
+ @Injectable({
12
+ providedIn: 'root',
13
+ })
14
+ export class AnnaSortService {
15
+ columnSortState: Map<string, SortType>;
16
+ noSortingAppliedData: any[];
17
+ updateSortTypeSubject: Subject<string> = new Subject();
18
+
19
+ dateSet = new Set([
20
+ 'endDate',
21
+ 'startDate',
22
+ 'end_date',
23
+ 'start_date',
24
+ 'flightStartDate',
25
+ 'flightEndDate',
26
+ ]);
27
+
28
+ constructor(private annaDateTimeFormatService: AnnaDateTimeFormatService) {
29
+ console.log('AnnaTableColumnSortService sevice created.');
30
+ }
31
+
32
+ sortDataForComponentOtherThanLurAndCsrPage(
33
+ isAsc: boolean,
34
+ data: any[],
35
+ key: string
36
+ ) {
37
+ let param1: string | number;
38
+ let param2: string | number;
39
+
40
+ if (this.dateSet.has(key)) {
41
+ data.sort((a, b) => {
42
+ return this.annaDateTimeFormatService.compareDate(
43
+ a[key],
44
+ b[key],
45
+ isAsc
46
+ );
47
+ });
48
+ } else if (key === 'AirDateAndTime') {
49
+ data.sort((a, b) => {
50
+ let first, second;
51
+ if (a[key] == '-') {
52
+ return 1;
53
+ }
54
+
55
+ if (b[key] == '-') {
56
+ return -1;
57
+ } else {
58
+ first =
59
+ this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(
60
+ a[key]
61
+ );
62
+ second =
63
+ this.annaDateTimeFormatService.formatDateAndHHMMATimeToStandardFormat(
64
+ b[key]
65
+ );
66
+ let compareDate = this.annaDateTimeFormatService.compareDate(
67
+ first,
68
+ second,
69
+ isAsc
70
+ );
71
+ return compareDate;
72
+ }
73
+ });
74
+ } else if (key == 'startEndTime' || key == 'TimeBand') {
75
+ data.sort((a, b) => {
76
+ if (isAsc) {
77
+ param1 = a[key][1];
78
+ param2 = b[key][1];
79
+ } else {
80
+ param1 = a[key][2];
81
+ param2 = b[key][2];
82
+ }
83
+ let val = isAsc
84
+ ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
85
+ : this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
86
+ return val;
87
+ });
88
+ } else {
89
+ data.sort((a, b) => {
90
+ param1 = a[key];
91
+ param2 = b[key];
92
+
93
+ if (param1 !== param2) {
94
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
95
+ }
96
+
97
+ return 0;
98
+ });
99
+ }
100
+
101
+ return data;
102
+ }
103
+
104
+ sortEnterEditLurAndCsrPage(isAsc: boolean, data: any[], key: any) {
105
+ let param1: string | number;
106
+ let param2: string | number;
107
+
108
+ if (key.includes('_')) {
109
+ let keys = key.split('_');
110
+ let weekNumber = keys[0];
111
+ let sortKey = keys[1];
112
+
113
+ if (keys.length > 2) {
114
+ sortKey =
115
+ keys[2] == true
116
+ ? 'BookedAurIncludingNoChargeSpots'
117
+ : 'BookedAurExcludingNoChargeSpots';
118
+ }
119
+
120
+ data.sort((a, b) => {
121
+ let aInventoryCodeWeekWiseKey = Object.keys(
122
+ a.WeekWiseInventoryCodeData
123
+ ).filter((key) => key.split('_')[1] == weekNumber);
124
+ let bInventoryCodeWeekWiseKey = Object.keys(
125
+ b.WeekWiseInventoryCodeData
126
+ ).filter((key) => key.split('_')[1] == weekNumber);
127
+
128
+ param1 = null;
129
+ param2 = null;
130
+ if (aInventoryCodeWeekWiseKey.length > 0) {
131
+ param1 =
132
+ a.WeekWiseInventoryCodeData[aInventoryCodeWeekWiseKey[0]][
133
+ sortKey
134
+ ][1];
135
+ }
136
+
137
+ if (bInventoryCodeWeekWiseKey.length > 0) {
138
+ param2 =
139
+ b.WeekWiseInventoryCodeData[bInventoryCodeWeekWiseKey[0]][
140
+ sortKey
141
+ ][1];
142
+ }
143
+
144
+ if (param1 !== param2) {
145
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
146
+ }
147
+
148
+ return 0;
149
+ });
150
+ } else if (key == 'TimeBand') {
151
+ data.sort((a, b) => {
152
+ if (isAsc) {
153
+ param1 = a[key][1];
154
+ param2 = b[key][1];
155
+ } else {
156
+ param1 = a[key][2];
157
+ param2 = b[key][2];
158
+ }
159
+ let val = isAsc
160
+ ? this.annaDateTimeFormatService.sortByTimeAscending(param1, param2)
161
+ : this.annaDateTimeFormatService.sortByTimeDescending(param1, param2);
162
+ return val;
163
+ });
164
+ } else {
165
+ data.sort((a, b) => {
166
+ param1 = a[key];
167
+ param2 = b[key];
168
+
169
+ if (param1 !== param2) {
170
+ return this.annaDateTimeFormatService.compare(param1, param2, isAsc);
171
+ }
172
+
173
+ return 0;
174
+ });
175
+ }
176
+
177
+ return data;
178
+ }
179
+ }
@@ -0,0 +1,112 @@
1
+
2
+
3
+ // Angular import statements
4
+ import { NgModule } from '@angular/core';
5
+ import { CommonModule } from '@angular/common';
6
+ import { FormsModule } from '@angular/forms';
7
+ import { MatRadioModule } from "@angular/material/radio";
8
+ import { MatButtonToggleModule } from '@angular/material/button-toggle';
9
+ import { MatTableModule } from '@angular/material/table';
10
+ import { ScrollingModule } from '@angular/cdk/scrolling';
11
+
12
+ // Third party import statements
13
+ import { NgbModule } from '@ng-bootstrap/ng-bootstrap';
14
+ import { NgxSliderModule } from '@angular-slider/ngx-slider';
15
+ import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
16
+ import { NgCircleProgressModule } from 'ng-circle-progress';
17
+
18
+ //Anna-core User defined import statements
19
+ import { AnnaFilterSearchedTextPipe } from './anna-core-shared-lib/pipes/annaFilterSearchedText.pipe';
20
+ import { AnnaNoDataComponent } from './anna-core-shared-lib/components/anna-no-data/anna-no-data.component';
21
+ import { AnnaIconColumnComponent } from './anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component';
22
+ import { AnnaBuyerApprovalIconTemplateComponent } from './anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component';
23
+ import { AnnaLiveIconTemplateComponent } from './anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component';
24
+ import { AnnaNotifyIconTemplateComponent } from './anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component';
25
+ import { AnnaPayForPerformanceIconTemplateComponent } from './anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component';
26
+ import { AnnaRejectedIconTemplateComponent } from './anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component';
27
+ import { showEllipsisTextOnHoverDirective } from './anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive';
28
+ import { AnnaConvertZeroOrNullOrUndefinedPipe } from './anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe';
29
+
30
+ //Anna-dropdown-lib User defined import statements
31
+ import { AnnaWeekCalendarComponent } from './anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component';
32
+ import { AnnaCalendarFilterComponent } from './anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component';
33
+
34
+
35
+ //Anna-generic-table User defined import statements
36
+ import { AnnaNonEditableGenericTableComponent } from './anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component';
37
+ import { AnnaSortComponent } from './anna-generic-table-lib/components/anna-sort/anna-sort.component';
38
+ import { AnnaTableVirtualScrollViewportComponent } from './anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component';
39
+ import { AnnaFixedRowSizeTableVirtualScrollStrategyDirective } from './anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy';
40
+ import { AnnaVirtualTableDirective } from './anna-generic-table-lib/directives/anna-virtual-table';
41
+ import { AnnaTypeofDataPipe } from './anna-core-shared-lib/pipes/annaTypeOfData.pipe';
42
+ import { AnnaReplaceCharPipe } from './anna-core-shared-lib/pipes/annaReplaceChar.pipe';
43
+ import { DigitOnlyDirective } from './anna-core-shared-lib/directives/digits-only/digits-only.directive';
44
+
45
+ @NgModule({
46
+ declarations: [
47
+ AnnaNoDataComponent,
48
+ AnnaFilterSearchedTextPipe,
49
+ AnnaConvertZeroOrNullOrUndefinedPipe,
50
+ AnnaTypeofDataPipe,
51
+ AnnaFilterSearchedTextPipe,
52
+ AnnaReplaceCharPipe,
53
+ AnnaBuyerApprovalIconTemplateComponent,
54
+ AnnaLiveIconTemplateComponent,
55
+ AnnaNotifyIconTemplateComponent,
56
+ AnnaPayForPerformanceIconTemplateComponent,
57
+ AnnaRejectedIconTemplateComponent,
58
+ showEllipsisTextOnHoverDirective,
59
+ AnnaIconColumnComponent,
60
+ AnnaWeekCalendarComponent,
61
+ AnnaCalendarFilterComponent,
62
+ AnnaSortComponent,
63
+ AnnaVirtualTableDirective,
64
+ AnnaNonEditableGenericTableComponent,
65
+ AnnaTableVirtualScrollViewportComponent,
66
+ AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
67
+ DigitOnlyDirective
68
+ ],
69
+ imports: [
70
+ CommonModule,
71
+ NgbModule,
72
+ FormsModule,
73
+ MatRadioModule,
74
+ MatButtonToggleModule,
75
+ MatTableModule,
76
+ NgxSliderModule,
77
+ NgxSkeletonLoaderModule,
78
+ ScrollingModule,
79
+ NgCircleProgressModule.forRoot({
80
+ radius: 100,
81
+ outerStrokeWidth: 16,
82
+ innerStrokeWidth: 8,
83
+ outerStrokeColor: '#78C000',
84
+ innerStrokeColor: '#C7E596',
85
+ animationDuration: 300,
86
+ }),
87
+ ],
88
+ exports : [
89
+ AnnaNoDataComponent,
90
+ AnnaFilterSearchedTextPipe,
91
+ AnnaConvertZeroOrNullOrUndefinedPipe,
92
+ AnnaTypeofDataPipe,
93
+ AnnaReplaceCharPipe,
94
+ AnnaFilterSearchedTextPipe,
95
+ AnnaBuyerApprovalIconTemplateComponent,
96
+ AnnaLiveIconTemplateComponent,
97
+ AnnaNotifyIconTemplateComponent,
98
+ AnnaPayForPerformanceIconTemplateComponent,
99
+ AnnaRejectedIconTemplateComponent,
100
+ showEllipsisTextOnHoverDirective,
101
+ AnnaIconColumnComponent,
102
+ AnnaWeekCalendarComponent,
103
+ AnnaCalendarFilterComponent,
104
+ AnnaSortComponent,
105
+ AnnaVirtualTableDirective,
106
+ AnnaNonEditableGenericTableComponent,
107
+ AnnaTableVirtualScrollViewportComponent,
108
+ AnnaFixedRowSizeTableVirtualScrollStrategyDirective,
109
+ DigitOnlyDirective
110
+ ]
111
+ })
112
+ export class AnnaCoreModule { }
@@ -0,0 +1,46 @@
1
+ <!-- container="body"
2
+ datepickerClass = "calendar-filter" -->
3
+
4
+ <p class="calendar-label">{{label | titlecase }}</p>
5
+ <form>
6
+ <div class="col-12">
7
+ <div class="dp-hidden position-absolute">
8
+ <div class="input-group">
9
+ <input name="datepicker"
10
+ class="form-control"
11
+ ngbDatepicker
12
+ #datepicker="ngbDatepicker"
13
+ (dateSelect)="onDateSelection($event)"
14
+ [displayMonths]="1"
15
+ [dayTemplate]="t"
16
+ [maxDate]="maxDate"
17
+ [minDate]="minDate"
18
+ [autoClose]="'outside'"
19
+ [startDate]="fromDate"
20
+ navigation="select"
21
+ >
22
+ <ng-template #t let-date let-focused="focused">
23
+ <span class="custom-day"
24
+ [class.focused]="focused"
25
+ [class.range]="isRange(date)"
26
+ [class.faded]="isHovered(date) || isInside(date)"
27
+ (mouseenter)="hoveredDate = date"
28
+ (mouseleave)="hoveredDate = null">
29
+ {{ date.day }}
30
+ </span>
31
+ </ng-template>
32
+ </div>
33
+ </div>
34
+ <div class="input-group">
35
+ <input #dpFromDate
36
+ id = "datepicker-input"
37
+ class="form-control" placeholder="mm/dd/yyyy"
38
+ readonly
39
+ name="dpFromDate"
40
+ [value]="dateToBeShownInInput"
41
+ >
42
+ <button class="icon-container" (click)="datepicker.toggle()" type="button"><i class="mdi mdi-calendar-range"></i></button>
43
+ </div>
44
+ </div>
45
+ </form>
46
+
@@ -0,0 +1,153 @@
1
+ @import "fonts", "colors";
2
+
3
+ :host::ng-deep div.ngb-dp-arrow.right {
4
+ width: 2.4375rem !important;
5
+ background-color: white !important;
6
+ }
7
+
8
+ :host::ng-deep div.ngb-dp-weekday {
9
+ color: $oliveGreen;
10
+ border-top: 1px solid rgba(183, 183, 183, 0.6);
11
+ margin-top: 0.5rem;
12
+ @include fonts(Roboto, 0.8125rem, normal, bold, normal, 2.6, normal);
13
+ }
14
+
15
+ :host::ng-deep div.ngb-dp-week {
16
+ background-color: white !important;
17
+ }
18
+
19
+ :host::ng-deep div.ngb-dp-header {
20
+ background-color: white !important;
21
+ }
22
+
23
+ :host::ng-deep div.bg-primary {
24
+ background-color: $lightGray-9 !important;
25
+ border-radius: 0.25rem;
26
+ }
27
+
28
+ :host::ng-deep .ngb-dp-arrow-btn:focus {
29
+ outline-width: 0px;
30
+ }
31
+ :host::ng-deep .right .ngb-dp-navigation-chevron,
32
+ :host::ng-deep .ngb-dp-navigation-chevron {
33
+ color: black;
34
+ }
35
+
36
+ :host::ng-deep .custom-select {
37
+ border: 1px solid rgba(183, 183, 183, 0.6);
38
+ box-shadow: none;
39
+ }
40
+
41
+ :host::ng-deep .btn:focus {
42
+ box-shadow: none;
43
+ }
44
+
45
+ // div {
46
+ // margin: 0 0.3125rem;
47
+ // }
48
+
49
+ .custom-day {
50
+ text-align: center;
51
+ padding: 0.185rem 0.25rem;
52
+ color: black;
53
+ display: inline-block;
54
+ height: 2rem;
55
+ width: 2rem;
56
+ }
57
+ .custom-day.focused {
58
+ background-color: $lightGray-5;
59
+ }
60
+ .custom-day.range {
61
+ background-color: $primary-color;
62
+ // border-radius: $fs-4;
63
+ color: white;
64
+ // font-weight: 600;
65
+ }
66
+
67
+ .custom-day:hover {
68
+ background-color: $lightGray-9;
69
+ border-radius: 0.25rem;
70
+ color: $gray74;
71
+ }
72
+
73
+ :host::ng-deep div.ngb-dp-day.disabled {
74
+ cursor: not-allowed;
75
+ }
76
+
77
+ .custom-day.faded {
78
+ background-color: rgba(38, 139, 255, 0.2);
79
+ color: black;
80
+ font-weight: 600;
81
+ }
82
+ :host::ng-deep div.ngb-dp-week div.ngb-dp-day.disabled .custom-day {
83
+ color: $gray74;
84
+ opacity: 50%;
85
+ }
86
+
87
+ @mixin button-text {
88
+ text-align: center;
89
+ outline: none;
90
+ @include fonts(Roboto, 0.875rem, normal, normal, normal, 1.14, normal);
91
+ }
92
+
93
+ .buttons {
94
+ display: flex;
95
+ margin: 0px auto 0.4375rem;
96
+ margin-bottom: 0;
97
+ justify-content: center;
98
+ button.btn:disabled {
99
+ background: $gray74;
100
+ opacity: 0.5;
101
+ color: $charcoal;
102
+ }
103
+ .btn {
104
+ display: inline-block;
105
+ // width: 50%;
106
+ margin: 8px 4px 0 8px;
107
+ padding: 5px 16px;
108
+ // border-radius: 4px;
109
+ @include button-text();
110
+ border: none;
111
+ color: #268bff;
112
+ background-color: #e5f1ff;
113
+ }
114
+ .btn:last-of-type {
115
+ background-color: $primary-color;
116
+ color: white;
117
+ }
118
+ }
119
+
120
+ :host::ng-deep .ngb-dp-day {
121
+ font-weight: bold;
122
+ }
123
+
124
+
125
+ input#datepicker-input, button.icon-container{
126
+ background: white;
127
+ border: none;
128
+ }
129
+
130
+ input#datepicker-input{
131
+ color: #202b47;
132
+ @include fonts(Roboto, 14px, normal, normal, normal, normal, normal);
133
+ }
134
+
135
+ input#datepicker-input:focus{
136
+ box-shadow: none;
137
+ }
138
+
139
+
140
+ div.input-group{
141
+ border: 1px solid #b7b7b7;
142
+ border-radius: 2px;
143
+ width: 94%;
144
+ }
145
+
146
+ .calendar-label{
147
+ @include fonts(Roboto, 12px, normal, normal, normal, normal, normal);
148
+ color: #666;
149
+ margin-top: 7px;
150
+ margin-bottom: 0;
151
+ text-align: left;
152
+ margin-left: 15px;
153
+ }