@annalib/anna-core 31.8.0 → 33.0.0

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 (58) hide show
  1. package/fesm2022/annalib-anna-core.mjs +189 -285
  2. package/fesm2022/annalib-anna-core.mjs.map +1 -1
  3. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +2 -2
  4. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +0 -1
  5. package/package.json +7 -9
  6. package/public-api.d.ts +0 -1
  7. package/esm2022/annalib-anna-core.mjs +0 -5
  8. package/esm2022/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +0 -12
  9. package/esm2022/lib/anna-core-shared-lib/components/anna-circular-progress/anna-circular-progress.component.mjs +0 -52
  10. package/esm2022/lib/anna-core-shared-lib/components/anna-deleted-order-icon-template/anna-deleted-order-icon-template.component.mjs +0 -11
  11. package/esm2022/lib/anna-core-shared-lib/components/anna-est-icon-template/anna-est-icon-template.component.mjs +0 -11
  12. package/esm2022/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +0 -49
  13. package/esm2022/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +0 -12
  14. package/esm2022/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +0 -22
  15. package/esm2022/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +0 -11
  16. package/esm2022/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +0 -20
  17. package/esm2022/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +0 -12
  18. package/esm2022/lib/anna-core-shared-lib/components/anna-spinner-loader/anna-spinner-loader.component.mjs +0 -26
  19. package/esm2022/lib/anna-core-shared-lib/constants/anna-application.constants.mjs +0 -5
  20. package/esm2022/lib/anna-core-shared-lib/constants/shared.constant.mjs +0 -49
  21. package/esm2022/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +0 -266
  22. package/esm2022/lib/anna-core-shared-lib/directives/fixed-rows-popup-table/fixed-rows-popup-table.directive.mjs +0 -46
  23. package/esm2022/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +0 -41
  24. package/esm2022/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +0 -2
  25. package/esm2022/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +0 -2
  26. package/esm2022/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +0 -67
  27. package/esm2022/lib/anna-core-shared-lib/models/anna-sort.model.mjs +0 -7
  28. package/esm2022/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +0 -32
  29. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertArrayToCommaSeperatedValue.pipe.mjs +0 -39
  30. package/esm2022/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +0 -27
  31. package/esm2022/lib/anna-core-shared-lib/pipes/annaDateFormatter.pipe.mjs +0 -21
  32. package/esm2022/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +0 -53
  33. package/esm2022/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +0 -27
  34. package/esm2022/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +0 -17
  35. package/esm2022/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +0 -240
  36. package/esm2022/lib/anna-core-shared-lib/services/anna-filter.service.mjs +0 -1505
  37. package/esm2022/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +0 -149
  38. package/esm2022/lib/anna-core-shared-lib/services/anna-generic-tooltip-html.services.mjs +0 -60
  39. package/esm2022/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +0 -94
  40. package/esm2022/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +0 -80
  41. package/esm2022/lib/anna-core-shared-lib/services/anna-persisting-filter.service.mjs +0 -68
  42. package/esm2022/lib/anna-core-shared-lib/services/anna-regex-patterns.service.mjs +0 -20
  43. package/esm2022/lib/anna-core-shared-lib/services/anna-sort.service.mjs +0 -177
  44. package/esm2022/lib/anna-core-shared-lib/services/anna-spinner-loader.service.mjs +0 -24
  45. package/esm2022/lib/anna-core.module.mjs +0 -215
  46. package/esm2022/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +0 -160
  47. package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/anna-single-select.component.mjs +0 -155
  48. package/esm2022/lib/anna-dropdown-lib/components/anna-single-select/models/anna-single-select.model.mjs +0 -12
  49. package/esm2022/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +0 -359
  50. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-checkbox-filter/anna-column-checkbox-filter.component.mjs +0 -264
  51. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-date-range-filter/anna-column-date-range-filter.component.mjs +0 -189
  52. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-slider-filter/anna-column-slider-filter.component.mjs +0 -319
  53. package/esm2022/lib/anna-generic-table-lib/components/anna-column-filters/anna-column-time-filter/anna-column-time-filter.component.mjs +0 -302
  54. package/esm2022/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +0 -1090
  55. package/esm2022/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +0 -69
  56. package/esm2022/lib/anna-generic-table-lib/services/gt-table-related-common-functions.service.mjs +0 -99
  57. package/esm2022/public-api.mjs +0 -62
  58. package/lib/anna-generic-table-lib/services/gt-table-related-common-functions.service.d.ts +0 -11
@@ -1,149 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import { ActivatedRoute, Router } from "@angular/router";
3
- import { cloneDeep } from "lodash-es";
4
- import { Subject } from "rxjs";
5
- import { AnnaFilterService } from "./anna-filter.service";
6
- import { AnnaSortService } from "./anna-sort.service";
7
- import * as i0 from "@angular/core";
8
- import * as i1 from "./anna-filter.service";
9
- import * as i2 from "@angular/router";
10
- import * as i3 from "./anna-sort.service";
11
- export class AnnaGtHelperService {
12
- constructor(annaFilterService, router, route, annaSortService) {
13
- this.annaFilterService = annaFilterService;
14
- this.router = router;
15
- this.route = route;
16
- this.annaSortService = annaSortService;
17
- this.virtualScrollSubject = new Subject();
18
- }
19
- calculateNumberOfSkeletonColumnsForTable(tableHeaders) {
20
- const numberOfSkeletonColumns = [];
21
- let headersInEachColumn = 0;
22
- tableHeaders.forEach((column) => {
23
- if (column.visible) {
24
- headersInEachColumn = 0;
25
- column.headerInfo.forEach(() => {
26
- headersInEachColumn += 1;
27
- });
28
- numberOfSkeletonColumns.push(Array(headersInEachColumn).fill(0));
29
- }
30
- });
31
- return numberOfSkeletonColumns;
32
- }
33
- initColumnFilterAndSorting() {
34
- this.annaFilterService.tooltipSelectedMap = new Map();
35
- this.annaFilterService.selectedRadio = null;
36
- this.annaFilterService.appliedFiltersArray = [];
37
- this.annaFilterService.initialValueMap = new Map();
38
- this.annaSortService.columnSortState = new Map();
39
- this.annaSortService.noSortingAppliedData = [];
40
- }
41
- enableOrDisableClearAllBtn() {
42
- const isFilterApplied = this.annaFilterService.appliedFiltersArray.length > 0;
43
- const isSortApplied = this.isSortingAppliedToTable();
44
- return !(isFilterApplied || isSortApplied);
45
- }
46
- updateFiltersInURL() {
47
- const latestQueryParams = this.prepareQueryParamsOnFilter();
48
- if (Object.keys(latestQueryParams).length > 0) {
49
- this.router.navigate([], {
50
- queryParams: { filters: JSON.stringify(latestQueryParams) },
51
- relativeTo: this.route.parent,
52
- queryParamsHandling: "merge",
53
- });
54
- }
55
- else {
56
- this.router.navigate([], {
57
- relativeTo: this.route.parent,
58
- });
59
- }
60
- }
61
- prepareQueryParamsOnFilter() {
62
- const query = {};
63
- if (this.annaFilterService.appliedFiltersArray.length > 0) {
64
- query.appliedFilters = this.annaFilterService.appliedFiltersArray;
65
- query.selectedFilterData = JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap));
66
- }
67
- if (this.checkIfSortingIsApplied()) {
68
- query.sortState = JSON.stringify(Array.from(this.annaSortService.columnSortState));
69
- }
70
- return query;
71
- }
72
- checkIfSortingIsApplied() {
73
- let isSortingApplied = false;
74
- this.annaSortService.columnSortState.forEach((value, key) => {
75
- if (value === "ASC" || value === "DESC") {
76
- isSortingApplied = true;
77
- }
78
- });
79
- return isSortingApplied;
80
- }
81
- initTableFilters(clonedTableData) {
82
- this.annaFilterService.tooltipSelectedMap = new Map();
83
- this.annaFilterService.selectedRadio = null;
84
- this.annaFilterService.appliedFiltersArray = [];
85
- this.annaSortService.columnSortState = new Map();
86
- this.annaSortService.noSortingAppliedData = cloneDeep(clonedTableData);
87
- this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
88
- }
89
- initFilters() {
90
- this.annaFilterService.tooltipSelectedMap = new Map();
91
- this.annaFilterService.appliedFiltersArray = [];
92
- }
93
- setDataAsPerPersistingFilter(isPersistingFilter, clonedTable, filters) {
94
- let usersTable;
95
- if (isPersistingFilter) {
96
- usersTable = this.annaFilterService.filterData(clonedTable, "");
97
- this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
98
- }
99
- else {
100
- usersTable = clonedTable;
101
- this.annaSortService.noSortingAppliedData = cloneDeep(usersTable);
102
- }
103
- if (filters?.sortState) {
104
- this.annaSortService.columnSortState = new Map(JSON.parse(filters.sortState));
105
- usersTable = this.callSort(usersTable);
106
- }
107
- this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);
108
- return usersTable;
109
- }
110
- callSort(usersTable) {
111
- let sortedUsersTableData = usersTable;
112
- this.annaSortService.columnSortState.forEach((value, key) => {
113
- if (value === "ASC") {
114
- sortedUsersTableData = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(true, usersTable, key);
115
- }
116
- else if (value === "DESC") {
117
- sortedUsersTableData = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(false, usersTable, key);
118
- }
119
- });
120
- return sortedUsersTableData;
121
- }
122
- isSortingAppliedToTable() {
123
- let isSortingApplied = false;
124
- this.annaSortService.columnSortState.forEach((value, key) => {
125
- if (value === "ASC" || value === "DESC") {
126
- isSortingApplied = true;
127
- }
128
- });
129
- return isSortingApplied;
130
- }
131
- updateQueryParamsFilter(key, value, operation, queryParamObj) {
132
- if (operation === "ADD") {
133
- queryParamObj[key] = value;
134
- }
135
- else if (operation === "DELETE") {
136
- delete queryParamObj[key];
137
- }
138
- return queryParamObj;
139
- }
140
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaGtHelperService, deps: [{ token: i1.AnnaFilterService }, { token: i2.Router }, { token: i2.ActivatedRoute }, { token: i3.AnnaSortService }], target: i0.ɵɵFactoryTarget.Injectable }); }
141
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaGtHelperService, providedIn: "root" }); }
142
- }
143
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaGtHelperService, decorators: [{
144
- type: Injectable,
145
- args: [{
146
- providedIn: "root",
147
- }]
148
- }], ctorParameters: () => [{ type: i1.AnnaFilterService }, { type: i2.Router }, { type: i2.ActivatedRoute }, { type: i3.AnnaSortService }] });
149
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRhYmxlLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdlbmVyaWMtdGFibGUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzFELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFLdEQsTUFBTSxPQUFPLG1CQUFtQjtJQUU1QixZQUNZLGlCQUFvQyxFQUNwQyxNQUFjLEVBQ2QsS0FBcUIsRUFDckIsZUFBZ0M7UUFIaEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUFtQjtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsVUFBSyxHQUFMLEtBQUssQ0FBZ0I7UUFDckIsb0JBQWUsR0FBZixlQUFlLENBQWlCO1FBTDVDLHlCQUFvQixHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7SUFNbEMsQ0FBQztJQUVKLHdDQUF3QyxDQUFDLFlBQW1CO1FBQ3hELE1BQU0sdUJBQXVCLEdBQVksRUFBRSxDQUFDO1FBQzVDLElBQUksbUJBQW1CLEdBQUcsQ0FBQyxDQUFDO1FBQzVCLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUM1QixJQUFJLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztnQkFDakIsbUJBQW1CLEdB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QUFDLENBQUM7UUFFSCxPQUFPLG9CQUFvQixDQUFDO0lBQ2hDLENBQUM7SUFFRCx1QkFBdUI7UUFDbkIsSUFBSSxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFN0IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsT0FBTyxDQUFDLENBQUMsS0FBSyxFQUFFLEdBQUcsRUFBRSxFQUFFO1lBQ3hELElBQUksS0FBSyxLQUFLLEtBQUssSUFBSSxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQ3RDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM1QixDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLGdCQUFnQixDQUFDO0lBQzVCLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxHQUFXLEVBQUUsS0FBVSxFQUFFLFNBQTJCLEVBQUUsYUFBa0I7UUFDNUYsSUFBSSxTQUFTLEtBQUssS0FBSyxFQUFFLENBQUM7WUFDdEIsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQztRQUMvQixDQUFDO2FBQU0sSUFBSSxTQUFTLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDaEMsT0FBTyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQztRQUNELE9BQU8sYUFBYSxDQUFDO0lBQ3pCLENBQUM7K0dBOUpRLG1CQUFtQjttSEFBbkIsbUJBQW1CLGNBRmhCLE1BQU07OzRGQUVULG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgY2xvbmVEZWVwIH0gZnJvbSBcImxvZGFzaC1lc1wiO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSBcInJ4anNcIjtcclxuXHJcbmltcG9ydCB7IEFubmFGaWx0ZXJTZXJ2aWNlIH0gZnJvbSBcIi4vYW5uYS1maWx0ZXIuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBBbm5hU29ydFNlcnZpY2UgfSBmcm9tIFwiLi9hbm5hLXNvcnQuc2VydmljZVwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hR3RIZWxwZXJTZXJ2aWNlIHtcclxuICAgIHZpcnR1YWxTY3JvbGxTdWJqZWN0ID0gbmV3IFN1YmplY3QoKTtcclxuICAgIGNvbnN0cnVjdG9yKFxyXG4gICAgICAgIHByaXZhdGUgYW5uYUZpbHRlclNlcnZpY2U6IEFubmFGaWx0ZXJTZXJ2aWNlLFxyXG4gICAgICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgcHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsXHJcbiAgICAgICAgcHJpdmF0ZSBhbm5hU29ydFNlcnZpY2U6IEFubmFTb3J0U2VydmljZSxcclxuICAgICkge31cclxuXHJcbiAgICBjYWxjdWxhdGVOdW1iZXJPZlNrZWxldG9uQ29sdW1uc0ZvclRhYmxlKHRhYmxlSGVhZGVyczogYW55W10pOiBudW1iZXJbXVtdIHtcclxuICAgICAgICBjb25zdCBudW1iZXJPZlNrZWxldG9uQ29sdW1uczogYW55W11bXSA9IFtdO1xyXG4gICAgICAgIGxldCBoZWFkZXJzSW5FYWNoQ29sdW1uID0gMDtcclxuICAgICAgICB0YWJsZUhlYWRlcnMuZm9yRWFjaCgoY29sdW1uKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChjb2x1bW4udmlzaWJsZSkge1xyXG4gICAgICAgICAgICAgICAgaGVhZGVyc0luRWFjaENvbHVtbiA9IDA7XHJcbiAgICAgICAgICAgICAgICBjb2x1bW4uaGVhZGVySW5mby5mb3JFYWNoKCgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBoZWFkZXJzSW5FYWNoQ29sdW1uICs9IDE7XHJcbiAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgIG51bWJlck9mU2tlbGV0b25Db2x1bW5zLnB1c2goQXJyYXkoaGVhZGVyc0luRWFjaENvbHVtbikuZmlsbCgwKSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICByZXR1cm4gbnVtYmVyT2ZTa2VsZXRvbkNvbHVtbnM7XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdENvbHVtbkZpbHRlckFuZFNvcnRpbmcoKSB7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gbnVsbDtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmluaXRpYWxWYWx1ZU1hcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2Uubm9Tb3J0aW5nQXBwbGllZERhdGEgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBlbmFibGVPckRpc2FibGVDbGVhckFsbEJ0bigpOiBib29sZWFuIHtcclxuICAgICAgICBjb25zdCBpc0ZpbHRlckFwcGxpZWQgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkubGVuZ3RoID4gMDtcclxuICAgICAgICBjb25zdCBpc1NvcnRBcHBsaWVkID0gdGhpcy5pc1NvcnRpbmdBcHBsaWVkVG9UYWJsZSgpO1xyXG5cclxuICAgICAgICByZXR1cm4gIShpc0ZpbHRlckFwcGxpZWQgfHwgaXNTb3J0QXBwbGllZCk7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlRmlsdGVyc0luVVJMKCkge1xyXG4gICAgICAgIGNvbnN0IGxhdGVzdFF1ZXJ5UGFyYW1zID0gdGhpcy5wcmVwYXJlUXVlcnlQYXJhbXNPbkZpbHRlcigpO1xyXG5cclxuICAgICAgICBpZiAoT2JqZWN0LmtleXMobGF0ZXN0UXVlcnlQYXJhbXMpLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW10sIHtcclxuICAgICAgICAgICAgICAgIHF1ZXJ5UGFyYW1zOiB7IGZpbHRlcnM6IEpTT04uc3RyaW5naWZ5KGxhdGVzdFF1ZXJ5UGFyYW1zKSB9LFxyXG4gICAgICAgICAgICAgICAgcmVsYXRpdmVUbzogdGhpcy5yb3V0ZS5wYXJlbnQsXHJcbiAgICAgICAgICAgICAgICBxdWVyeVBhcmFtc0hhbmRsaW5nOiBcIm1lcmdlXCIsXHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtdLCB7XHJcbiAgICAgICAgICAgICAgICByZWxhdGl2ZVRvOiB0aGlzLnJvdXRlLnBhcmVudCxcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByZXBhcmVRdWVyeVBhcmFtc09uRmlsdGVyKCkge1xyXG4gICAgICAgIGNvbnN0IHF1ZXJ5OiBhbnkgPSB7fTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UuYXBwbGllZEZpbHRlcnNBcnJheS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5LmFwcGxpZWRGaWx0ZXJzID0gdGhpcy5hbm5hRmlsdGVyU2VydmljZS5hcHBsaWVkRmlsdGVyc0FycmF5O1xyXG4gICAgICAgICAgICBxdWVyeS5zZWxlY3RlZEZpbHRlckRhdGEgPSBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudG9vbHRpcFNlbGVjdGVkTWFwKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5jaGVja0lmU29ydGluZ0lzQXBwbGllZCgpKSB7XHJcbiAgICAgICAgICAgIHF1ZXJ5LnNvcnRTdGF0ZSA9IEpTT04uc3RyaW5naWZ5KEFycmF5LmZyb20odGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4gcXVlcnk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tJZlNvcnRpbmdJc0FwcGxpZWQoKSB7XHJcbiAgICAgICAgbGV0IGlzU29ydGluZ0FwcGxpZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwiQVNDXCIgfHwgdmFsdWUgPT09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBpc1NvcnRpbmdBcHBsaWVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gaXNTb3J0aW5nQXBwbGllZDtcclxuICAgIH1cclxuXHJcbiAgICBpbml0VGFibGVGaWx0ZXJzKGNsb25lZFRhYmxlRGF0YTogYW55KSB7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS50b29sdGlwU2VsZWN0ZWRNYXAgPSBuZXcgTWFwKCk7XHJcbiAgICAgICAgdGhpcy5hbm5hRmlsdGVyU2VydmljZS5zZWxlY3RlZFJhZGlvID0gbnVsbDtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcclxuXHJcbiAgICAgICAgdGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlID0gbmV3IE1hcCgpO1xyXG5cclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcChjbG9uZWRUYWJsZURhdGEpO1xyXG4gICAgICAgIHRoaXMuYW5uYUZpbHRlclNlcnZpY2UudXBkYXRlU3RhdGVPZkFsbFRoZUtleXModGhpcy5hbm5hU29ydFNlcnZpY2UuY29sdW1uU29ydFN0YXRlKTtcclxuICAgIH1cclxuXHJcbiAgICBpbml0RmlsdGVycygpIHtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnRvb2x0aXBTZWxlY3RlZE1hcCA9IG5ldyBNYXAoKTtcclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmFwcGxpZWRGaWx0ZXJzQXJyYXkgPSBbXTtcclxuICAgIH1cclxuXHJcbiAgICBzZXREYXRhQXNQZXJQZXJzaXN0aW5nRmlsdGVyKGlzUGVyc2lzdGluZ0ZpbHRlcjogYm9vbGVhbiwgY2xvbmVkVGFibGU6IGFueSwgZmlsdGVyczogYW55KTogYW55IHtcclxuICAgICAgICBsZXQgdXNlcnNUYWJsZTtcclxuICAgICAgICBpZiAoaXNQZXJzaXN0aW5nRmlsdGVyKSB7XHJcbiAgICAgICAgICAgIHVzZXJzVGFibGUgPSB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLmZpbHRlckRhdGEoY2xvbmVkVGFibGUsIFwiXCIpO1xyXG4gICAgICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5ub1NvcnRpbmdBcHBsaWVkRGF0YSA9IGNsb25lRGVlcCh1c2Vyc1RhYmxlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB1c2Vyc1RhYmxlID0gY2xvbmVkVGFibGU7XHJcbiAgICAgICAgICAgIHRoaXMuYW5uYVNvcnRTZXJ2aWNlLm5vU29ydGluZ0FwcGxpZWREYXRhID0gY2xvbmVEZWVwKHVzZXJzVGFibGUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKGZpbHRlcnM/LnNvcnRTdGF0ZSkge1xyXG4gICAgICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUgPSBuZXcgTWFwKEpTT04ucGFyc2UoZmlsdGVycy5zb3J0U3RhdGUpKTtcclxuICAgICAgICAgICAgdXNlcnNUYWJsZSA9IHRoaXMuY2FsbFNvcnQodXNlcnNUYWJsZSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmFubmFGaWx0ZXJTZXJ2aWNlLnVwZGF0ZVN0YXRlT2ZBbGxUaGVLZXlzKHRoaXMuYW5uYVNvcnRTZXJ2aWNlLmNvbHVtblNvcnRTdGF0ZSk7XHJcblxyXG4gICAgICAgIHJldHVybiB1c2Vyc1RhYmxlO1xyXG4gICAgfVxyXG5cclxuICAgIGNhbGxTb3J0KHVzZXJzVGFibGU6IGFueSk6IGFueSB7XHJcbiAgICAgICAgbGV0IHNvcnRlZFVzZXJzVGFibGVEYXRhID0gdXNlcnNUYWJsZTtcclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwiQVNDXCIpIHtcclxuICAgICAgICAgICAgICAgIHNvcnRlZFVzZXJzVGFibGVEYXRhID0gdGhpcy5hbm5hU29ydFNlcnZpY2Uuc29ydERhdGFGb3JDb21wb25lbnRPdGhlclRoYW5MdXJBbmRDc3JQYWdlKFxyXG4gICAgICAgICAgICAgICAgICAgIHRydWUsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlcnNUYWJsZSxcclxuICAgICAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09PSBcIkRFU0NcIikge1xyXG4gICAgICAgICAgICAgICAgc29ydGVkVXNlcnNUYWJsZURhdGEgPSB0aGlzLmFubmFTb3J0U2VydmljZS5zb3J0RGF0YUZvckNvbXBvbmVudE90aGVyVGhhbkx1ckFuZENzclBhZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgZmFsc2UsXHJcbiAgICAgICAgICAgICAgICAgICAgdXNlcnNUYWJsZSxcclxuICAgICAgICAgICAgICAgICAgICBrZXksXHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcblxyXG4gICAgICAgIHJldHVybiBzb3J0ZWRVc2Vyc1RhYmxlRGF0YTtcclxuICAgIH1cclxuXHJcbiAgICBpc1NvcnRpbmdBcHBsaWVkVG9UYWJsZSgpIHtcclxuICAgICAgICBsZXQgaXNTb3J0aW5nQXBwbGllZCA9IGZhbHNlO1xyXG5cclxuICAgICAgICB0aGlzLmFubmFTb3J0U2VydmljZS5jb2x1bW5Tb3J0U3RhdGUuZm9yRWFjaCgodmFsdWUsIGtleSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT09IFwiQVNDXCIgfHwgdmFsdWUgPT09IFwiREVTQ1wiKSB7XHJcbiAgICAgICAgICAgICAgICBpc1NvcnRpbmdBcHBsaWVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG5cclxuICAgICAgICByZXR1cm4gaXNTb3J0aW5nQXBwbGllZDtcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVRdWVyeVBhcmFtc0ZpbHRlcihrZXk6IHN0cmluZywgdmFsdWU6IGFueSwgb3BlcmF0aW9uOiBcIkFERFwiIHwgXCJERUxFVEVcIiwgcXVlcnlQYXJhbU9iajogYW55KSB7XHJcbiAgICAgICAgaWYgKG9wZXJhdGlvbiA9PT0gXCJBRERcIikge1xyXG4gICAgICAgICAgICBxdWVyeVBhcmFtT2JqW2tleV0gPSB2YWx1ZTtcclxuICAgICAgICB9IGVsc2UgaWYgKG9wZXJhdGlvbiA9PT0gXCJERUxFVEVcIikge1xyXG4gICAgICAgICAgICBkZWxldGUgcXVlcnlQYXJhbU9ialtrZXldO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcXVlcnlQYXJhbU9iajtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,60 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class GenericTooltipHtmlService {
4
- static generateTableHTML(headers, rowData, tableHeading = "") {
5
- const rowsToSkip = {}; // Track rows to skip by index for rowspan
6
- // Start table HTML
7
- let tableHTML = "";
8
- tableHTML =
9
- tableHeading === "" ? tableHTML : `<label class="generic-innerHtml-table-heading">${tableHeading}</label>`;
10
- tableHTML += '<section class="generic-innerHtml-table-container"><table class="tooltip-table">';
11
- // Generate header row
12
- tableHTML += "<thead><tr>";
13
- headers.forEach((header) => {
14
- const colspan = header.colspan ? ` colspan="${header.colspan}"` : "";
15
- const rowspan = header.rowspan ? ` rowspan="${header.rowspan}"` : "";
16
- const width = header.width ? ` width="${header.width}"` : "";
17
- tableHTML += `<th${colspan}${rowspan}${width}>${header.name}</th>`;
18
- });
19
- tableHTML += "</tr></thead>";
20
- // Generate rows
21
- tableHTML += "<tbody>";
22
- rowData.forEach((row, rowIndex) => {
23
- tableHTML += "<tr>";
24
- headers.forEach((header, headerIndex) => {
25
- // Check if the current column is part of a rowspan from previous row
26
- if (rowsToSkip[rowIndex] && rowsToSkip[rowIndex].includes(headerIndex)) {
27
- // colIndex++;
28
- return; // Skip this column due to rowspan from a previous row
29
- }
30
- const cellData = row[header.key] || "";
31
- const colspan = row[`${header.key}_colspan`] ? ` colspan="${row[`${header.key}_colspan`]}"` : "";
32
- const rowspan = row[`${header.key}_rowspan`] ? ` rowspan="${row[`${header.key}_rowspan`]}"` : "";
33
- // If rowspan is defined, mark future rows to skip this cell
34
- if (row[`${header.key}_rowspan`]) {
35
- const rowsToSpan = row[`${header.key}_rowspan`];
36
- for (let i = 1; i < rowsToSpan; i++) {
37
- if (!rowsToSkip[rowIndex + i])
38
- rowsToSkip[rowIndex + i] = [];
39
- rowsToSkip[rowIndex + i].push(headerIndex); // Mark column to be skipped
40
- }
41
- }
42
- tableHTML += `<td${colspan}${rowspan}>${cellData}</td>`;
43
- });
44
- tableHTML += "</tr>";
45
- });
46
- tableHTML += "</tbody>";
47
- // Close table
48
- tableHTML += "</table></section>";
49
- return tableHTML;
50
- }
51
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenericTooltipHtmlService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
52
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenericTooltipHtmlService, providedIn: "root" }); }
53
- }
54
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: GenericTooltipHtmlService, decorators: [{
55
- type: Injectable,
56
- args: [{
57
- providedIn: "root",
58
- }]
59
- }] });
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nZW5lcmljLXRvb2x0aXAtaHRtbC5zZXJ2aWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FubmEtY29yZS9zcmMvbGliL2FubmEtY29yZS1zaGFyZWQtbGliL3NlcnZpY2VzL2FubmEtZ2VuZXJpYy10b29sdGlwLWh0bWwuc2VydmljZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFPM0MsTUFBTSxPQUFPLHlCQUF5QjtJQUVsQyxNQUFNLENBQUMsaUJBQWlCLENBQ3BCLE9BQThCLEVBQzlCLE9BQStCLEVBQy9CLGVBQXVCLEVBQUU7UUFFekIsTUFBTSxVQUFVLEdBQWdDLEVBQUUsQ0FBQyxDQUFDLDBDQUEwQztRQUU5RixtQkFBbUI7UUFDbkIsSUFBSSxTQUFTLEdBQUcsRUFBRSxDQUFDO1FBRW5CLFNBQVM7WUFDTCxZQUFZLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLGtEQUFrRCxZQUFZLFVBQVUsQ0FBQztRQUUvRyxTQUFTLElBQUksa0ZBQWtGLENBQUM7UUFFaEcsc0JBQXNCO1FBQ3RCLFNBQVMsSUFBSSxhQUFhLENBQUM7UUFDM0IsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1lBQ3ZCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLGFBQWEsTUFBTSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDckUsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsYUFBYSxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztZQUNyRSxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxXQUFXLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQzdELFNBQVMsSUFBSSxNQUFNLE9BQU8sR0FBRyxPQUFPLEdBQUcsS0FBSyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE9BQU8sQ0FBQztRQUN2RSxDQUFDLENBQUMsQ0FBQztRQUNILFNBQVMsSUFBSSxlQUFlLENBQUM7UUFFN0IsZ0JBQWdCO1FBQ2hCLFNBQVMsSUFBSSxTQUFTLENBQUM7UUFDdkIsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEdBQUcsRUFBRSxRQUFRLEVBQUUsRUFBRTtZQUM5QixTQUFTLElBQUksTUFBTSxDQUFDO1lBRXBCLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQyxNQUFNLEVBQUUsV0FBVyxFQUFFLEVBQUU7Z0JBQ3BDLHFFQUFxRTtnQkFDckUsSUFBSSxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO29CQUNyRSxjQUFjO29CQUNkLE9BQU8sQ0FBQyxzREFBc0Q7Z0JBQ2xFLENBQUM7Z0JBRUQsTUFBTSxRQUFRLEdBQUcsR0FBRyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3ZDLE1BQU0sT0FBTyxHQUFHLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQUcsQ0FBQyxHQUFHLE1BQU0sQ0FBQyxHQUFHLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztnQkFDakcsTUFBTSxPQUFPLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO2dCQUVqRyw0REFBNEQ7Z0JBQzVELElBQUksR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFDLEVBQUUsQ0FBQztvQkFDL0IsTUFBTSxVQUFVLEdBQUcsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsVUFBVSxDQUFXLENBQUM7b0JBQzFELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQzt3QkFDbEMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDOzRCQUFFLFVBQVUsQ0FBQyxRQUFRLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDO3dCQUM3RCxVQUFVLENBQUMsUUFBUSxHQUFHLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLDRCQUE0QjtvQkFDNUUsQ0FBQztnQkFDTCxDQUFDO2dCQUVELFNBQVMsSUFBSSxNQUFNLE9BQU8sR0FBRyxPQUFPLElBQUksUUFBUSxPQUFPLENBQUM7WUFDNUQsQ0FBQyxDQUFDLENBQUM7WUFFSCxTQUFTLElBQUksT0FBTyxDQUFDO1FBQ3pCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsU0FBUyxJQUFJLFVBQVUsQ0FBQztRQUV4QixjQUFjO1FBQ2QsU0FBUyxJQUFJLG9CQUFvQixDQUFDO1FBRWxDLE9BQU8sU0FBUyxDQUFDO0lBQ3JCLENBQUM7K0dBL0RRLHlCQUF5QjttSEFBekIseUJBQXlCLGNBRnRCLE1BQU07OzRGQUVULHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbmltcG9ydCB7IElUb29sdGlwVGFibGVIZWFkZXIsIElUb29sdGlwVGFibGVSb3dEYXRhIH0gZnJvbSBcIi4uL21vZGVscy9hbm5hLW5vbi1lZGl0YWJsZS1ndC1tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgR2VuZXJpY1Rvb2x0aXBIdG1sU2VydmljZSB7XHJcbiAgICBcclxuICAgIHN0YXRpYyBnZW5lcmF0ZVRhYmxlSFRNTChcclxuICAgICAgICBoZWFkZXJzOiBJVG9vbHRpcFRhYmxlSGVhZGVyW10sXHJcbiAgICAgICAgcm93RGF0YTogSVRvb2x0aXBUYWJsZVJvd0RhdGFbXSxcclxuICAgICAgICB0YWJsZUhlYWRpbmc6IHN0cmluZyA9IFwiXCIsXHJcbiAgICApOiBzdHJpbmcge1xyXG4gICAgICAgIGNvbnN0IHJvd3NUb1NraXA6IHsgW2tleTogbnVtYmVyXTogbnVtYmVyW10gfSA9IHt9OyAvLyBUcmFjayByb3dzIHRvIHNraXAgYnkgaW5kZXggZm9yIHJvd3NwYW5cclxuXHJcbiAgICAgICAgLy8gU3RhcnQgdGFibGUgSFRNTFxyXG4gICAgICAgIGxldCB0YWJsZUhUTUwgPSBcIlwiO1xyXG5cclxuICAgICAgICB0YWJsZUhUTUwgPVxyXG4gICAgICAgICAgICB0YWJsZUhlYWRpbmcgPT09IFwiXCIgPyB0YWJsZUhUTUwgOiBgPGxhYmVsIGNsYXNzPVwiZ2VuZXJpYy1pbm5lckh0bWwtdGFibGUtaGVhZGluZ1wiPiR7dGFibGVIZWFkaW5nfTwvbGFiZWw+YDtcclxuXHJcbiAgICAgICAgdGFibGVIVE1MICs9ICc8c2VjdGlvbiBjbGFzcz1cImdlbmVyaWMtaW5uZXJIdG1sLXRhYmxlLWNvbnRhaW5lclwiPjx0YWJsZSBjbGFzcz1cInRvb2x0aXAtdGFibGVcIj4nO1xyXG5cclxuICAgICAgICAvLyBHZW5lcmF0ZSBoZWFkZXIgcm93XHJcbiAgICAgICAgdGFibGVIVE1MICs9IFwiPHRoZWFkPjx0cj5cIjtcclxuICAgICAgICBoZWFkZXJzLmZvckVhY2goKGhlYWRlcikgPT4ge1xyXG4gICAgICAgICAgICBjb25zdCBjb2xzcGFuID0gaGVhZGVyLmNvbHNwYW4gPyBgIGNvbHNwYW49XCIke2hlYWRlci5jb2xzcGFufVwiYCA6IFwiXCI7XHJcbiAgICAgICAgICAgIGNvbnN0IHJvd3NwYW4gPSBoZWFkZXIucm93c3BhbiA/IGAgcm93c3Bhbj1cIiR7aGVhZGVyLnJvd3NwYW59XCJgIDogXCJcIjtcclxuICAgICAgICAgICAgY29uc3Qgd2lkdGggPSBoZWFkZXIud2lkdGggPyBgIHdpZHRoPVwiJHtoZWFkZXIud2lkdGh9XCJgIDogXCJcIjtcclxuICAgICAgICAgICAgdGFibGVIVE1MICs9IGA8dGgke2NvbHNwYW59JHtyb3dzcGFufSR7d2lkdGh9PiR7aGVhZGVyLm5hbWV9PC90aD5gO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjwvdHI+PC90aGVhZD5cIjtcclxuXHJcbiAgICAgICAgLy8gR2VuZXJhdGUgcm93c1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjx0Ym9keT5cIjtcclxuICAgICAgICByb3dEYXRhLmZvckVhY2goKHJvdywgcm93SW5kZXgpID0+IHtcclxuICAgICAgICAgICAgdGFibGVIVE1MICs9IFwiPHRyPlwiO1xyXG5cclxuICAgICAgICAgICAgaGVhZGVycy5mb3JFYWNoKChoZWFkZXIsIGhlYWRlckluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgY3VycmVudCBjb2x1bW4gaXMgcGFydCBvZiBhIHJvd3NwYW4gZnJvbSBwcmV2aW91cyByb3dcclxuICAgICAgICAgICAgICAgIGlmIChyb3dzVG9Ta2lwW3Jvd0luZGV4XSAmJiByb3dzVG9Ta2lwW3Jvd0luZGV4XS5pbmNsdWRlcyhoZWFkZXJJbmRleCkpIHtcclxuICAgICAgICAgICAgICAgICAgICAvLyBjb2xJbmRleCsrO1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybjsgLy8gU2tpcCB0aGlzIGNvbHVtbiBkdWUgdG8gcm93c3BhbiBmcm9tIGEgcHJldmlvdXMgcm93XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgY29uc3QgY2VsbERhdGEgPSByb3dbaGVhZGVyLmtleV0gfHwgXCJcIjtcclxuICAgICAgICAgICAgICAgIGNvbnN0IGNvbHNwYW4gPSByb3dbYCR7aGVhZGVyLmtleX1fY29sc3BhbmBdID8gYCBjb2xzcGFuPVwiJHtyb3dbYCR7aGVhZGVyLmtleX1fY29sc3BhbmBdfVwiYCA6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBjb25zdCByb3dzcGFuID0gcm93W2Ake2hlYWRlci5rZXl9X3Jvd3NwYW5gXSA/IGAgcm93c3Bhbj1cIiR7cm93W2Ake2hlYWRlci5rZXl9X3Jvd3NwYW5gXX1cImAgOiBcIlwiO1xyXG5cclxuICAgICAgICAgICAgICAgIC8vIElmIHJvd3NwYW4gaXMgZGVmaW5lZCwgbWFyayBmdXR1cmUgcm93cyB0byBza2lwIHRoaXMgY2VsbFxyXG4gICAgICAgICAgICAgICAgaWYgKHJvd1tgJHtoZWFkZXIua2V5fV9yb3dzcGFuYF0pIHtcclxuICAgICAgICAgICAgICAgICAgICBjb25zdCByb3dzVG9TcGFuID0gcm93W2Ake2hlYWRlci5rZXl9X3Jvd3NwYW5gXSBhcyBudW1iZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9yIChsZXQgaSA9IDE7IGkgPCByb3dzVG9TcGFuOyBpKyspIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFyb3dzVG9Ta2lwW3Jvd0luZGV4ICsgaV0pIHJvd3NUb1NraXBbcm93SW5kZXggKyBpXSA9IFtdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByb3dzVG9Ta2lwW3Jvd0luZGV4ICsgaV0ucHVzaChoZWFkZXJJbmRleCk7IC8vIE1hcmsgY29sdW1uIHRvIGJlIHNraXBwZWRcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgdGFibGVIVE1MICs9IGA8dGQke2NvbHNwYW59JHtyb3dzcGFufT4ke2NlbGxEYXRhfTwvdGQ+YDtcclxuICAgICAgICAgICAgfSk7XHJcblxyXG4gICAgICAgICAgICB0YWJsZUhUTUwgKz0gXCI8L3RyPlwiO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICAgIHRhYmxlSFRNTCArPSBcIjwvdGJvZHk+XCI7XHJcblxyXG4gICAgICAgIC8vIENsb3NlIHRhYmxlXHJcbiAgICAgICAgdGFibGVIVE1MICs9IFwiPC90YWJsZT48L3NlY3Rpb24+XCI7XHJcblxyXG4gICAgICAgIHJldHVybiB0YWJsZUhUTUw7XHJcbiAgICB9XHJcbn0iXX0=
@@ -1,94 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class AnnaGlobalConfigService {
4
- /*
5
- Initializing all default settings
6
- */
7
- constructor() {
8
- this.defaultNgbDatePickerSettings = {
9
- autoClose: false,
10
- placeholder: "mm-dd-yyyy",
11
- displayMonths: 1,
12
- firstDayOfWeek: 1,
13
- showWeekNumbers: false,
14
- readonly: true,
15
- };
16
- this.defaultNgSelectSettings = {
17
- allowClear: false,
18
- placeholder: "Select",
19
- };
20
- this.defaultNgxSkeletonLoaderSettings = {
21
- numberOfSkeletonRows: Array(6).fill(0),
22
- };
23
- this.defaultConfirmationPopupConfig = {
24
- showCancelButton: true,
25
- title: "Are you sure you want to save the changes?",
26
- showConfirmButton: true,
27
- cancelButtonLabel: "No",
28
- confirmButtonLabel: "Yes",
29
- showCloseIcon: true,
30
- backdrop: "static",
31
- windowClass: "",
32
- size: "sm",
33
- keyboard: false,
34
- };
35
- this.defaultUnsavedChangesConfirmationPopupConfig = {
36
- showCancelButton: true,
37
- title: "You have unsaved changes. All the changes will be lost if you switch. Do you want to continue?",
38
- showConfirmButton: true,
39
- cancelButtonLabel: "No",
40
- confirmButtonLabel: "Yes",
41
- showCloseIcon: false,
42
- backdrop: "static",
43
- windowClass: "",
44
- size: "sm",
45
- keyboard: false,
46
- };
47
- this.defaultWeekCalendarConfig = {
48
- firstDayOfWeek: 1,
49
- showWeekNumbers: true,
50
- dateFormatToDisplay: "d MMM y",
51
- dateFormatForRequest: "y-MM-dd",
52
- maxWeeksToShowWithRemainingCount: 2,
53
- numberOfMonthsToEnableInPast: 1,
54
- selectMultipleWeeks: false,
55
- customClass: "",
56
- emitMultipleWeekObjects: true,
57
- maxWeeksToSelect: 0,
58
- showAsDropdown: true,
59
- selectCurrentWeek: true,
60
- };
61
- this.defaultGtGeneralConfig = {
62
- component: "",
63
- totalRow: false,
64
- isHeaderChecked: false,
65
- disableHeaderCheckbox: false,
66
- verticalScrollOffsetForFilterTooltip: 0,
67
- isGrouped: false,
68
- showAllColumnFilter: true,
69
- bufferSize: 20,
70
- page: "",
71
- };
72
- this.defaultSingleSelectConfig = {
73
- showSearchBar: false,
74
- placeholder: "Select",
75
- classes: "",
76
- position: "BOTTOM",
77
- minHeightOfList: 30,
78
- maxHeightOfList: 180,
79
- };
80
- this.defaultMultiSelectConfig = {
81
- ...this.defaultSingleSelectConfig,
82
- ...{ showErrorWhenNoOptionSelected: true },
83
- };
84
- }
85
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaGlobalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
86
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaGlobalConfigService, providedIn: "root" }); }
87
- }
88
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaGlobalConfigService, decorators: [{
89
- type: Injectable,
90
- args: [{
91
- providedIn: "root",
92
- }]
93
- }], ctorParameters: () => [] });
94
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1nbG9iYWwtY29uZmlnLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLWdsb2JhbC1jb25maWcuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQWdCM0MsTUFBTSxPQUFPLHVCQUF1QjtJQVdoQzs7TUFFRTtJQUNGO1FBQ0ksSUFBSSxDQUFDLDRCQUE0QixHQUFHO1lBQ2hDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLFdBQVcsRUFBRSxZQUFZO1lBQ3pCLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLGNBQWMsRUFBRSxDQUFDO1lBQ2pCLGVBQWUsRUFBRSxLQUFLO1lBQ3RCLFFBQVEsRUFBRSxJQUFJO1NBQ2pCLENBQUM7UUFFRixJQUFJLENBQUMsdUJBQXVCLEdBQUc7WUFDM0IsVUFBVSxFQUFFLEtBQUs7WUFDakIsV0FBVyxFQUFFLFFBQVE7U0FDeEIsQ0FBQztRQUVGLElBQUksQ0FBQyxnQ0FBZ0MsR0FBRztZQUNwQyxvQkFBb0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztTQUN6QyxDQUFDO1FBRUYsSUFBSSxDQUFDLDhCQUE4QixHQUFHO1lBQ2xDLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsS0FBSyxFQUFFLDRDQUE0QztZQUNuRCxpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGlCQUFpQixFQUFFLElBQUk7WUFDdkIsa0JBQWtCLEVBQUUsS0FBSztZQUN6QixhQUFhLEVBQUUsSUFBSTtZQUNuQixRQUFRLEVBQUUsUUFBUTtZQUNsQixXQUFXLEVBQUUsRUFBRTtZQUNmLElBQUksRUFBRSxJQUFJO1lBQ1YsUUFBUSxFQUFFLEtBQUs7U0FDbEIsQ0FBQztRQUVGLElBQUksQ0FBQyw0Q0FBNEMsR0FBRztZQUNoRCxnQkFBZ0IsRUFBRSxJQUFJO1lBQ3RCLEtBQUssRUFBRSxnR0FBZ0c7WUFDdkcsaUJBQWlCLEVBQUUsSUFBSTtZQUN2QixpQkFBaUIsRUFBRSxJQUFJO1lBQ3ZCLGtCQUFrQixFQUFFLEtBQUs7WUFDekIsYUFBYSxFQUFFLEtBQUs7WUFDcEIsUUFBUSxFQUFFLFFBQVE7WUFDbEIsV0FBVyxFQUFFLEVBQUU7WUFDZixJQUFJLEVBQUUsSUFBSTtZQUNWLFFBQVEsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLEdBQUc7WUFDN0IsY0FBYyxFQUFFLENBQUM7WUFDakIsZUFBZSxFQUFFLElBQUk7WUFDckIsbUJBQW1CLEVBQUUsU0FBUztZQUM5QixvQkFBb0IsRUFBRSxTQUFTO1lBQy9CLGdDQUFnQyxFQUFFLENBQUM7WUFDbkMsNEJBQTRCLEVBQUUsQ0FBQztZQUMvQixtQkFBbUIsRUFBRSxLQUFLO1lBQzFCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsdUJBQXVCLEVBQUUsSUFBSTtZQUM3QixnQkFBZ0IsRUFBRSxDQUFDO1lBQ25CLGNBQWMsRUFBRSxJQUFJO1lBQ3BCLGlCQUFpQixFQUFFLElBQUk7U0FDMUIsQ0FBQztRQUVGLElBQUksQ0FBQyxzQkFBc0IsR0FBRztZQUMxQixTQUFTLEVBQUUsRUFBRTtZQUNiLFFBQVEsRUFBRSxLQUFLO1lBQ2YsZUFBZSxFQUFFLEtBQUs7WUFDdEIscUJBQXFCLEVBQUUsS0FBSztZQUM1QixvQ0FBb0MsRUFBRSxDQUFDO1lBQ3ZDLFNBQVMsRUFBRSxLQUFLO1lBQ2hCLG1CQUFtQixFQUFFLElBQUk7WUFDekIsVUFBVSxFQUFFLEVBQUU7WUFDZCxJQUFJLEVBQUUsRUFBRTtTQUNYLENBQUM7UUFFRixJQUFJLENBQUMseUJBQXlCLEdBQUc7WUFDN0IsYUFBYSxFQUFFLEtBQUs7WUFDcEIsV0FBVyxFQUFFLFFBQVE7WUFDckIsT0FBTyxFQUFFLEVBQUU7WUFDWCxRQUFRLEVBQUUsUUFBUTtZQUNsQixlQUFlLEVBQUUsRUFBRTtZQUNuQixlQUFlLEVBQUUsR0FBRztTQUN2QixDQUFDO1FBRUYsSUFBSSxDQUFDLHdCQUF3QixHQUFHO1lBQzVCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QjtZQUNqQyxHQUFHLEVBQUUsNkJBQTZCLEVBQUUsSUFBSSxFQUFFO1NBQzdDLENBQUM7SUFDTixDQUFDOytHQW5HUSx1QkFBdUI7bUhBQXZCLHVCQUF1QixjQUZwQixNQUFNOzs0RkFFVCx1QkFBdUI7a0JBSG5DLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gICAgSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnLFxyXG4gICAgSUN1c3RvbU11bHRpU2VsZWN0LFxyXG4gICAgSUN1c3RvbVNpbmdsZVNlbGVjdCxcclxuICAgIElOZ2JEYXRlUGlja2VyU2V0dGluZ3MsXHJcbiAgICBJTmdTZWxlY3RTZXR0aW5ncyxcclxuICAgIElOZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzLFxyXG4gICAgSVdlZWtDYWxlbmRhcixcclxufSBmcm9tIFwiLi4vbW9kZWxzL2FubmEtZ2xvYmFsLWRyb3Bkb3duLWNvbmZpZy5tb2RlbFwiO1xyXG5pbXBvcnQgeyBJR3RHZW5lcmFsQ29uZmlnIH0gZnJvbSBcIi4uL21vZGVscy9hbm5hLW5vbi1lZGl0YWJsZS1ndC1tb2RlbHNcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYUdsb2JhbENvbmZpZ1NlcnZpY2Uge1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdE5nYkRhdGVQaWNrZXJTZXR0aW5nczogSU5nYkRhdGVQaWNrZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ1NlbGVjdFNldHRpbmdzOiBJTmdTZWxlY3RTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHROZ3hTa2VsZXRvbkxvYWRlclNldHRpbmdzOiBJTmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRDb25maXJtYXRpb25Qb3B1cENvbmZpZzogSUNvbmZpcm1hdGlvblBvcHVwQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uUG9wdXBDb25maWc6IElDb25maXJtYXRpb25Qb3B1cENvbmZpZztcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRXZWVrQ2FsZW5kYXJDb25maWc6IElXZWVrQ2FsZW5kYXI7XHJcbiAgICByZWFkb25seSBkZWZhdWx0R3RHZW5lcmFsQ29uZmlnOiBJR3RHZW5lcmFsQ29uZmlnO1xyXG4gICAgcmVhZG9ubHkgZGVmYXVsdFNpbmdsZVNlbGVjdENvbmZpZzogSUN1c3RvbVNpbmdsZVNlbGVjdDtcclxuICAgIHJlYWRvbmx5IGRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZzogSUN1c3RvbU11bHRpU2VsZWN0O1xyXG5cclxuICAgIC8qXHJcbiAgICAgSW5pdGlhbGl6aW5nIGFsbCBkZWZhdWx0IHNldHRpbmdzXHJcbiAgICAqL1xyXG4gICAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAgICAgdGhpcy5kZWZhdWx0TmdiRGF0ZVBpY2tlclNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhdXRvQ2xvc2U6IGZhbHNlLFxyXG4gICAgICAgICAgICBwbGFjZWhvbGRlcjogXCJtbS1kZC15eXl5XCIsXHJcbiAgICAgICAgICAgIGRpc3BsYXlNb250aHM6IDEsXHJcbiAgICAgICAgICAgIGZpcnN0RGF5T2ZXZWVrOiAxLFxyXG4gICAgICAgICAgICBzaG93V2Vla051bWJlcnM6IGZhbHNlLFxyXG4gICAgICAgICAgICByZWFkb25seTogdHJ1ZSxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHROZ1NlbGVjdFNldHRpbmdzID0ge1xyXG4gICAgICAgICAgICBhbGxvd0NsZWFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Tmd4U2tlbGV0b25Mb2FkZXJTZXR0aW5ncyA9IHtcclxuICAgICAgICAgICAgbnVtYmVyT2ZTa2VsZXRvblJvd3M6IEFycmF5KDYpLmZpbGwoMCksXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0Q29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBzYXZlIHRoZSBjaGFuZ2VzP1wiLFxyXG4gICAgICAgICAgICBzaG93Q29uZmlybUJ1dHRvbjogdHJ1ZSxcclxuICAgICAgICAgICAgY2FuY2VsQnV0dG9uTGFiZWw6IFwiTm9cIixcclxuICAgICAgICAgICAgY29uZmlybUJ1dHRvbkxhYmVsOiBcIlllc1wiLFxyXG4gICAgICAgICAgICBzaG93Q2xvc2VJY29uOiB0cnVlLFxyXG4gICAgICAgICAgICBiYWNrZHJvcDogXCJzdGF0aWNcIixcclxuICAgICAgICAgICAgd2luZG93Q2xhc3M6IFwiXCIsXHJcbiAgICAgICAgICAgIHNpemU6IFwic21cIixcclxuICAgICAgICAgICAga2V5Ym9hcmQ6IGZhbHNlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdFVuc2F2ZWRDaGFuZ2VzQ29uZmlybWF0aW9uUG9wdXBDb25maWcgPSB7XHJcbiAgICAgICAgICAgIHNob3dDYW5jZWxCdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIHRpdGxlOiBcIllvdSBoYXZlIHVuc2F2ZWQgY2hhbmdlcy4gQWxsIHRoZSBjaGFuZ2VzIHdpbGwgYmUgbG9zdCBpZiB5b3Ugc3dpdGNoLiBEbyB5b3Ugd2FudCB0byBjb250aW51ZT9cIixcclxuICAgICAgICAgICAgc2hvd0NvbmZpcm1CdXR0b246IHRydWUsXHJcbiAgICAgICAgICAgIGNhbmNlbEJ1dHRvbkxhYmVsOiBcIk5vXCIsXHJcbiAgICAgICAgICAgIGNvbmZpcm1CdXR0b25MYWJlbDogXCJZZXNcIixcclxuICAgICAgICAgICAgc2hvd0Nsb3NlSWNvbjogZmFsc2UsXHJcbiAgICAgICAgICAgIGJhY2tkcm9wOiBcInN0YXRpY1wiLFxyXG4gICAgICAgICAgICB3aW5kb3dDbGFzczogXCJcIixcclxuICAgICAgICAgICAgc2l6ZTogXCJzbVwiLFxyXG4gICAgICAgICAgICBrZXlib2FyZDogZmFsc2UsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0V2Vla0NhbGVuZGFyQ29uZmlnID0ge1xyXG4gICAgICAgICAgICBmaXJzdERheU9mV2VlazogMSxcclxuICAgICAgICAgICAgc2hvd1dlZWtOdW1iZXJzOiB0cnVlLFxyXG4gICAgICAgICAgICBkYXRlRm9ybWF0VG9EaXNwbGF5OiBcImQgTU1NIHlcIixcclxuICAgICAgICAgICAgZGF0ZUZvcm1hdEZvclJlcXVlc3Q6IFwieS1NTS1kZFwiLFxyXG4gICAgICAgICAgICBtYXhXZWVrc1RvU2hvd1dpdGhSZW1haW5pbmdDb3VudDogMixcclxuICAgICAgICAgICAgbnVtYmVyT2ZNb250aHNUb0VuYWJsZUluUGFzdDogMSxcclxuICAgICAgICAgICAgc2VsZWN0TXVsdGlwbGVXZWVrczogZmFsc2UsXHJcbiAgICAgICAgICAgIGN1c3RvbUNsYXNzOiBcIlwiLFxyXG4gICAgICAgICAgICBlbWl0TXVsdGlwbGVXZWVrT2JqZWN0czogdHJ1ZSxcclxuICAgICAgICAgICAgbWF4V2Vla3NUb1NlbGVjdDogMCxcclxuICAgICAgICAgICAgc2hvd0FzRHJvcGRvd246IHRydWUsXHJcbiAgICAgICAgICAgIHNlbGVjdEN1cnJlbnRXZWVrOiB0cnVlLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIHRoaXMuZGVmYXVsdEd0R2VuZXJhbENvbmZpZyA9IHtcclxuICAgICAgICAgICAgY29tcG9uZW50OiBcIlwiLFxyXG4gICAgICAgICAgICB0b3RhbFJvdzogZmFsc2UsXHJcbiAgICAgICAgICAgIGlzSGVhZGVyQ2hlY2tlZDogZmFsc2UsXHJcbiAgICAgICAgICAgIGRpc2FibGVIZWFkZXJDaGVja2JveDogZmFsc2UsXHJcbiAgICAgICAgICAgIHZlcnRpY2FsU2Nyb2xsT2Zmc2V0Rm9yRmlsdGVyVG9vbHRpcDogMCxcclxuICAgICAgICAgICAgaXNHcm91cGVkOiBmYWxzZSxcclxuICAgICAgICAgICAgc2hvd0FsbENvbHVtbkZpbHRlcjogdHJ1ZSxcclxuICAgICAgICAgICAgYnVmZmVyU2l6ZTogMjAsXHJcbiAgICAgICAgICAgIHBhZ2U6IFwiXCIsXHJcbiAgICAgICAgfTtcclxuXHJcbiAgICAgICAgdGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnID0ge1xyXG4gICAgICAgICAgICBzaG93U2VhcmNoQmFyOiBmYWxzZSxcclxuICAgICAgICAgICAgcGxhY2Vob2xkZXI6IFwiU2VsZWN0XCIsXHJcbiAgICAgICAgICAgIGNsYXNzZXM6IFwiXCIsXHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBcIkJPVFRPTVwiLFxyXG4gICAgICAgICAgICBtaW5IZWlnaHRPZkxpc3Q6IDMwLFxyXG4gICAgICAgICAgICBtYXhIZWlnaHRPZkxpc3Q6IDE4MCxcclxuICAgICAgICB9O1xyXG5cclxuICAgICAgICB0aGlzLmRlZmF1bHRNdWx0aVNlbGVjdENvbmZpZyA9IHtcclxuICAgICAgICAgICAgLi4udGhpcy5kZWZhdWx0U2luZ2xlU2VsZWN0Q29uZmlnLFxyXG4gICAgICAgICAgICAuLi57IHNob3dFcnJvcldoZW5Ob09wdGlvblNlbGVjdGVkOiB0cnVlIH0sXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxufVxyXG4iXX0=
@@ -1,80 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class AnnaNumberFormatService {
4
- static GetRoundedValueWithUnits(inputValue, digitsToRoundDecimalPoint = 2) {
5
- const result = AnnaNumberFormatService.GetValueInUnits(Math.abs(inputValue));
6
- let value = result[0];
7
- const unit = result[1];
8
- value = +(+value).toFixed(digitsToRoundDecimalPoint);
9
- if (inputValue < 0) {
10
- value *= -1;
11
- }
12
- return value.toString() + unit;
13
- // return (Math.Round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
14
- }
15
- static GetRoundedValuesWithoutUnits(inputValue, digitsToRoundDecimalPoint = 2) {
16
- let value = inputValue;
17
- value = +(+value).toFixed(digitsToRoundDecimalPoint);
18
- if (inputValue < 0) {
19
- value *= -1;
20
- }
21
- return value.toLocaleString("en-IN");
22
- }
23
- static GetRoundedValueWithUnitsAndDollarSymbol(inputValue, digitsToRoundDecimalPoint = 2) {
24
- if (inputValue === 0)
25
- return "-";
26
- const result = AnnaNumberFormatService.GetValueInUnits(Math.abs(inputValue));
27
- let value = result[0];
28
- const unit = result[1];
29
- value = +(+value).toFixed(digitsToRoundDecimalPoint);
30
- if (inputValue < 0) {
31
- value *= -1;
32
- }
33
- const dollarSymbol = value < 0 ? "-$" : "$";
34
- return dollarSymbol + value.toString() + unit;
35
- }
36
- static GetRoundedImpressionsWithUnits(inputValue, digitsToRoundDecimalPoint = 0) {
37
- const result = this.GetValueInUnits(Math.abs(inputValue));
38
- let value = result[0];
39
- const unit = result[1];
40
- value = +value;
41
- if (inputValue < 0) {
42
- value *= -1;
43
- }
44
- let digitToRoundOff = digitsToRoundDecimalPoint;
45
- if (digitsToRoundDecimalPoint === 0 && (unit === "M" || unit === "B" || unit === "K")) {
46
- digitToRoundOff = 2;
47
- }
48
- return Number.isInteger(value) ? value.toString() + unit : value.toFixed(digitToRoundOff) + unit;
49
- // return (Math.round(value, digitsToRoundDecimalPoint, MidpointRounding.AwayFromZero) + unit);
50
- }
51
- static GetValueInUnits(inputValue) {
52
- let unit = "";
53
- let updatedInputValue = inputValue;
54
- const thousand = 1000;
55
- const million = 1000000;
56
- const billion = 1000000000;
57
- if (inputValue >= thousand && inputValue < million) {
58
- updatedInputValue = inputValue / thousand;
59
- unit = "K";
60
- }
61
- else if (inputValue >= million && inputValue < billion) {
62
- updatedInputValue = inputValue / million;
63
- unit = "M";
64
- }
65
- else if (inputValue >= billion) {
66
- updatedInputValue = inputValue / billion;
67
- unit = "B";
68
- }
69
- return [updatedInputValue, unit];
70
- }
71
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaNumberFormatService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
72
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaNumberFormatService, providedIn: "root" }); }
73
- }
74
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaNumberFormatService, decorators: [{
75
- type: Injectable,
76
- args: [{
77
- providedIn: "root",
78
- }]
79
- }] });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1udW1iZXItZm9ybWF0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbm5hLWNvcmUvc3JjL2xpYi9hbm5hLWNvcmUtc2hhcmVkLWxpYi9zZXJ2aWNlcy9hbm5hLW51bWJlci1mb3JtYXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQUszQyxNQUFNLE9BQU8sdUJBQXVCO0lBQ3pCLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxVQUFrQixFQUFFLHlCQUF5QixHQUFHLENBQUM7UUFDcEYsTUFBTSxNQUFNLEdBQUcsdUJBQXVCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQztRQUM3RSxJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsTUFBTSxJQUFJLEdBQUcsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRXZCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUNqQixLQUFLLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDaEIsQ0FBQztRQUNELE9BQU8sS0FBSyxDQUFDLFFBQVEsRUFBRSxHQUFHLElBQUksQ0FBQztRQUMvQixpR0FBaUc7SUFDckcsQ0FBQztJQUNNLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQyxVQUFrQixFQUFFLHlCQUF5QixHQUFHLENBQUM7UUFDeEYsSUFBSSxLQUFLLEdBQUcsVUFBVSxDQUFDO1FBQ3ZCLEtBQUssR0FBRyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxPQUFPLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUNyRCxJQUFJLFVBQVUs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Q0FBQztRQUNmLENBQUM7YUFBTSxJQUFJLFVBQVUsSUFBSSxPQUFPLEVBQUUsQ0FBQztZQUMvQixpQkFBaUIsR0FBRyxVQUFVLEdBQUcsT0FBTyxDQUFDO1lBQ3pDLElBQUksR0FBRyxHQUFHLENBQUM7UUFDZixDQUFDO1FBRUQsT0FBTyxDQUFDLGlCQUFpQixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3JDLENBQUM7K0dBekVRLHVCQUF1QjttSEFBdkIsdUJBQXVCLGNBRnBCLE1BQU07OzRGQUVULHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgQW5uYU51bWJlckZvcm1hdFNlcnZpY2Uge1xyXG4gICAgcHVibGljIHN0YXRpYyBHZXRSb3VuZGVkVmFsdWVXaXRoVW5pdHMoaW5wdXRWYWx1ZTogbnVtYmVyLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50ID0gMikge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IEFubmFOdW1iZXJGb3JtYXRTZXJ2aWNlLkdldFZhbHVlSW5Vbml0cyhNYXRoLmFicyhpbnB1dFZhbHVlKSk7XHJcbiAgICAgICAgbGV0IHZhbHVlID0gcmVzdWx0WzBdO1xyXG4gICAgICAgIGNvbnN0IHVuaXQgPSByZXN1bHRbMV07XHJcblxyXG4gICAgICAgIHZhbHVlID0gKygrdmFsdWUpLnRvRml4ZWQoZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCk7XHJcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgPCAwKSB7XHJcbiAgICAgICAgICAgIHZhbHVlICo9IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWUudG9TdHJpbmcoKSArIHVuaXQ7XHJcbiAgICAgICAgLy8gICByZXR1cm4gKE1hdGguUm91bmQodmFsdWUsIGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQsIE1pZHBvaW50Um91bmRpbmcuQXdheUZyb21aZXJvKSArIHVuaXQpO1xyXG4gICAgfVxyXG4gICAgcHVibGljIHN0YXRpYyBHZXRSb3VuZGVkVmFsdWVzV2l0aG91dFVuaXRzKGlucHV0VmFsdWU6IG51bWJlciwgZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCA9IDIpIHtcclxuICAgICAgICBsZXQgdmFsdWUgPSBpbnB1dFZhbHVlO1xyXG4gICAgICAgIHZhbHVlID0gKygrdmFsdWUpLnRvRml4ZWQoZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludCk7XHJcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgPCAwKSB7XHJcbiAgICAgICAgICAgIHZhbHVlICo9IC0xO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gdmFsdWUudG9Mb2NhbGVTdHJpbmcoXCJlbi1JTlwiKTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldFJvdW5kZWRWYWx1ZVdpdGhVbml0c0FuZERvbGxhclN5bWJvbChpbnB1dFZhbHVlOiBudW1iZXIsIGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQgPSAyKSB7XHJcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgPT09IDApIHJldHVybiBcIi1cIjtcclxuICAgICAgICBjb25zdCByZXN1bHQgPSBBbm5hTnVtYmVyRm9ybWF0U2VydmljZS5HZXRWYWx1ZUluVW5pdHMoTWF0aC5hYnMoaW5wdXRWYWx1ZSkpO1xyXG4gICAgICAgIGxldCB2YWx1ZSA9IHJlc3VsdFswXTtcclxuICAgICAgICBjb25zdCB1bml0ID0gcmVzdWx0WzFdO1xyXG5cclxuICAgICAgICB2YWx1ZSA9ICsoK3ZhbHVlKS50b0ZpeGVkKGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQpO1xyXG4gICAgICAgIGlmIChpbnB1dFZhbHVlIDwgMCkge1xyXG4gICAgICAgICAgICB2YWx1ZSAqPSAtMTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc3QgZG9sbGFyU3ltYm9sID0gdmFsdWUgPCAwID8gXCItJFwiIDogXCIkXCI7XHJcbiAgICAgICAgcmV0dXJuIGRvbGxhclN5bWJvbCArIHZhbHVlLnRvU3RyaW5nKCkgKyB1bml0O1xyXG4gICAgfVxyXG5cclxuICAgIHB1YmxpYyBzdGF0aWMgR2V0Um91bmRlZEltcHJlc3Npb25zV2l0aFVuaXRzKGlucHV0VmFsdWU6IG51bWJlciwgZGlnaXRzVG9Sb3VuZERlY2ltYWxQb2ludDogbnVtYmVyID0gMCkge1xyXG4gICAgICAgIGNvbnN0IHJlc3VsdCA9IHRoaXMuR2V0VmFsdWVJblVuaXRzKE1hdGguYWJzKGlucHV0VmFsdWUpKTtcclxuICAgICAgICBsZXQgdmFsdWUgPSByZXN1bHRbMF07XHJcbiAgICAgICAgY29uc3QgdW5pdCA9IHJlc3VsdFsxXTtcclxuXHJcbiAgICAgICAgdmFsdWUgPSArdmFsdWU7XHJcbiAgICAgICAgaWYgKGlucHV0VmFsdWUgPCAwKSB7XHJcbiAgICAgICAgICAgIHZhbHVlICo9IC0xO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgbGV0IGRpZ2l0VG9Sb3VuZE9mZiA9IGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQ7XHJcbiAgICAgICAgaWYgKGRpZ2l0c1RvUm91bmREZWNpbWFsUG9pbnQgPT09IDAgJiYgKHVuaXQgPT09IFwiTVwiIHx8IHVuaXQgPT09IFwiQlwiIHx8IHVuaXQgPT09IFwiS1wiKSkge1xyXG4gICAgICAgICAgICBkaWdpdFRvUm91bmRPZmYgPSAyO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gTnVtYmVyLmlzSW50ZWdlcih2YWx1ZSkgPyB2YWx1ZS50b1N0cmluZygpICsgdW5pdCA6IHZhbHVlLnRvRml4ZWQoZGlnaXRUb1JvdW5kT2ZmKSArIHVuaXQ7XHJcbiAgICAgICAgLy8gcmV0dXJuIChNYXRoLnJvdW5kKHZhbHVlLCBkaWdpdHNUb1JvdW5kRGVjaW1hbFBvaW50LCBNaWRwb2ludFJvdW5kaW5nLkF3YXlGcm9tWmVybykgKyB1bml0KTtcclxuICAgIH1cclxuXHJcbiAgICBwdWJsaWMgc3RhdGljIEdldFZhbHVlSW5Vbml0cyhpbnB1dFZhbHVlOiBudW1iZXIpIHtcclxuICAgICAgICBsZXQgdW5pdCA9IFwiXCI7XHJcbiAgICAgICAgbGV0IHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZTtcclxuICAgICAgICBjb25zdCB0aG91c2FuZCA9IDEwMDA7XHJcbiAgICAgICAgY29uc3QgbWlsbGlvbiA9IDEwMDAwMDA7XHJcbiAgICAgICAgY29uc3QgYmlsbGlvbiA9IDEwMDAwMDAwMDA7XHJcblxyXG4gICAgICAgIGlmIChpbnB1dFZhbHVlID49IHRob3VzYW5kICYmIGlucHV0VmFsdWUgPCBtaWxsaW9uKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIHRob3VzYW5kO1xyXG4gICAgICAgICAgICB1bml0ID0gXCJLXCI7XHJcbiAgICAgICAgfSBlbHNlIGlmIChpbnB1dFZhbHVlID49IG1pbGxpb24gJiYgaW5wdXRWYWx1ZSA8IGJpbGxpb24pIHtcclxuICAgICAgICAgICAgdXBkYXRlZElucHV0VmFsdWUgPSBpbnB1dFZhbHVlIC8gbWlsbGlvbjtcclxuICAgICAgICAgICAgdW5pdCA9IFwiTVwiO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoaW5wdXRWYWx1ZSA+PSBiaWxsaW9uKSB7XHJcbiAgICAgICAgICAgIHVwZGF0ZWRJbnB1dFZhbHVlID0gaW5wdXRWYWx1ZSAvIGJpbGxpb247XHJcbiAgICAgICAgICAgIHVuaXQgPSBcIkJcIjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHJldHVybiBbdXBkYXRlZElucHV0VmFsdWUsIHVuaXRdO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,68 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import hash from "object-hash";
3
- import * as i0 from "@angular/core";
4
- export class AnnaPersistingFilterService {
5
- storeKeyValueInLocalStorage(val, isFilterKey = true) {
6
- let filterOrdering;
7
- if (!localStorage.getItem("filterOrdering")) {
8
- filterOrdering = [];
9
- }
10
- else {
11
- filterOrdering = JSON.parse(localStorage.getItem("filterOrdering"));
12
- }
13
- const filterOrderingSet = new Set(filterOrdering);
14
- let hashCode = null;
15
- let key = null;
16
- try {
17
- hashCode = hash(val);
18
- // if (hashCode === "d909d7a911336eb2b8732b67d22cfb32c9603a7e") {
19
- // return;
20
- // // Added by Manisha, stationId with null was getting added
21
- // }
22
- key = isFilterKey ? `filter_${hashCode}` : hashCode;
23
- localStorage.setItem(key, JSON.stringify(val));
24
- if (isFilterKey) {
25
- if (filterOrderingSet.has(key)) {
26
- filterOrderingSet.delete(key);
27
- }
28
- filterOrderingSet.add(key);
29
- localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
30
- }
31
- }
32
- catch (e) {
33
- const halfArrayLength = filterOrdering.length / 2;
34
- for (let i = 0; i < halfArrayLength; i++) {
35
- localStorage.removeItem(filterOrdering[i]);
36
- }
37
- filterOrdering.splice(0, filterOrdering.length / 2);
38
- hashCode = hash(val);
39
- key = isFilterKey ? `filter_${hashCode}` : hashCode;
40
- localStorage.setItem(key, JSON.stringify(val));
41
- if (isFilterKey) {
42
- if (filterOrderingSet.has(key)) {
43
- filterOrderingSet.delete(key);
44
- }
45
- filterOrderingSet.add(key);
46
- localStorage.setItem("filterOrdering", JSON.stringify(Array.from(filterOrderingSet)));
47
- }
48
- }
49
- return key;
50
- }
51
- getActualQueryParams(key) {
52
- return localStorage.getItem(key);
53
- }
54
- convertObjToQueryString(paramsObject) {
55
- return Object.keys(paramsObject)
56
- .map((key) => `${encodeURIComponent(key)}=${encodeURIComponent(paramsObject[key])}`)
57
- .join("&");
58
- }
59
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaPersistingFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
60
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaPersistingFilterService, providedIn: "root" }); }
61
- }
62
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: AnnaPersistingFilterService, decorators: [{
63
- type: Injectable,
64
- args: [{
65
- providedIn: "root",
66
- }]
67
- }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1wZXJzaXN0aW5nLWZpbHRlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxJQUFJLE1BQU0sYUFBYSxDQUFDOztBQUsvQixNQUFNLE9BQU8sMkJBQTJCO0lBQ3BDLDJCQUEyQixDQUFDLEdBQVEsRUFBRSxXQUFXLEdBQUcsSUFBSTtRQUNwRCxJQUFJLGNBQXFCLENBQUM7UUFFMUIsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxDQUFDO1lBQzFDLGNBQWMsR0FBRyxFQUFFLENBQUM7UUFDeEIsQ0FBQzthQUFNLENBQUM7WUFDSixjQUFjLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQztRQUN4RSxDQUFDO1FBRUQsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUNsRCxJQUFJLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDcEIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDO1FBRWYsSUFBSSxDQUFDO1lBQ0QsUUFBUSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNyQixpRUFBaUU7WUFDakUsY0FBYztZQUNkLGlFQUFpRTtZQUNqRSxJQUFJO1lBQ0osR0FBRyxHQUFHLFdBQVcsQ0FBQyxDQUFDLENBQUMsVUFBVSxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDO1lBQ3BELFlBQVksQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUUvQyxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNkLElBQUksaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzdCLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDbEMsQ0FBQztnQkFDRCxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzNCLFlBQVksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQzFGLENBQUM7UUFDTCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNULE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1lBRWxELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQztnQkFDdkMsWUFBWSxDQUFDLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMvQyxDQUFDO1lBRUQsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsY0FBYyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztZQUVwRCxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLEdBQUcsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsUUFBUSxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQztZQUNwRCxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFFL0MsSUFBSSxXQUFXLEVBQUUsQ0FBQztnQkFDZCxJQUFJLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO29CQUM3QixpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ2xDLENBQUM7Z0JBQ0QsaUJBQWlCLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2dCQUMzQixZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxRixDQUFDO1FBQ0wsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDO0lBQ2YsQ0FBQztJQUVELG9CQUFvQixDQUFDLEdBQVc7UUFDNUIsT0FBTyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7SUFFRCx1QkFBdUIsQ0FBQyxZQUFpQjtRQUNyQyxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDO2FBQzNCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsSUFBSSxrQkFBa0IsQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO2FBQ25GLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDOytHQS9EUSwyQkFBMkI7bUhBQTNCLDJCQUEyQixjQUZ4QixNQUFNOzs0RkFFVCwyQkFBMkI7a0JBSHZDLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCBoYXNoIGZyb20gXCJvYmplY3QtaGFzaFwiO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gICAgcHJvdmlkZWRJbjogXCJyb290XCIsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBbm5hUGVyc2lzdGluZ0ZpbHRlclNlcnZpY2Uge1xyXG4gICAgc3RvcmVLZXlWYWx1ZUluTG9jYWxTdG9yYWdlKHZhbDogYW55LCBpc0ZpbHRlcktleSA9IHRydWUpIHtcclxuICAgICAgICBsZXQgZmlsdGVyT3JkZXJpbmc6IGFueVtdO1xyXG5cclxuICAgICAgICBpZiAoIWxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiZmlsdGVyT3JkZXJpbmdcIikpIHtcclxuICAgICAgICAgICAgZmlsdGVyT3JkZXJpbmcgPSBbXTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZyA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiKSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBjb25zdCBmaWx0ZXJPcmRlcmluZ1NldCA9IG5ldyBTZXQoZmlsdGVyT3JkZXJpbmcpO1xyXG4gICAgICAgIGxldCBoYXNoQ29kZSA9IG51bGw7XHJcbiAgICAgICAgbGV0IGtleSA9IG51bGw7XHJcblxyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGhhc2hDb2RlID0gaGFzaCh2YWwpO1xyXG4gICAgICAgICAgICAvLyBpZiAoaGFzaENvZGUgPT09IFwiZDkwOWQ3YTkxMTMzNmViMmI4NzMyYjY3ZDIyY2ZiMzJjOTYwM2E3ZVwiKSB7XHJcbiAgICAgICAgICAgIC8vICAgICByZXR1cm47XHJcbiAgICAgICAgICAgIC8vICAgICAvLyBBZGRlZCBieSBNYW5pc2hhLCBzdGF0aW9uSWQgd2l0aCBudWxsIHdhcyBnZXR0aW5nIGFkZGVkXHJcbiAgICAgICAgICAgIC8vIH1cclxuICAgICAgICAgICAga2V5ID0gaXNGaWx0ZXJLZXkgPyBgZmlsdGVyXyR7aGFzaENvZGV9YCA6IGhhc2hDb2RlO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbCkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzRmlsdGVyS2V5KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyT3JkZXJpbmdTZXQuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5kZWxldGUoa2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmFkZChrZXkpO1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiLCBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGZpbHRlck9yZGVyaW5nU2V0KSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSBjYXRjaCAoZSkge1xyXG4gICAgICAgICAgICBjb25zdCBoYWxmQXJyYXlMZW5ndGggPSBmaWx0ZXJPcmRlcmluZy5sZW5ndGggLyAyO1xyXG5cclxuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBoYWxmQXJyYXlMZW5ndGg7IGkrKykge1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0oZmlsdGVyT3JkZXJpbmdbaV0pO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBmaWx0ZXJPcmRlcmluZy5zcGxpY2UoMCwgZmlsdGVyT3JkZXJpbmcubGVuZ3RoIC8gMik7XHJcblxyXG4gICAgICAgICAgICBoYXNoQ29kZSA9IGhhc2godmFsKTtcclxuICAgICAgICAgICAga2V5ID0gaXNGaWx0ZXJLZXkgPyBgZmlsdGVyXyR7aGFzaENvZGV9YCA6IGhhc2hDb2RlO1xyXG4gICAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShrZXksIEpTT04uc3RyaW5naWZ5KHZhbCkpO1xyXG5cclxuICAgICAgICAgICAgaWYgKGlzRmlsdGVyS2V5KSB7XHJcbiAgICAgICAgICAgICAgICBpZiAoZmlsdGVyT3JkZXJpbmdTZXQuaGFzKGtleSkpIHtcclxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXJPcmRlcmluZ1NldC5kZWxldGUoa2V5KTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIGZpbHRlck9yZGVyaW5nU2V0LmFkZChrZXkpO1xyXG4gICAgICAgICAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJmaWx0ZXJPcmRlcmluZ1wiLCBKU09OLnN0cmluZ2lmeShBcnJheS5mcm9tKGZpbHRlck9yZGVyaW5nU2V0KSkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICByZXR1cm4ga2V5O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEFjdHVhbFF1ZXJ5UGFyYW1zKGtleTogc3RyaW5nKSB7XHJcbiAgICAgICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XHJcbiAgICB9XHJcblxyXG4gICAgY29udmVydE9ialRvUXVlcnlTdHJpbmcocGFyYW1zT2JqZWN0OiBhbnkpIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXMocGFyYW1zT2JqZWN0KVxyXG4gICAgICAgICAgICAubWFwKChrZXkpID0+IGAke2VuY29kZVVSSUNvbXBvbmVudChrZXkpfT0ke2VuY29kZVVSSUNvbXBvbmVudChwYXJhbXNPYmplY3Rba2V5XSl9YClcclxuICAgICAgICAgICAgLmpvaW4oXCImXCIpO1xyXG4gICAgfVxyXG59XHJcbiJdfQ==
@@ -1,20 +0,0 @@
1
- import { Injectable } from "@angular/core";
2
- import * as i0 from "@angular/core";
3
- export class RegexPatternsService {
4
- constructor() {
5
- this.emailPattern = /\S+@\S+\.\S+/;
6
- this.phonePattern = /^[(][0-9]{3}[)][0-9]{3}[-][0-9]{4}$/;
7
- this.buyerNamePattern = /^[A-Za-z][A-Za-z .'-]{0,19}$/;
8
- this.usernamePattern = /^\\S*$/;
9
- this.namePattern = /^[A-Za-z][A-Za-z .'-]{0,49}$/;
10
- }
11
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RegexPatternsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
12
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RegexPatternsService, providedIn: "root" }); }
13
- }
14
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: RegexPatternsService, decorators: [{
15
- type: Injectable,
16
- args: [{
17
- providedIn: "root",
18
- }]
19
- }] });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5uYS1yZWdleC1wYXR0ZXJucy5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYW5uYS1jb3JlL3NyYy9saWIvYW5uYS1jb3JlLXNoYXJlZC1saWIvc2VydmljZXMvYW5uYS1yZWdleC1wYXR0ZXJucy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyxvQkFBb0I7SUFIakM7UUFJb0IsaUJBQVksR0FBVyxjQUFjLENBQUM7UUFDdEMsaUJBQVksR0FBVyxxQ0FBcUMsQ0FBQztRQUM3RCxxQkFBZ0IsR0FBVyw4QkFBOEIsQ0FBQztRQUMxRCxvQkFBZSxHQUFXLFFBQVEsQ0FBQztRQUNuQyxnQkFBVyxHQUFXLDhCQUE4QixDQUFDO0tBQ3hFOytHQU5ZLG9CQUFvQjttSEFBcEIsb0JBQW9CLGNBRmpCLE1BQU07OzRGQUVULG9CQUFvQjtrQkFIaEMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuICAgIHByb3ZpZGVkSW46IFwicm9vdFwiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUmVnZXhQYXR0ZXJuc1NlcnZpY2Uge1xyXG4gICAgcHVibGljIHJlYWRvbmx5IGVtYWlsUGF0dGVybjogUmVnRXhwID0gL1xcUytAXFxTK1xcLlxcUysvO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IHBob25lUGF0dGVybjogUmVnRXhwID0gL15bKF1bMC05XXszfVspXVswLTldezN9Wy1dWzAtOV17NH0kLztcclxuICAgIHB1YmxpYyByZWFkb25seSBidXllck5hbWVQYXR0ZXJuOiBSZWdFeHAgPSAvXltBLVphLXpdW0EtWmEteiAuJy1dezAsMTl9JC87XHJcbiAgICBwdWJsaWMgcmVhZG9ubHkgdXNlcm5hbWVQYXR0ZXJuOiBSZWdFeHAgPSAvXlxcXFxTKiQvO1xyXG4gICAgcHVibGljIHJlYWRvbmx5IG5hbWVQYXR0ZXJuOiBSZWdFeHAgPSAvXltBLVphLXpdW0EtWmEteiAuJy1dezAsNDl9JC87XHJcbn1cclxuIl19