@annalib/anna-core 7.2.4 → 7.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/annalib-anna-core.d.ts +5 -0
  2. package/esm2020/annalib-anna-core.mjs +5 -0
  3. package/esm2020/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.mjs +15 -0
  4. package/esm2020/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.mjs +35 -0
  5. package/esm2020/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.mjs +15 -0
  6. package/esm2020/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.mjs +22 -0
  7. package/esm2020/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.mjs +15 -0
  8. package/esm2020/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.mjs +21 -0
  9. package/esm2020/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.mjs +15 -0
  10. package/esm2020/lib/anna-core-shared-lib/constants/shared.constant.mjs +35 -0
  11. package/esm2020/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.mjs +282 -0
  12. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +27 -0
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-manage-users.model.mjs +8 -0
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +2 -0
  17. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +7 -0
  18. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -0
  19. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  20. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +46 -0
  21. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  22. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +199 -0
  24. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +469 -0
  25. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +124 -0
  26. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  27. package/esm2020/lib/anna-core-shared-lib/services/anna-number-format.service.mjs +41 -0
  28. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +147 -0
  29. package/esm2020/lib/anna-core.module.mjs +180 -0
  30. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +101 -0
  31. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +364 -0
  32. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1834 -0
  33. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +69 -0
  34. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.mjs +189 -0
  36. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  37. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  38. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  39. package/esm2020/public-api.mjs +50 -0
  40. package/fesm2015/annalib-anna-core.mjs +4875 -0
  41. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  42. package/fesm2020/annalib-anna-core.mjs +4868 -0
  43. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  44. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  45. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +16 -0
  46. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  47. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  48. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  49. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  50. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  51. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +33 -0
  52. package/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.d.ts +34 -0
  53. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +9 -0
  54. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -0
  55. package/{src/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.ts → lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.d.ts} +9 -21
  56. package/lib/anna-core-shared-lib/models/anna-manage-users.model.d.ts +6 -0
  57. package/{src/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.ts → lib/anna-core-shared-lib/models/anna-non-editable-gt-models.d.ts} +17 -28
  58. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +11 -0
  59. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -0
  60. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  61. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  62. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  63. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  64. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +27 -0
  65. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +74 -0
  66. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +28 -0
  67. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  68. package/lib/anna-core-shared-lib/services/anna-number-format.service.d.ts +7 -0
  69. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  70. package/lib/anna-core.module.d.ts +36 -0
  71. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  72. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -0
  73. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +283 -0
  74. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -0
  75. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  76. package/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.d.ts +89 -0
  77. package/{src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.ts → lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.d.ts} +0 -0
  78. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  79. package/{src/lib/anna-generic-table-lib/directives/anna-virtual-table/index.ts → lib/anna-generic-table-lib/directives/anna-virtual-table/index.d.ts} +0 -0
  80. package/package.json +39 -19
  81. package/{src/public-api.ts → public-api.d.ts} +0 -28
  82. package/.browserslistrc +0 -16
  83. package/karma.conf.js +0 -44
  84. package/ng-package.json +0 -14
  85. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +0 -22
  86. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  87. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +0 -25
  88. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +0 -16
  89. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.html +0 -33
  90. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.scss +0 -0
  91. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.spec.ts +0 -25
  92. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.ts +0 -28
  93. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +0 -20
  94. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  95. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +0 -25
  96. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +0 -16
  97. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +0 -3
  98. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +0 -17
  99. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +0 -24
  100. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +0 -20
  101. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +0 -23
  102. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  103. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +0 -25
  104. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +0 -16
  105. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +0 -15
  106. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  107. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.spec.ts +0 -25
  108. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +0 -19
  109. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +0 -14
  110. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  111. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +0 -25
  112. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +0 -16
  113. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +0 -35
  114. package/src/lib/anna-core-shared-lib/directives/digits-only/digits-only.directive.ts +0 -307
  115. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.ts +0 -19
  116. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +0 -19
  117. package/src/lib/anna-core-shared-lib/models/anna-manage-users.model.ts +0 -6
  118. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +0 -13
  119. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +0 -44
  120. package/src/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.ts +0 -20
  121. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +0 -43
  122. package/src/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.ts +0 -19
  123. package/src/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.ts +0 -12
  124. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +0 -219
  125. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +0 -563
  126. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +0 -136
  127. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +0 -170
  128. package/src/lib/anna-core-shared-lib/services/anna-number-format.service.ts +0 -43
  129. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +0 -179
  130. package/src/lib/anna-core.module.ts +0 -112
  131. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +0 -46
  132. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +0 -153
  133. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +0 -24
  134. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +0 -106
  135. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +0 -129
  136. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +0 -275
  137. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +0 -24
  138. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +0 -414
  139. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +0 -1080
  140. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +0 -668
  141. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +0 -25
  142. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +0 -2186
  143. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +0 -10
  144. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +0 -1
  145. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +0 -24
  146. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +0 -69
  147. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +0 -13
  148. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +0 -88
  149. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +0 -25
  150. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +0 -460
  151. package/src/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/anna-fixed-row-size-table-virtual-scroll-strategy.directive.ts +0 -237
  152. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +0 -204
  153. package/src/test.ts +0 -27
  154. package/tsconfig.lib.json +0 -19
  155. package/tsconfig.lib.prod.json +0 -10
  156. package/tsconfig.spec.json +0 -17
@@ -1,1080 +0,0 @@
1
- <div class="table-container {{gtGeneralConfig?.tableOuterContainerName}}" [ngClass]="{ 'scroll-left-shadow-effect': isScrolledLeft, 'clickable-row': clickableRow }" (scroll)="onTableContainerScroll($event)">
2
- <div
3
- [class]="gtGeneralConfig.tableContainerName"
4
- class="horizontal-scroll-for-table-container"
5
- [ngStyle]="{
6
- height:
7
- tableData.length < maximumRowsWhichCanBeRenderedWithoutScroll
8
- ? 'calc(' +
9
- ((gtDimension.rowHeight + (includeBorderInTableHeight ? rowBorderWidth : 0)) * tableData.length +
10
- (!tableData.length || !gtGeneralConfig.totalRow
11
- ? gtDimension.headerHeight
12
- : gtDimension.headerHeight + gtDimension.rowHeight + ( includeBorderInTableHeight ? (2 * rowBorderWidth) : 0))) +
13
- 'px)'
14
- : gtDimension.tableHeight
15
- }"
16
- >
17
- <table class="gt" [ngClass]="tableClass" mat-table [dataSource]="renderedData">
18
- <tr
19
- class="header-row"
20
- mat-header-row
21
- *matHeaderRowDef="tableColumns; sticky: true"
22
- [style.height.px]="gtDimension.headerHeight"
23
- ></tr>
24
- <tr
25
- class="total-row"
26
- mat-header-row
27
- [style.height.px]="gtDimension.rowHeight"
28
- *matHeaderRowDef="totalRowColumns; sticky: true"
29
- [class.hidden]="
30
- showSkeletonLoading ||
31
- (!showSkeletonLoading && !tableData.length ) ||
32
- (isNoDataToDisplaySubject$ | async) ||
33
- (!showSkeletonLoading && !gtGeneralConfig.totalRow)
34
- "
35
- ></tr>
36
- <tr
37
- [class]="rowData.gtClass"
38
- [ngClass]="{'no-border-tr': (isNoDataToDisplaySubject$ | async)}"
39
- mat-row
40
- *matRowDef="let rowData; columns: tableColumns"
41
- [style.height.px]="gtDimension.rowHeight"(click)="dataRowClicked(rowData)"
42
- ></tr>
43
-
44
- <!-- TOTAL ROW -->
45
- <ng-container [matColumnDef]="column.colName" *ngFor="let column of totalRowInfo; trackBy: trackByFn">
46
- <td mat-header-cell *matHeaderCellDef [attr.colspan]="column.colspan" class="{{column.class}}">
47
- <strong>{{ column.data }}</strong>
48
- <ng-container *ngIf="column.lowerData">
49
- <br>
50
- <span
51
- *ngIf="column.colName == 'total-potential-booked-unit' && gtGeneralConfig.component == 'RATING';
52
- else columnLowerData"
53
- class="clickable-data"
54
- (click)="spotDetailsDownloadClicked('TOTALROW')"
55
- [ngClass]="{ 'disabled-clickable-data': downloadInProgress }"
56
- >{{ column.lowerData }}
57
- <span class="material-icons spot-details-download-icons">get_app</span>
58
- <ng-container *ngIf="downloadInProgress
59
- && selectedRowTypeForDownload == 'TOTALROW' ">
60
- <ng-container [ngTemplateOutlet]="circularProgressBar"></ng-container>
61
- </ng-container>
62
- </span>
63
- <ng-template #columnLowerData>
64
- <span>{{ column.lowerData }}</span>
65
- </ng-template>
66
- </ng-container>
67
- <ng-container *ngIf="column.tooltipMessage">
68
- <i class="mi mdi-info-outline info-label" container="body"
69
- [ngbTooltip]="column.tooltipMessage"
70
- tooltipClass="gt-total-row-tooltip" placement="bottom"></i>
71
- </ng-container>
72
- </td>
73
- </ng-container>
74
-
75
- <!-- MAIN ROW -->
76
- <ng-container [matColumnDef]="columnDef.headerInfo[0].objectKey" *ngFor="let columnDef of tableHeaders; trackBy: trackByFn">
77
- <th #tableHeader nowrap mat-header-cell *matHeaderCellDef [style.width]="columnDef.width">
78
- <div class="row mx-0" *ngFor="let header of columnDef.headerInfo; let j = index;">
79
- <p
80
- *ngIf="header.typeOfHeaderData === 'STRING'"
81
- [ngClass]="{ 'upper-label': j === 0, 'lower-label': j === 1 }"
82
- >
83
- {{ header.name }}
84
- <i *ngIf="header.tooltip && header.tooltip.name == 'impsInfoTooltip'" class="{{header['tooltip'].iconClass}}"
85
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
86
- #t="ngbTooltip"
87
- [ngbTooltip]="impsInfoTooltip"
88
- placement="{{ header['tooltip'].tooltipPosition }}"
89
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
90
- >
91
- </i>
92
- <i *ngIf="header.tooltip && header.tooltip.name == 'spotsColumnEquivalizationMessageTooltip'" class="{{header['tooltip'].iconClass}}"
93
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
94
- #t="ngbTooltip"
95
- [ngbTooltip]="spotsColumnEquivalizationMessageTooltip"
96
- placement="{{ header['tooltip'].tooltipPosition }}"
97
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
98
- >
99
- </i>
100
- <i *ngIf="header.tooltip && header.tooltip.name == 'ratingInfoTooltip'" class="{{header['tooltip'].iconClass}}"
101
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
102
- #t="ngbTooltip"
103
- [ngbTooltip]="ratingInfoTooltip"
104
- placement="{{ header['tooltip'].tooltipPosition }}"
105
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
106
- >
107
- </i>
108
- <i *ngIf="header.tooltip && header.tooltip.name == 'rateInfoTooltip'" class="{{header['tooltip'].iconClass}}"
109
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
110
- #t="ngbTooltip"
111
- [ngbTooltip]="rateInfoTooltip"
112
- placement="{{ header['tooltip'].tooltipPosition }}"
113
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
114
- >
115
- </i>
116
- <i *ngIf="header.tooltip && header.tooltip.name == 'ongoingRevBookedColumnTooltip'" class="{{header['tooltip'].iconClass}}"
117
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
118
- #t="ngbTooltip"
119
- [ngbTooltip]="ongoingRevBookedColumnTooltip"
120
- placement="{{ header['tooltip'].tooltipPosition }}"
121
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
122
- >
123
- </i>
124
- <i *ngIf="header.tooltip && header.tooltip.name == 'completedRevBookedColumnTooltip'" class="{{header['tooltip'].iconClass}}"
125
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
126
- #t="ngbTooltip"
127
- [ngbTooltip]="completedRevBookedColumnTooltip"
128
- placement="{{ header['tooltip'].tooltipPosition }}"
129
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
130
- >
131
- </i>
132
- </p>
133
-
134
- <ng-container *ngIf="header.typeOfHeaderData === 'CHECKBOX'">
135
- <span
136
- *ngIf="gtGeneralConfig.isHeaderChecked"
137
- class="material-icons custom-column-checkbox-checked"
138
- (click)="selectUnselectAllRows()"
139
- >
140
- check_box
141
- </span>
142
- <span
143
- *ngIf="!gtGeneralConfig.isHeaderChecked"
144
- class="material-icons custom-column-checkbox-unchecked"
145
- [ngClass]="{ 'disable-checkbox': gtGeneralConfig.disableHeaderCheckbox }"
146
- (click)="selectUnselectAllRows()"
147
- >
148
- check_box_outline_blank
149
- </span>
150
- </ng-container>
151
-
152
- <div *ngIf="gtGeneralConfig.showAllColumnFilter" class="sort-filter-container">
153
- <ng-container *ngIf="header.showTooltipIcon">
154
- <!-- Active tooltip Functionality -->
155
- <ng-container *ngIf="header.filter === 'CHECKBOX'">
156
- <span
157
- class="mdi mdi-filter-variant"
158
- [ngClass]="{
159
- active: annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys],
160
- disabled: header.disableTooltipIcon
161
- }"
162
- [ngbTooltip]="filterTooltip"
163
- placement="bottom left-top auto"
164
- container="body"
165
- tooltipClass="non-edit-checkbox-tooltip"
166
- [autoClose]="'outside'"
167
- triggers="manual"
168
- #t="ngbTooltip"
169
- (click)="bindTheValueToToolTip(t, header)"
170
- (hidden)="closeTooltip()"
171
- >
172
- </span
173
- ><br />
174
- </ng-container>
175
- <ng-container *ngIf="header.filter === 'SLIDER'">
176
- <span
177
- class="mdi mdi-filter-variant"
178
- [ngClass]="{
179
- active: annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys],
180
- disabled: header.disableTooltipIcon
181
- }"
182
- [ngbTooltip]="sliderToolTip"
183
- placement="bottom left-top"
184
- container="body"
185
- tooltipClass="non-edit-slider-tooltip"
186
- [autoClose]="'outside'"
187
- triggers="manual"
188
- #t1="ngbTooltip"
189
- (click)="bindTheValueToToolTip(t1, header)"
190
- (hidden)="closeTooltip()"
191
- >
192
- </span
193
- ><br />
194
- </ng-container>
195
- <ng-container *ngIf="header.filter === 'DATE'">
196
- <span
197
- class="mdi mdi-filter-variant"
198
- [ngClass]="{
199
- active: annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys],
200
- disabled: header.disableTooltipIcon
201
- }"
202
- [ngbTooltip]="datePickerTooltip"
203
- placement="bottom auto"
204
- container="body"
205
- tooltipClass="non-edit-datepicker-tooltip"
206
- [autoClose]="'outside'"
207
- triggers="manual"
208
- #t2="ngbTooltip"
209
- (click)="bindTheValueToToolTip(t2, header)"
210
- (hidden)="closeTooltip()"
211
- >
212
- </span
213
- ><br />
214
- </ng-container>
215
- <ng-container *ngIf="header.filter === 'WEEK'">
216
- <span
217
- class="mdi mdi-filter-variant"
218
- [ngClass]="{
219
- active: annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys],
220
- disabled: header.disableTooltipIcon
221
- }"
222
- [ngbTooltip]="weekPickerToolTip"
223
- placement="bottom left-top"
224
- container="body"
225
- [autoClose]="'outside'"
226
- triggers="manual"
227
- #t3="ngbTooltip"
228
- (click)="bindTheValueToToolTip(t3, header)"
229
- (hidden)="closeTooltip()"
230
- >
231
- </span
232
- ><br />
233
- </ng-container>
234
- <ng-container *ngIf="header.filter === 'TIME'">
235
- <span
236
- class="mdi mdi-filter-variant"
237
- [ngClass]="{
238
- active: annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys],
239
- disabled: header.disableTooltipIcon
240
- }"
241
- [ngbTooltip]="timeFilterToolTip"
242
- placement="bottom left-top"
243
- container="body"
244
- tooltipClass="non-edit-time-tooltip"
245
- [autoClose]="'outside'"
246
- triggers="manual"
247
- #t4="ngbTooltip"
248
- (click)="bindTheValueToToolTip(t4, header)"
249
- (hidden)="closeTooltip()"
250
- >
251
- </span
252
- ><br />
253
- </ng-container>
254
- </ng-container>
255
- <ng-container *ngIf="!header.showTooltipIcon">
256
- <span id="no-filter-space"></span><br />
257
- </ng-container>
258
- <i *ngIf="header.tooltip && header.tooltip.name == 'lurViolationInfoTooltip'" class="{{header['tooltip'].iconClass}}"
259
- [ngStyle]="{'float': header['tooltip'].iconPosition}"
260
- #t="ngbTooltip"
261
- [ngbTooltip]="lurViolationInfoTooltip"
262
- placement="{{ header['tooltip'].tooltipPosition }}"
263
- tooltipClass="{{ header['tooltip'].tooltipClass }}"
264
- >
265
- </i>
266
-
267
- </div>
268
- </div>
269
- </th>
270
-
271
- <ng-container *ngIf="gtGeneralConfig.component == 'DRR'">
272
- <ng-container *matCellDef="let ROW_DATA">
273
- <ng-container *ngIf="showSkeletonLoading">
274
- <td mat-cell>
275
- <ngx-skeleton-loader count="1" [theme]="{ height: '10px', display: 'block' }">
276
- </ngx-skeleton-loader>
277
- </td>
278
- </ng-container>
279
-
280
- <ng-container *ngIf="!showSkeletonLoading">
281
- <td
282
- mat-cell
283
- *ngIf="!ROW_DATA['hide' + columnDef.headerInfo[0].objectKey + 'Td']"
284
- [attr.rowspan]="ROW_DATA[columnDef.headerInfo[0].objectKey + 'Rowspan']">
285
- <ng-container
286
- *ngFor="let subline of columnDef.headerInfo; let sublineIndex = index; trackBy: trackByFn"
287
- >
288
- <ng-container [ngSwitch]="subline.typeOfBodyData">
289
- <ng-container *ngSwitchCase="'ICON'">
290
- <i [class]="ROW_DATA.iconClass"></i>
291
- </ng-container>
292
-
293
- <ng-container *ngSwitchCase="'CHECKBOX'">
294
- <span
295
- *ngIf="ROW_DATA[subline.objectKey]"
296
- [ngClass]="{ 'disable-checkbox': ROW_DATA[subline.isDisabledKey] }"
297
- class="material-icons custom-column-checkbox-checked"
298
- (click)="selectUnselectRow(ROW_DATA)"
299
- >
300
- check_box
301
- </span>
302
- <span
303
- *ngIf="!ROW_DATA[subline.objectKey]"
304
- class="material-icons custom-column-checkbox-unchecked"
305
- [ngClass]="{ 'disable-checkbox': ROW_DATA[subline.isDisabledKey] }"
306
- (click)="selectUnselectRow(ROW_DATA)"
307
- >
308
- check_box_outline_blank
309
- </span>
310
- </ng-container>
311
-
312
- <ng-container *ngSwitchCase="'RADIO'">
313
- <mat-radio-group
314
- *ngIf="ROW_DATA['RadioButtonConfig']"
315
- [ngModel]="ROW_DATA[subline.objectKey]"
316
- [disabled]="ROW_DATA['RadioButtonConfig'][0].isDisabled"
317
- >
318
- <ng-container
319
- *ngFor="let radioButton of ROW_DATA['RadioButtonConfig']; let last = last"
320
- >
321
- <mat-radio-button
322
- value="{{ radioButton.value }}"
323
- class="{{ radioButton.class }}"
324
- (click)="
325
- radioButtonClicked(
326
- ROW_DATA,
327
- radioButton.value,
328
- ROW_DATA['RadioButtonConfig'][0].isDisabled
329
- )
330
- "
331
- >{{ radioButton.label }}</mat-radio-button
332
- ><br *ngIf="!last" />
333
- </ng-container>
334
- </mat-radio-group>
335
- </ng-container>
336
-
337
- <div *ngSwitchDefault>
338
- {{ ROW_DATA[subline.objectKey] }}
339
-
340
- <ng-container
341
- *ngIf="
342
- subline.objectKey == 'Status' && (ROW_DATA['Remarks'] !== null)
343
- "
344
- >
345
- <i
346
- class="mi mdi-info-outline remarks-tooltip"
347
- [ngbTooltip]="columnInfoTooltip"
348
- placement="bottom"
349
- container="body"
350
- tooltipClass="remarks-info-tooltip"
351
- #t="ngbTooltip"
352
- ></i>
353
- </ng-container>
354
- </div>
355
- </ng-container>
356
- </ng-container>
357
- </td>
358
- </ng-container>
359
- </ng-container>
360
- </ng-container>
361
-
362
- <ng-container *ngIf="gtGeneralConfig.component != 'DRR'">
363
- <td mat-cell *matCellDef="let ROW_DATA" [style.background]="ROW_DATA.backgroundColor"
364
- [style.border]="ROW_DATA.border"
365
- class="{{ROW_DATA.rowClass}}"
366
- >
367
- <ngx-skeleton-loader *ngIf="showSkeletonLoading" count="1" [theme]="{ height: '10px', display: 'block' }">
368
- </ngx-skeleton-loader>
369
-
370
- <ng-container *ngIf="!showSkeletonLoading">
371
- <ng-container *ngIf="tableData.length > 0 && !(isNoDataToDisplaySubject$ | async)">
372
- <div showEllipsisTextOnHover *ngFor="let subline of columnDef.headerInfo; let subLineIndex = index; trackBy: trackByFn">
373
- <ng-container [ngSwitch]="columnDef.headerInfo[subLineIndex].typeOfBodyData">
374
- <ng-container *ngSwitchCase="'ICON'">
375
- <i *ngIf="!(starredInProgress && ROW_DATA.orderId == selectedStarredOrderId)" [class]="ROW_DATA.iconClass" (click)="iconClicked(ROW_DATA,ROW_DATA.iconClass)"
376
- ngbTooltip="{{ ROW_DATA.iconTitleText }}" placement="bottom" container="body"
377
- tooltipClass="gt-icon-column-tooltip remove-on-scroll-class"
378
- ></i>
379
- <ng-container *ngIf="starredInProgress && ROW_DATA.orderId == selectedStarredOrderId">
380
- <div class="spinner-for-button-directive"></div>
381
- </ng-container>
382
-
383
-
384
- </ng-container>
385
-
386
- <ng-container *ngSwitchCase="'SVG_ICON'">
387
- <anna-core-anna-icon-column [componentName]="gtGeneralConfig.component" [objectKey]="subline.objectKey" [dataObject]="ROW_DATA" (onColumnIconClicked)="svgIconClicked($event)"></anna-core-anna-icon-column>
388
- </ng-container>
389
-
390
- <ng-container *ngSwitchCase="'TEXT_ACTIONS'">
391
- <button *ngFor="let text of ROW_DATA.textActions" (click)="textActionClicked(ROW_DATA,text.id)" [disabled]="text.isDisabled" class="{{text.class}}">{{text.name}}</button>
392
- </ng-container>
393
-
394
- <ng-container *ngSwitchCase="'CHECKBOX'">
395
- <span
396
- *ngIf="ROW_DATA[columnDef.headerInfo[subLineIndex].objectKey]"
397
- [ngClass]="{
398
- 'disable-checkbox': ROW_DATA[columnDef.headerInfo[subLineIndex].isDisabledKey]
399
- }"
400
- class="material-icons custom-column-checkbox-checked"
401
- (click)="
402
- selectOrUnselectCheckbox(
403
- ROW_DATA,
404
- columnDef.headerInfo[subLineIndex].objectKey,
405
- false
406
- )
407
- "
408
- >
409
- check_box
410
- </span>
411
- <span
412
- *ngIf="!ROW_DATA[columnDef.headerInfo[subLineIndex].objectKey]"
413
- class="material-icons custom-column-checkbox-unchecked"
414
- [ngClass]="{
415
- 'disable-checkbox': ROW_DATA[columnDef.headerInfo[subLineIndex].isDisabledKey]
416
- }"
417
- (click)="
418
- selectOrUnselectCheckbox(
419
- ROW_DATA,
420
- columnDef.headerInfo[subLineIndex].objectKey,
421
- true
422
- )
423
- "
424
- >
425
- check_box_outline_blank
426
- </span>
427
- </ng-container>
428
-
429
- <ng-container *ngSwitchCase="'CLICKABLE_DATA'">
430
- <a
431
- *ngFor="let text of ROW_DATA.clickableItem"
432
- [ngClass]="{'disabled': text.isDisabled}"
433
- (click)="onClickableDataClicked(ROW_DATA, text.id)">
434
- {{ text.name }}
435
- </a>
436
- <span
437
- *ngIf="subline.objectKey == 'displayBookedUnits' && gtGeneralConfig.component == 'RATING'"
438
- class="clickable-data"
439
- (click)="spotDetailsDownloadClicked('DATAROW', ROW_DATA)"
440
- [ngClass]="{ 'disabled-clickable-data': downloadInProgress }"
441
- >{{ ROW_DATA.displayBookedUnits}}
442
- <span class="material-icons spot-details-download-icons">get_app</span>
443
- <ng-container *ngIf="downloadInProgress
444
- && ROW_DATA.inventoryCodeId == selectedInventoryIdForDownload
445
- && ROW_DATA.demographic == selectedDemographicForDownload ">
446
- <ng-container [ngTemplateOutlet]="circularProgressBar"></ng-container>
447
- </ng-container>
448
- </span>
449
- </ng-container>
450
-
451
- <ng-container *ngSwitchCase="'CLICKABLE_DATA_2'">
452
- <a
453
- *ngFor="let text of ROW_DATA.clickableItem2"
454
- [ngClass]="{'disabled': text.isDisabled}"
455
- (click)="onClickableDataClicked(ROW_DATA, text.id)">
456
- {{ text.name }}
457
- </a>
458
- <span
459
- *ngIf="subline.objectKey == 'displayBookedUnits' && gtGeneralConfig.component == 'RATING'"
460
- class="clickable-data"
461
- (click)="spotDetailsDownloadClicked('DATAROW', ROW_DATA)"
462
- [ngClass]="{ 'disabled-clickable-data': downloadInProgress }"
463
- >{{ ROW_DATA.displayBookedUnits}}
464
- <span class="material-icons spot-details-download-icons">get_app</span>
465
- <ng-container *ngIf="downloadInProgress
466
- && ROW_DATA.inventoryCodeId == selectedInventoryIdForDownload
467
- && ROW_DATA.demographic == selectedDemographicForDownload ">
468
- <ng-container [ngTemplateOutlet]="circularProgressBar"></ng-container>
469
- </ng-container>
470
- </span>
471
- </ng-container>
472
-
473
- <ng-container *ngSwitchCase="'STRING___ICON_OR_TEXT_ACTION_1'">
474
- <ng-container *ngFor="let action of ROW_DATA.actions1">
475
-
476
- <span ngbTooltip="{{ action.additionalTextBeforeLink }}" placement="bottom" container="body"
477
- tooltipClass="gt-icon-column-tooltip remove-on-scroll-class" [disableTooltip]="action.disableTooltip">
478
- {{ action.additionalTextBeforeLink }}
479
- </span>
480
-
481
- <ng-container *ngIf="action && action.typeOfData== 'STRING'">
482
- {{ action.data }}
483
- </ng-container>
484
-
485
- <a appHasPrivilege [id]="action.id" *ngIf="action.showLink" (click)="textActionClicked(ROW_DATA, action.id)" [class]="action.linkClass"
486
- [ngClass]="{'disabled': action.disabledLink}">{{action.data}}
487
- </a>
488
-
489
- <ng-container *ngIf="action.showTooltip">
490
- <i appHasPrivilege [id]="action.id" *ngIf="action.showIcon" [class]="action.iconClass" [ngClass]="{'disabled': action.disabledIcon}"
491
- (mouseenter)="mouseEnterOnStringTextActionType(ROW_DATA)" placement="bottom auto" container="body"
492
- [autoClose]="true" tooltipClass="team-user-tooltip" [ngbTooltip]="userLoggedInDetails">
493
- </i>
494
- </ng-container>
495
-
496
- <ng-container *ngIf="!action.showTooltip">
497
- <i appHasPrivilege [id]="action.id" *ngIf="action.showIcon" [class]="action.iconClass" [ngClass]="{'disabled': action.disabledIcon}"
498
- (click)="iconClickedOnStringIconActionType(ROW_DATA, action.id)">
499
- </i>
500
- </ng-container>
501
-
502
- </ng-container>
503
- </ng-container>
504
-
505
- <ng-container *ngSwitchCase="'STRING___ICON_OR_TEXT_ACTION_2'">
506
- <ng-container *ngFor="let action of ROW_DATA.actions2">
507
-
508
- <span ngbTooltip="{{ action.additionalTextBeforeLink }}" placement="bottom" container="body" tooltipClass="gt-icon-column-tooltip remove-on-scroll-class" [disableTooltip]="action.disableTooltip">
509
- {{ action.additionalTextBeforeLink }}
510
- </span>
511
-
512
- <ng-container *ngIf="action && action.typeOfData== 'STRING'">
513
- {{ action.data }}
514
- </ng-container>
515
-
516
- <a *ngIf="action.showLink" (click)="textActionClicked(ROW_DATA, action.id)" [class]="action.linkClass"
517
- [ngClass]="{'disabled': action.disabledLink}">{{action.data }}
518
- </a>
519
-
520
- <ng-container *ngIf="action.showTooltip">
521
- <i *ngIf="action.showIcon" [class]="action.iconClass" [ngClass]="{'disabled': action.disabledIcon}"
522
- (mouseenter)="mouseEnterOnStringTextActionType(ROW_DATA)" placement="bottom auto" container="body"
523
- [autoClose]="true" tooltipClass="team-user-tooltip" [ngbTooltip]="userLoggedInDetails">
524
- </i>
525
- </ng-container>
526
-
527
- <ng-container *ngIf="!action.showTooltip">
528
- <i *ngIf="action.showIcon" [class]="action.iconClass" [ngClass]="{'disabled': action.disabledIcon}"
529
- (click)="iconClickedOnStringIconActionType(ROW_DATA, action.id)">
530
- </i>
531
- </ng-container>
532
-
533
- </ng-container>
534
- </ng-container>
535
-
536
- <ng-container *ngSwitchCase="'STRING___ICON_OR_TEXT_ACTION_3'">
537
- <ng-container *ngFor="let action of ROW_DATA.actions3">
538
-
539
- <!-- <ng-container *ngIf="action.additionalTextBeforeLink == '-'">
540
- <span>
541
- {{ action.additionalTextBeforeLink }}
542
- </span>
543
- </ng-container> -->
544
-
545
- <span ngbTooltip="{{ action.additionalTextBeforeLink }}" placement="bottom" container="body"
546
- tooltipClass="gt-icon-column-tooltip remove-on-scroll-class" [disableTooltip]="action.disableTooltip">
547
- {{ action.additionalTextBeforeLink }}
548
- </span>
549
-
550
- <!-- <ng-container *ngIf="action.additionalTextBeforeLink != '-'">
551
- <span title = "{{ action.additionalTextBeforeLink }}">
552
- {{ action.additionalTextBeforeLink }}
553
- </span>
554
- </ng-container> -->
555
-
556
- <ng-container *ngIf="action && action.typeOfData== 'STRING'">
557
- {{ action.data }}
558
- </ng-container>
559
-
560
- <a *ngIf="action.showLink" (click)="textActionClicked(ROW_DATA, action.id)" [class]="action.linkClass"
561
- [ngClass]="{'disabled': action.disabledLink}">{{action.data}}
562
- </a>
563
-
564
- <ng-container *ngIf="action.showTooltip">
565
- <i *ngIf="action.showIcon" [class]="action.iconClass" [ngClass]="{'disabled': action.disabledIcon}"
566
- (mouseenter)="mouseEnterOnStringTextActionType(ROW_DATA)" placement="bottom auto" container="body"
567
- [autoClose]="true" tooltipClass="team-user-tooltip" [ngbTooltip]="userLoggedInDetails">
568
- </i>
569
- </ng-container>
570
-
571
- <ng-container *ngIf="!action.showTooltip">
572
- <i *ngIf="action.showIcon" [class]="action.iconClass" [ngClass]="{'disabled': action.disabledIcon}"
573
- (click)="iconClickedOnStringIconActionType(ROW_DATA, action.id)">
574
- </i>
575
- </ng-container>
576
-
577
- </ng-container>
578
- </ng-container>
579
-
580
- <ng-container *ngSwitchDefault>
581
- <ng-container *ngIf="subline.objectKey != 'description'">
582
- <span>{{ ROW_DATA[columnDef.headerInfo[subLineIndex].objectKey] }}</span>
583
- <i
584
- *ngIf="subline.objectKey == 'inventoryCode' && ROW_DATA['isSellerGroup'] && gtGeneralConfig.component == 'RATING' "
585
- class="mi mdi-info-outline seller-tooltip"
586
- [ngbTooltip]="sellerHierarchyTooltip"
587
- placement="bottom auto"
588
- container="body"
589
- [autoClose]="true"
590
- triggers="manual"
591
- (hidden)="closeTooltip()"
592
- #info="ngbTooltip"
593
- tooltipClass="hierarchy-tooltip"
594
- (mouseenter)="bindTheValueToSellerGroupTooltip(ROW_DATA.sellerGroupHierarchy, info)">
595
- </i>
596
-
597
- <i *ngIf="subline.objectKey == 'displayBookedAverageRating' && gtGeneralConfig.component == 'RATING' && ROW_DATA['showRatingAverageIcon'] "
598
- class="mi mdi-info-outline seller-tooltip"
599
- placement="bottom auto"
600
- container="body"
601
- [autoClose]="true"
602
- (mouseenter)="setIsDifference(ROW_DATA.isDifferenceLessThan25Percent)"
603
- tooltipClass="posted-avg-tooltip"
604
- [ngbTooltip]="postedRatingDifference"
605
- >
606
- </i>
607
-
608
- <i *ngIf="subline.objectKey == 'displayBookedAverageImpression' && gtGeneralConfig.component == 'RATING' && ROW_DATA['showImpressionAverageIcon'] "
609
- class="mi mdi-info-outline seller-tooltip"
610
- placement="bottom auto"
611
- container="body"
612
- [autoClose]="true"
613
- (mouseenter)="setIsDifference(ROW_DATA.isDifferenceLessThan25Percent)"
614
- tooltipClass="posted-avg-tooltip"
615
- [ngbTooltip]="postedImpDifference"
616
- >
617
- </i>
618
-
619
- </ng-container>
620
- <ng-container *ngIf="subline.objectKey == 'description'">
621
- <p *ngIf="ROW_DATA.descriptionMessage || ROW_DATA.descriptionEmailReferenceNum">
622
- <ng-container *ngIf="ROW_DATA.descriptionMessage">
623
- {{ ROW_DATA.descriptionMessage }}
624
- <br />
625
- </ng-container>
626
- <ng-container *ngIf="ROW_DATA.descriptionEmailReferenceNum">
627
- Email Ref: {{ ROW_DATA.descriptionEmailReferenceNum }}
628
- <br />
629
- </ng-container>
630
- </p>
631
- <a
632
- href="{{ ROW_DATA.descriptionDetailsUrl }}"
633
- target="_blank"
634
- *ngIf="ROW_DATA.descriptionDetailsUrlType === 'PDF' || ROW_DATA.descriptionDetailsUrlType === 'EXCEL'"
635
- >
636
- <button class="btn viewDetailsAndEmailBtn">Download</button>
637
- </a>
638
- <ng-container *ngIf="ROW_DATA.activityname.toLowerCase() == 'order onboarded'">
639
- <a *ngIf="ROW_DATA.descriptionDetailsUrlType === 'LINK'" (click)="viewDetailsClicked(ROW_DATA)">
640
- <button class="btn viewDetailsAndEmailBtn order-onboarded">View details</button>
641
- </a>
642
- </ng-container>
643
-
644
- <a href="{{ ROW_DATA.descriptionEmailUrl }}" target="_blank" *ngIf="ROW_DATA.descriptionEmailUrl">
645
- <button class="btn viewDetailsAndEmailBtn">View email</button>
646
- </a>
647
- </ng-container>
648
- </ng-container>
649
- </ng-container>
650
-
651
- </div>
652
- </ng-container>
653
- <ng-container *ngIf="(isNoDataToDisplaySubject$ | async)">
654
- <div>
655
- {{null}}
656
- </div>
657
- </ng-container>
658
- </ng-container>
659
- </td>
660
- </ng-container>
661
- </ng-container>
662
- </table>
663
- </div>
664
- <anna-core-no-data-lib [width]="noDataWidth" [marginTop]="marginTop" *ngIf="(isNoDataToDisplaySubject$ | async)"> </anna-core-no-data-lib>
665
- </div>
666
-
667
- <!-- Checkbox template -->
668
- <ng-template #filterTooltip>
669
-
670
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
671
- <div [ngClass]="{'full-width': filterTabObjects.length == 1}" *ngFor="let data of filterTabObjects">
672
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
673
- </div>
674
- </div>
675
-
676
- <div class="checkbox-sort" *ngIf="showSortComponent">
677
- <anna-core-sort-lib [ngClass]="{'no-bottom-border': !showFilterComponent}"
678
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
679
- </div>
680
-
681
- <ng-container *ngIf="showFilterComponent">
682
- <p class="d-flex justify-content-between">
683
- <button class="filter-text-btn" [disabled]="disableClearAll" (click)="unCheckAllCheckbox()">Clear all</button>
684
- <button class="filter-text-btn" [disabled]="disableSelectAll" (click)="selectAllCheckbox()">Select all</button>
685
- </p>
686
- <p class="search-box">
687
- <i class="mi mdi-search search-icon search-icon-position"></i>
688
- <input
689
- type="text"
690
- placeholder="Search"
691
- class="search-input"
692
- style="margin-left: 2px; border: none; padding: 0px"
693
- [(ngModel)]="searchItem"
694
- (ngModelChange)="searchForTheItem($event)"
695
- />
696
- <i class="mdi mdi-close search-bar-close" [ngClass]="{'disable-close-icon': (!searchItem || searchItem.length == 0) }"
697
- (click)="clearSearchedItem()"></i>
698
-
699
- </p>
700
- <div style="position:relative">
701
- <!-- Track By func -->
702
- <cdk-virtual-scroll-viewport itemSize="18" [style.height.px]="heightOfCheckboxTooltipFilter" class="dropdown-data-container">
703
- <p *cdkVirtualFor="let option of tooltipOptions" class="input example-item" (click)="selectUnselectCheckbox(option)">
704
- <span *ngIf="option.isSelected" role="button" class="mi mdi-check-box check-box"></span>
705
- <span *ngIf="!option.isSelected" role="button" class="mi mdi-check-box-outline-blank check-box unchecked"></span>
706
- <span class="data" title="{{ option.value }}" [innerHTML]="option.label"></span>
707
- </p>
708
- </cdk-virtual-scroll-viewport>
709
- <div style="position: absolute; top:0; left:0; width:100%; height:100%; pointer-events:none"></div>
710
- </div>
711
- </ng-container>
712
-
713
- <div class="buttons-container">
714
- <button class="button" (click)="closeCheckboxFilter()">Cancel</button>
715
- <button
716
- class="button"
717
- [ngClass]="{ disabled: disableCheckboxApply }"
718
- (click)="applyFilters()"
719
- [disabled]="disableCheckboxApply"
720
- >
721
- Apply
722
- <span *ngIf="showFilterComponent">{{ selectedCheckboxOptionsCount == tooltipOptions.length && tooltipOptions.length != 0 && !searchItem? 'All ('+ selectedCheckboxOptionsCount + ')': '(' + selectedCheckboxOptionsCount + ')' }}</span>
723
- </button>
724
- </div>
725
- </ng-template>
726
-
727
- <!-- Slider template -->
728
- <ng-template #sliderToolTip>
729
-
730
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
731
- <div *ngFor="let data of filterTabObjects">
732
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
733
- </div>
734
- </div>
735
- <!-- <button class="column-clear-all align-center" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">
736
- Clear filter
737
- </button> -->
738
-
739
- <anna-core-sort-lib *ngIf="showSortComponent" [ngClass]="{'no-bottom-border': !showFilterComponent}"
740
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
741
-
742
- <ng-container *ngIf="showFilterComponent">
743
- <button class="column-clear-all" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">Clear filter</button>
744
- <section class="min-maxContainer">
745
- <input
746
- type="number"
747
- class="slider-text"
748
- step="{{ sliderFilterTextBoxStep }}"
749
- [(ngModel)]="sliderMinValue"
750
- (ngModelChange)="minValueChanged($event)"
751
- [ngClass]="{'red-border': showSliderMinValueError}"
752
- placeholder="Min"
753
- />
754
- <span>To</span>
755
- <input
756
- type="number"
757
- class="slider-text"
758
- step="{{ sliderFilterTextBoxStep }}"
759
- [(ngModel)]="sliderMaxValue"
760
- (ngModelChange)="maxValueChanged($event)"
761
- [ngClass]="{'red-border': showSliderMaxValueError}"
762
- placeholder="Max"
763
- />
764
- </section>
765
- <div class="sidebar-slider">
766
- <ngx-slider
767
- [ngClass]="{'show-min': sliderMinValue != options.floor, 'show-max': sliderMaxValue != options.ceil}"
768
- class="filter-slider"
769
- [value]="sliderMinValue"
770
- [highValue]="sliderMaxValue"
771
- [options]="options"
772
- ></ngx-slider>
773
- </div>
774
- </ng-container>
775
-
776
- <div class="buttons-container">
777
- <button class="button" (click)="cancelSliderFilter()">Cancel</button>
778
- <button
779
- class="button"
780
- [ngClass]="{ disabled: disableSliderApplyButton }"
781
- (click)="applySliderFilter()"
782
- [disabled]="disableSliderApplyButton"
783
- >
784
- Apply
785
- </button>
786
- </div>
787
- </ng-template>
788
-
789
- <!-- Date Picker Template -->
790
- <ng-template #datePickerTooltip>
791
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
792
- <div *ngFor="let data of filterTabObjects">
793
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
794
- </div>
795
- </div>
796
-
797
- <anna-core-sort-lib *ngIf="showSortComponent" [ngClass]="{'no-bottom-border': !showFilterComponent}"
798
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
799
-
800
- <ng-container *ngIf="showFilterComponent">
801
- <div class="datepicker-container">
802
- <button class="column-clear-all" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">
803
- Clear filter
804
- </button>
805
- <anna-core-calendar-filter-lib
806
- [minDate]="calendarMinEnabledDate"
807
- [maxDate]="calendarMaxEnabledDate"
808
- [selectedFromDate]="selectedMinDate"
809
- [selectedToDate]="selectedMaxDate"
810
- (selectedDate) = "calendarDateChanged($event)"
811
- [label]="selectedLabel"
812
- >
813
- </anna-core-calendar-filter-lib>
814
- </div>
815
- </ng-container>
816
-
817
- <div class="buttons-container">
818
- <button class="button" (click)="cancelInDateFilter()">Cancel</button>
819
- <button class="button" (click)="applyDateFilter()" [ngClass]="{ disabled: disableCalendarApplyBtn }"
820
- [disabled]="disableCalendarApplyBtn">Apply</button>
821
- </div>
822
-
823
- </ng-template>
824
-
825
- <!-- Week Picker Template -->
826
- <ng-template #weekPickerToolTip>
827
- <div class="weekpicker-container">
828
- <anna-core-week-calendar-filter-lib
829
- [week-calendar-config]="gtGeneralConfig.multiWeekPickerConfig"
830
- (apply)="applyWeekFilter($event)"
831
- [from-date]="calendarMinEnabledDate"
832
- [to-date]="calendarMaxEnabledDate"
833
- >
834
- </anna-core-week-calendar-filter-lib>
835
- </div>
836
- </ng-template>
837
-
838
- <!-- Time Filter Template -->
839
- <ng-template #timeFilterToolTip>
840
-
841
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
842
- <div *ngFor="let data of filterTabObjects">
843
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
844
- </div>
845
- </div>
846
-
847
- <anna-core-sort-lib *ngIf="showSortComponent" [ngClass]="{'no-bottom-border': !showFilterComponent}"
848
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
849
-
850
- <ng-container *ngIf="showFilterComponent">
851
- <button class="column-clear-all" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">Clear filter</button>
852
- <div
853
- class="time-filter-checkboxes"
854
- *ngIf="gtGeneralConfig.component == 'SPOTDETAILS' || gtGeneralConfig.component == 'EXCLUDEINVENTORYPOPUP' || gtGeneralConfig.component == 'RATING'"
855
- >
856
- <!-- Multi time option checkbox -->
857
- <div class="d-flex align-items-center" style="padding: 0.5rem 0 0.5rem 0.5rem" *ngIf="showMultiTimeCheckbox">
858
- <span
859
- *ngIf="multiTimeCheckboxChecked"
860
- class="material-icons custom-column-checkbox-checked"
861
- (click)="selectOrUnselectMultiTimeCheckbox()"
862
- >
863
- check_box
864
- </span>
865
- <span
866
- *ngIf="!multiTimeCheckboxChecked"
867
- class="material-icons custom-column-checkbox-unchecked"
868
- (click)="selectOrUnselectMultiTimeCheckbox()"
869
- >
870
- check_box_outline_blank
871
- </span>
872
- <p style="margin-left: 2px">Include Multi</p>
873
- </div>
874
- <!-- Zero time option checkbox -->
875
- <div class="d-flex align-items-center" style="padding: 0.5rem 0 0.5rem 0.5rem" *ngIf="showZeroTimeCheckbox">
876
- <span
877
- *ngIf="zeroTimeCheckboxChecked"
878
- class="material-icons custom-column-checkbox-checked"
879
- (click)="selectOrUnselectZeroTimeCheckbox()"
880
- >
881
- check_box
882
- </span>
883
- <span
884
- *ngIf="!zeroTimeCheckboxChecked"
885
- class="material-icons custom-column-checkbox-unchecked"
886
- (click)="selectOrUnselectZeroTimeCheckbox()"
887
- >
888
- check_box_outline_blank
889
- </span>
890
- <p style="margin-left: 2px">Include Zero</p>
891
- </div>
892
- <!-- Enter time range option checkbox -->
893
- <div class="d-flex align-items-center" style="padding: 0.5rem 0 0.5rem 0.5rem" *ngIf="showEnterTimeCheckbox">
894
- <span
895
- *ngIf="enterTimeCheckboxChecked"
896
- class="material-icons custom-column-checkbox-checked"
897
- (click)="selectOrUnselectEnterTimeCheckbox()"
898
- >
899
- check_box
900
- </span>
901
- <span
902
- *ngIf="!enterTimeCheckboxChecked"
903
- class="material-icons custom-column-checkbox-unchecked"
904
- (click)="selectOrUnselectEnterTimeCheckbox()"
905
- >
906
- check_box_outline_blank
907
- </span>
908
- <p style="margin-left: 2px">Enter time range</p>
909
- </div>
910
- </div>
911
- <div class="time-label-container">
912
- <label>From</label>
913
- </div>
914
- <div class="time-container">
915
- <input class="form-control numberInput" [ngClass]="{'error-border': startTimeHourErr}" [(ngModel)]="selectedFromTime[0]" type="text" (ngModelChange)="startTimeHourChange($event)" />
916
- <div class="arrow-container">
917
- <i class="mdi mdi-triangle upward" (click)="changeStartTimeHour(true)"></i>
918
- <i class="mdi mdi-triangle downward" (click)="changeStartTimeHour(false)"></i>
919
- </div>
920
- <span class="dot">:</span>
921
- <input class="form-control numberInput" [ngClass]="{'error-border': startTimeMinErr}" [(ngModel)]="selectedFromTime[1]" type="text" (ngModelChange)="startTimeMinChange($event)"/>
922
- <div class="arrow-container">
923
- <i class="mdi mdi-triangle upward" (click)="changeStartTimeMinute(true)"></i>
924
- <i class="mdi mdi-triangle downward" (click)="changeStartTimeMinute(false)"></i>
925
- </div>
926
- <div>
927
- <mat-button-toggle-group [(ngModel)]="selectedFromTime[2]" (ngModelChange)="disableTimeFilterApplyButton()">
928
- <mat-button-toggle value="AM">
929
- <span>AM</span>
930
- </mat-button-toggle>
931
- <mat-button-toggle value="PM">
932
- <span>PM</span>
933
- </mat-button-toggle>
934
- </mat-button-toggle-group>
935
- </div>
936
- </div>
937
-
938
- <div class="time-label-container">
939
- <label>To</label>
940
- </div>
941
- <div class="time-container">
942
- <input class="form-control numberInput" [(ngModel)]="selectedToTime[0]" [ngClass]="{'error-border': endTimeHourErr}" (ngModelChange)="endTimeHourChange($event)" type="text" />
943
- <div class="arrow-container">
944
- <i class="mdi mdi-triangle upward" (click)="changeEndTimeHour(true)"></i>
945
- <i class="mdi mdi-triangle downward" (click)="changeEndTimeHour(false)"></i>
946
- </div>
947
- <span class="dot">:</span>
948
- <input class="form-control numberInput" [ngClass]="{'error-border': endTimeMinErr}" [(ngModel)]="selectedToTime[1]" (ngModelChange)="endTimeMinChange($event)" type="text" />
949
- <div class="arrow-container">
950
- <i class="mdi mdi-triangle upward" (click)="changeEndTimeMinute(true)"></i>
951
- <i class="mdi mdi-triangle downward" (click)="changeEndTimeMinute(false)"></i>
952
- </div>
953
- <div>
954
- <mat-button-toggle-group [(ngModel)]="selectedToTime[2]" (ngModelChange)="disableTimeFilterApplyButton()">
955
- <mat-button-toggle value="AM">
956
- <span>AM</span>
957
- </mat-button-toggle>
958
- <mat-button-toggle value="PM">
959
- <span>PM</span>
960
- </mat-button-toggle>
961
- </mat-button-toggle-group>
962
- </div>
963
- </div>
964
- </ng-container>
965
-
966
- <div class="buttons-container">
967
- <button class="button" (click)="closeTimeFilter()">Cancel</button>
968
- <button
969
- class="button"
970
- [ngClass]="{ disabled: disableTimeFilterApplyBtn }"
971
- (click)="applyTimeFilters()"
972
- [disabled]="disableTimeFilterApplyBtn"
973
- >
974
- Apply
975
- </button>
976
- </div>
977
- </ng-template>
978
-
979
- <ng-template #columnInfoTooltip>
980
- <p style="padding: 0.5rem; color: black;white-space: nowrap;">This preemption is rejected and not marked for credit.</p>
981
- </ng-template>
982
-
983
- <ng-template #ratingInfoTooltip>
984
- <p class="first-row">Shows 'Booked Rating' for Preemptions & MakeGood Offered spot(s).</p>
985
- <p class="second-row">Shows 'Projected Rating' for ADU Offered spot(s).</p>
986
- </ng-template>
987
-
988
- <ng-template #impsInfoTooltip>
989
- <p class ="first-row" >Shows 'Booked IMPS' for Preemptions & MakeGood Offered spot(s).</p>
990
- <p class="second-row" >Shows 'Projected IMPS' for ADU Offered spot(s).</p>
991
- </ng-template>
992
-
993
- <ng-template #spotsColumnEquivalizationMessageTooltip>
994
- <p class="spot-column-tooltip-message" >This consists of equivalized spots and un-equivalized Paid Programs & un-equivalized Non-spots.</p>
995
- </ng-template>
996
-
997
- <ng-template #rateInfoTooltip>
998
- <p class ="first-row" >Shows 'Booked Rate' for Preemptions & MakeGood Offered spot(s).</p>
999
- <p class="second-row" >Shows 'Projected $ Value' for ADU Offered spot(s).</p>
1000
- </ng-template>
1001
-
1002
- <ng-template #sellerHierarchyTooltip>
1003
- <ng-container *ngIf="sellerGroupHierarchy.length > 0">
1004
- <section class = "hierarchy-table-container">
1005
- <table class="seller-hierarchy-table">
1006
- <thead>
1007
- <tr>
1008
- <th>#</th>
1009
- <th>Inventory Codes</th>
1010
- <th>Program/Description</th>
1011
- </tr>
1012
- </thead>
1013
- <tbody>
1014
- <tr *ngFor="let data of sellerGroupHierarchy; let tooltipIndex = index">
1015
- <td>{{ tooltipIndex + 1 }}</td>
1016
- <td>
1017
- <span>{{ data.InventoryCode }}</span>
1018
- </td>
1019
- <td>
1020
- <span>{{ data.Program }}</span>
1021
- </td>
1022
- </tr>
1023
- </tbody>
1024
- </table>
1025
- </section>
1026
- </ng-container>
1027
- <ng-container *ngIf="sellerGroupHierarchy.length == 0">
1028
- <span style="color: #000">Seller group not available for this inventory code</span>
1029
- </ng-container>
1030
- </ng-template>
1031
-
1032
- <ng-template #lurViolationInfoTooltip>
1033
- <p class ="first-row" >The values are for the entire week.</p>
1034
- </ng-template>
1035
-
1036
- <ng-template #postedRatingDifference>
1037
- <p class="difference-text">The difference between posted and booked average rating is {{isDifferenceLessThan25Percent ? 'less' : 'more'}} than 25%.</p>
1038
- </ng-template>
1039
-
1040
- <ng-template #postedImpDifference>
1041
- <p class="difference-text">The difference between posted and booked average impression is {{isDifferenceLessThan25Percent ? 'less' : 'more'}} than 25%.</p>
1042
- </ng-template>
1043
-
1044
- <ng-template #ongoingRevBookedColumnTooltip>
1045
- <p>The Booked $ value, Spots, GRP, CPP, IMPS, CPM corresponds on the last permanent revision generated</p>
1046
- </ng-template>
1047
-
1048
- <ng-template #completedRevBookedColumnTooltip>
1049
- <p>The Booked $ value corresponds on the last permanent revision generated</p>
1050
- </ng-template>
1051
-
1052
- <ng-template #circularProgressBar>
1053
- <circle-progress
1054
- [percent]="percentDone"
1055
- [radius]="5"
1056
- [showTitle]="false"
1057
- [showUnits]="false"
1058
- [showSubtitle]="false"
1059
- [outerStrokeWidth]="3"
1060
- [innerStrokeWidth]="3"
1061
- [space]="-3"
1062
- [outerStrokeColor]="'#268bff'"
1063
- [innerStrokeColor]="'#d5d5d5'"
1064
- [animationDuration]="10"
1065
- ></circle-progress>
1066
- </ng-template>
1067
-
1068
- <ng-template #userLoggedInDetails>
1069
- <div class="user-action-tooltip-container">
1070
- {{
1071
- userActionTableMetaData.status === UserActivationStatus.activationEmailSent ?
1072
- 'Email sent at: ':
1073
- 'Last email resent at: '
1074
- }}
1075
- <b> {{ userActionTableMetaData.lastEmailResentAt }} </b> |
1076
-
1077
- Password valid until:
1078
- <b> {{ userActionTableMetaData.passwordValidity }} </b>
1079
- </div>
1080
- </ng-template>