@annalib/anna-core 7.2.2 → 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,43 @@
1
+ import { Pipe, PipeTransform } from "@angular/core";
2
+ import { memoize } from "lodash-es";
3
+
4
+ @Pipe({
5
+ name: "AnnafilterSearchedText",
6
+ })
7
+ export class AnnaFilterSearchedTextPipe implements PipeTransform {
8
+ callFilter = memoize(this.filter, (...args) => this.filter(args[0], args[1], args[2]));
9
+
10
+ transform(items: any[], searchText: any, keyName?: any): any[] {
11
+ return this.callFilter(items, searchText, keyName);
12
+ }
13
+
14
+ filter(items: any[], searchText: string, keyName?: any): any[] {
15
+ if (!items) return [];
16
+ if (!searchText) return items;
17
+ searchText = searchText.toString().toLowerCase();
18
+
19
+
20
+ // if keyName is an array then loop through all the keynames
21
+ if(typeof(keyName) == 'object'){
22
+ let isFoundAtleastOnce = false;
23
+ let isFound:any[];
24
+
25
+ for(const key of keyName){
26
+ isFound = items.filter((item) => item[key].toString().toLowerCase().includes(searchText));
27
+ if(isFound.length){
28
+ isFoundAtleastOnce = true;
29
+ break;
30
+ }
31
+ }
32
+ return isFoundAtleastOnce ? isFound : [];
33
+ }
34
+ else {
35
+ //if keyName is undefined every key will be considered for filtering.
36
+ if (!keyName)
37
+ return items.filter(
38
+ (item) => Object.values(item).filter((n) => n ? n.toString().toLowerCase().includes(searchText) : false).length > 0
39
+ );
40
+ return items.filter((item) => item[keyName] ? item[keyName].toString().toLowerCase().includes(searchText) : false);
41
+ }
42
+ }
43
+ }
@@ -0,0 +1,19 @@
1
+ import { Pipe, PipeTransform } from "@angular/core";
2
+ import { memoize } from "lodash-es";
3
+
4
+ @Pipe({
5
+ name: "annaReplaceChar",
6
+ })
7
+ export class AnnaReplaceCharPipe implements PipeTransform {
8
+ converter = memoize(this.replace, (...args) => this.replace(args[0], args[1], args[2]));
9
+
10
+ transform(value: string, charToBeReplaced: string, replaceBy: string): string {
11
+ if (value !== undefined || value != null) {
12
+ return this.converter(value, charToBeReplaced, replaceBy);
13
+ }
14
+ }
15
+
16
+ replace(value: string, from: string, to: string): string {
17
+ return value.replace(new RegExp(from, "g"), to);
18
+ }
19
+ }
@@ -0,0 +1,12 @@
1
+ import {Pipe, PipeTransform} from '@angular/core';
2
+
3
+ @Pipe({
4
+ name: 'AnnatypeofData'
5
+ })
6
+ export class AnnaTypeofDataPipe implements PipeTransform {
7
+
8
+ transform(value: any): any {
9
+ return typeof value;
10
+ }
11
+
12
+ }
@@ -0,0 +1,219 @@
1
+ // Angular import statements
2
+ import { Injectable } from '@angular/core';
3
+ import { NgbDate } from '@ng-bootstrap/ng-bootstrap';
4
+
5
+ // Third party import statements
6
+ import dayjs from "dayjs";
7
+
8
+ // User defined import statements
9
+ export type NgbDateType = { year: number, month: number, day: number };
10
+
11
+ @Injectable({
12
+ providedIn: 'root'
13
+ })
14
+ export class AnnaDateTimeFormatService {
15
+
16
+ constructor() {
17
+ console.log("AnnaDateTimeFormatService service created.")
18
+ }
19
+
20
+ convertToNgbDateStandardFormat(date: any): NgbDateType | NgbDate {
21
+ return {
22
+ year: parseInt(dayjs(date, "MM/DD/YYYY").format("YYYY")),
23
+ month: parseInt(dayjs(date, "MM/DD/YYYY").format("M")),
24
+ day: parseInt(dayjs(date, "MM/DD/YYYY").format("D")),
25
+ };
26
+ }
27
+
28
+ convertToNgbDate(date: any, parseFormat: any): NgbDateType | NgbDate {
29
+ return {
30
+ year: parseInt(dayjs(date, parseFormat).format("YYYY")),
31
+ month: parseInt(dayjs(date, parseFormat).format("M")),
32
+ day: parseInt(dayjs(date, parseFormat).format("D")),
33
+ };
34
+ }
35
+
36
+ formatToTwelveHrs(time: any, callRemoveZero: boolean) {
37
+ if (time.endsWith('A') || time.endsWith('P')) {
38
+ time = time.substring(0, time.length - 1);
39
+ }
40
+ let tmp = time.split(":");
41
+ let formattedTime = [];
42
+ if (+tmp[0] > 12) {
43
+ formattedTime[0] = (+tmp[0] - 12).toString();
44
+ if (+tmp[0] == 24) formattedTime[2] = "AM";
45
+ else formattedTime[2] = "PM";
46
+ } else if (tmp[0] == "12") {
47
+ formattedTime[0] = tmp[0];
48
+ formattedTime[2] = "PM";
49
+ } else if (tmp[0] == "00") {
50
+ formattedTime[0] = "12"
51
+ formattedTime[2] = "AM";
52
+ } else {
53
+ formattedTime[0] = tmp[0];
54
+ formattedTime[2] = "AM";
55
+ }
56
+ formattedTime[1] = tmp[1];
57
+ if (callRemoveZero) formattedTime = this.removeZero(formattedTime);
58
+ return formattedTime;
59
+ }
60
+
61
+ convertTotwentyFourHrsFormat(time: any, callAddZero: any) {
62
+ let tmp = time.split(/[ :]+/);
63
+ let formattedTime = [];
64
+ if (tmp[0] != "12" && tmp[2] == "PM") {
65
+ formattedTime[0] = (+tmp[0] + 12).toString();
66
+ } else if (tmp[0] == "12" && tmp[2] == "AM") {
67
+ formattedTime[0] = "00";
68
+ } else formattedTime[0] = tmp[0].toString();
69
+ formattedTime[1] = tmp[1].toString();
70
+ if (callAddZero) formattedTime = this.addZero(formattedTime);
71
+ return formattedTime;
72
+ }
73
+
74
+ removeZero(time: any) {
75
+ let removedZero;
76
+ let formattedTime = time;
77
+ if (
78
+ time[0] == "01" ||
79
+ time[0] == "02" ||
80
+ time[0] == "03" ||
81
+ time[0] == "04" ||
82
+ time[0] == "05" ||
83
+ time[0] == "06" ||
84
+ time[0] == "07" ||
85
+ time[0] == "08" ||
86
+ time[0] == "09"
87
+ ) {
88
+ removedZero = time[0].toString();
89
+ formattedTime[0] = removedZero.charAt(1);
90
+ formattedTime[1] = time[1];
91
+ formattedTime[2] = time[2];
92
+ }
93
+ return formattedTime;
94
+ }
95
+
96
+ addZero(time: any) {
97
+ let addedZero;
98
+ let formattedTime = time;
99
+ if (time[1] == "0") time[1] = "0" + time[1];
100
+ if (
101
+ time[0] == "0" ||
102
+ time[0] == "1" ||
103
+ time[0] == "2" ||
104
+ time[0] == "3" ||
105
+ time[0] == "4" ||
106
+ time[0] == "5" ||
107
+ time[0] == "6" ||
108
+ time[0] == "7" ||
109
+ time[0] == "8" ||
110
+ time[0] == "9"
111
+ ) {
112
+ addedZero = "0" + time[0];
113
+ formattedTime[0] = addedZero;
114
+ formattedTime[1] = time[1];
115
+ }
116
+ return formattedTime;
117
+ }
118
+
119
+ sortByTimeAscending(a: any, b: any) {
120
+ let format = "HH:mm:ss";
121
+ a = dayjs(a, format);
122
+ b = dayjs(b, format);
123
+
124
+ let results;
125
+
126
+ results = a.get('hour') > b.get('hour') ? 1 : a.get('hour') < b.get('hour') ? -1 : 0;
127
+
128
+ if (results === 0) results = a.get('minute') > b.get('minute') ? 1 : a.get('minute') < b.get('minute') ? -1 : 0;
129
+
130
+ if (results === 0) results = a.get('second') > b.get('second') ? 1 : a.get('second') < b.get('second') ? -1 : 0;
131
+
132
+ return results;
133
+ }
134
+
135
+ sortByTimeDescending(a: any, b: any) {
136
+ let format = "HH:mm:ss";
137
+ a = dayjs(a, format);
138
+ b = dayjs(b, format);
139
+
140
+ let results;
141
+
142
+ results = a.get('hour') < b.get('hour') ? 1 : a.get('hour') > b.get('hour') ? -1 : 0;
143
+
144
+ if (results === 0) results = a.get('minute') < b.get('minute') ? 1 : a.get('minute') > b.get('minute') ? -1 : 0;
145
+
146
+ if (results === 0) results = a.get('second') < b.get('second') ? 1 : a.get('second') > b.get('second') ? -1 : 0;
147
+
148
+ return results;
149
+ }
150
+
151
+ convertNgbDateToMoment(ngbDate: NgbDate | NgbDateType): string {
152
+ let formatType = "MM/DD/YYYY";
153
+ let converted = null;
154
+ if (ngbDate && ngbDate.month && ngbDate.day && ngbDate.year) {
155
+ converted = ngbDate.month + "/" + ngbDate.day + "/" + ngbDate.year;
156
+ converted = dayjs(converted).format(formatType);
157
+ }
158
+ return converted;
159
+ }
160
+
161
+ compareDate(a: string, b: string, isAsc: boolean) {
162
+ return isAsc ? dayjs(a).diff(b) : dayjs(b).diff(a);
163
+ }
164
+
165
+ public static formatTwentyFourHourTimeToHHMMAFormat(value: any, date?: string): string {
166
+ value = dayjs(date ? date : '01/01/2000 ' + value).format("MM/DD/YYYY HH:mm:ss");
167
+ return value[14] == "0" && value[15] == "0"
168
+ ? dayjs(value, ["MM/DD/YYYY HH:mm:ss"]).format("hA").slice(0, -1)
169
+ : dayjs(value, ["MM/DD/YYYY HH:mm:ss"]).format("h:mmA").slice(0, -1);
170
+ }
171
+
172
+ public static formatTwelveHourTimeToHHMMAFormat(timeValue: any, date?: string): string {
173
+ timeValue = dayjs(date ? date : '01/01/2000 ' + timeValue).format("MM/DD/YYYY HH:mm:ss");
174
+ // check if min==00
175
+ return timeValue[14] == "0" && timeValue[15] == "0"
176
+ ? dayjs(timeValue, ["MM/DD/YYYY HH:mm:ss"]).format("hA").slice(0, -1)
177
+ : dayjs(timeValue, ["MM/DD/YYYY HH:mm:ss"]).format("h:mmA").slice(0, -1);
178
+ }
179
+
180
+ formatDateAndHHMMATimeToStandardFormat(dateAndTime: any) {
181
+ let standardFormat, date, time;
182
+ if (dateAndTime.includes("|")) {
183
+ date = dateAndTime.slice(0, dateAndTime.indexOf("|"));
184
+ time = dateAndTime.slice(dateAndTime.indexOf('|') + 1, dateAndTime.length).trim();
185
+
186
+ time = time.slice(0, 2) + ":" + time.slice(2, 4) + " " + time.slice(4, 5);
187
+ time = time + "M";
188
+ standardFormat = date + time;
189
+ }
190
+ else {
191
+ standardFormat = dateAndTime + " 00:00 AM"
192
+ }
193
+ return dayjs(standardFormat).format("MM/DD/YYYY hh:mm A");
194
+ }
195
+
196
+ compare(a: number | string, b: number | string, isAsc: boolean) {
197
+ if (typeof a == 'string' && typeof b == 'string') {
198
+ a = a == "-" ? "0" : a.toLowerCase();
199
+ b = b == "-" ? "0" : b.toLowerCase();
200
+ }
201
+ return (a < b ? -1 : 1) * (isAsc ? 1 : -1);
202
+ }
203
+
204
+ sortDataByBroadcastTimeAsc(firstParamTime: string, secondParamTime: string, broadcastTime: string) {
205
+ let format = "HH:mm:ss";
206
+
207
+ let a = dayjs(firstParamTime, format);
208
+ let b = dayjs(secondParamTime, format);
209
+
210
+ let broadcastdayjsDateTime = dayjs(broadcastTime, "HH:mm:ss");
211
+
212
+ a = a.isBefore(broadcastdayjsDateTime) ? a.add(1, "d") : a;
213
+ b = b.isBefore(broadcastdayjsDateTime) ? b.add(1, "d") : b;
214
+
215
+ let result = a.isBefore(b) ? -1 : a.isAfter(b) ? 1 : 0;
216
+ return result;
217
+ }
218
+
219
+ }