@annalib/anna-core 4.2.5 → 4.2.7

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 (147) 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 +34 -0
  11. package/esm2020/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.mjs +27 -0
  12. package/esm2020/lib/anna-core-shared-lib/models/anna-generic-data-type.model.mjs +2 -0
  13. package/esm2020/lib/anna-core-shared-lib/models/anna-global-dropdown-config.model.mjs +2 -0
  14. package/esm2020/lib/anna-core-shared-lib/models/anna-non-editable-gt-models.mjs +3 -0
  15. package/esm2020/lib/anna-core-shared-lib/models/anna-sort.model.mjs +2 -0
  16. package/esm2020/lib/anna-core-shared-lib/models/anna-tooltip.model.mjs +30 -0
  17. package/esm2020/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.mjs +26 -0
  18. package/esm2020/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.mjs +46 -0
  19. package/esm2020/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.mjs +25 -0
  20. package/esm2020/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.mjs +16 -0
  21. package/esm2020/lib/anna-core-shared-lib/services/anna-date-time-format.service.mjs +196 -0
  22. package/esm2020/lib/anna-core-shared-lib/services/anna-filter.service.mjs +440 -0
  23. package/esm2020/lib/anna-core-shared-lib/services/anna-generic-table.service.mjs +48 -0
  24. package/esm2020/lib/anna-core-shared-lib/services/anna-global-config.service.mjs +133 -0
  25. package/esm2020/lib/anna-core-shared-lib/services/anna-sort.service.mjs +147 -0
  26. package/esm2020/lib/anna-core.module.mjs +175 -0
  27. package/esm2020/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.mjs +100 -0
  28. package/esm2020/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.mjs +362 -0
  29. package/esm2020/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.mjs +1728 -0
  30. package/esm2020/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.mjs +67 -0
  31. package/esm2020/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.mjs +357 -0
  32. 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
  33. package/esm2020/lib/anna-generic-table-lib/directives/anna-fixed-row-size-table-virtual-scroll-strategy/index.mjs +2 -0
  34. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.mjs +178 -0
  35. package/esm2020/lib/anna-generic-table-lib/directives/anna-virtual-table/index.mjs +2 -0
  36. package/esm2020/public-api.mjs +47 -0
  37. package/fesm2015/annalib-anna-core.mjs +4320 -0
  38. package/fesm2015/annalib-anna-core.mjs.map +1 -0
  39. package/fesm2020/annalib-anna-core.mjs +4317 -0
  40. package/fesm2020/annalib-anna-core.mjs.map +1 -0
  41. package/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.d.ts +8 -0
  42. package/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.d.ts +16 -0
  43. package/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.d.ts +8 -0
  44. package/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.d.ts +11 -0
  45. package/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.d.ts +8 -0
  46. package/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.d.ts +11 -0
  47. package/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.d.ts +8 -0
  48. package/lib/anna-core-shared-lib/constants/shared.constant.d.ts +32 -0
  49. package/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.d.ts +9 -0
  50. package/lib/anna-core-shared-lib/models/anna-generic-data-type.model.d.ts +16 -0
  51. 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
  52. 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 -27
  53. package/lib/anna-core-shared-lib/models/anna-sort.model.d.ts +6 -0
  54. package/lib/anna-core-shared-lib/models/anna-tooltip.model.d.ts +25 -0
  55. package/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.d.ts +9 -0
  56. package/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.d.ts +9 -0
  57. package/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.d.ts +9 -0
  58. package/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.d.ts +7 -0
  59. package/lib/anna-core-shared-lib/services/anna-date-time-format.service.d.ts +27 -0
  60. package/lib/anna-core-shared-lib/services/anna-filter.service.d.ts +73 -0
  61. package/lib/anna-core-shared-lib/services/anna-generic-table.service.d.ts +14 -0
  62. package/lib/anna-core-shared-lib/services/anna-global-config.service.d.ts +21 -0
  63. package/lib/anna-core-shared-lib/services/anna-sort.service.d.ts +16 -0
  64. package/lib/anna-core.module.d.ts +35 -0
  65. package/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.d.ts +34 -0
  66. package/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.d.ts +70 -0
  67. package/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.d.ts +271 -0
  68. package/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.d.ts +17 -0
  69. package/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.d.ts +141 -0
  70. 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
  71. 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
  72. package/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.d.ts +45 -0
  73. 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
  74. package/package.json +38 -18
  75. package/{src/public-api.ts → public-api.d.ts} +0 -28
  76. package/.browserslistrc +0 -16
  77. package/karma.conf.js +0 -44
  78. package/ng-package.json +0 -14
  79. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.html +0 -22
  80. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.scss +0 -0
  81. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.spec.ts +0 -25
  82. package/src/lib/anna-core-shared-lib/components/anna-buyer-approval-icon-template/anna-buyer-approval-icon-template.component.ts +0 -16
  83. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.html +0 -33
  84. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.scss +0 -0
  85. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.spec.ts +0 -25
  86. package/src/lib/anna-core-shared-lib/components/anna-icon-column/anna-icon-column.component.ts +0 -28
  87. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.html +0 -20
  88. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.scss +0 -0
  89. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.spec.ts +0 -25
  90. package/src/lib/anna-core-shared-lib/components/anna-live-icon-template/anna-live-icon-template.component.ts +0 -16
  91. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.html +0 -3
  92. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.scss +0 -17
  93. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.spec.ts +0 -24
  94. package/src/lib/anna-core-shared-lib/components/anna-no-data/anna-no-data.component.ts +0 -20
  95. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.html +0 -23
  96. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.scss +0 -0
  97. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.spec.ts +0 -25
  98. package/src/lib/anna-core-shared-lib/components/anna-notify-icon-template/anna-notify-icon-template.component.ts +0 -16
  99. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.html +0 -15
  100. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.scss +0 -0
  101. 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
  102. package/src/lib/anna-core-shared-lib/components/anna-pay-for-performance-icon-template/anna-pay-for-performance-icon-template.component.ts +0 -19
  103. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.html +0 -14
  104. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.scss +0 -0
  105. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.spec.ts +0 -25
  106. package/src/lib/anna-core-shared-lib/components/anna-rejected-icon-template/anna-rejected-icon-template.component.ts +0 -16
  107. package/src/lib/anna-core-shared-lib/constants/shared.constant.ts +0 -34
  108. package/src/lib/anna-core-shared-lib/directives/show-ellipsis-text/show-ellipsis-text.directive.ts +0 -19
  109. package/src/lib/anna-core-shared-lib/models/anna-generic-data-type.model.ts +0 -19
  110. package/src/lib/anna-core-shared-lib/models/anna-sort.model.ts +0 -7
  111. package/src/lib/anna-core-shared-lib/models/anna-tooltip.model.ts +0 -44
  112. package/src/lib/anna-core-shared-lib/pipes/annaConvertZeroOrNullOrUndefined.pipe.ts +0 -20
  113. package/src/lib/anna-core-shared-lib/pipes/annaFilterSearchedText.pipe.ts +0 -43
  114. package/src/lib/anna-core-shared-lib/pipes/annaReplaceChar.pipe.ts +0 -19
  115. package/src/lib/anna-core-shared-lib/pipes/annaTypeOfData.pipe.ts +0 -12
  116. package/src/lib/anna-core-shared-lib/services/anna-date-time-format.service.ts +0 -216
  117. package/src/lib/anna-core-shared-lib/services/anna-filter.service.ts +0 -514
  118. package/src/lib/anna-core-shared-lib/services/anna-generic-table.service.ts +0 -44
  119. package/src/lib/anna-core-shared-lib/services/anna-global-config.service.ts +0 -170
  120. package/src/lib/anna-core-shared-lib/services/anna-sort.service.ts +0 -179
  121. package/src/lib/anna-core.module.ts +0 -110
  122. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.html +0 -46
  123. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.scss +0 -153
  124. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.spec.ts +0 -24
  125. package/src/lib/anna-dropdown-lib/components/anna-calendar-filter/anna-calendar-filter.component.ts +0 -106
  126. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.html +0 -129
  127. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.scss +0 -275
  128. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.spec.ts +0 -24
  129. package/src/lib/anna-dropdown-lib/components/anna-week-calendar-filter/anna-week-calendar-filter.component.ts +0 -412
  130. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.html +0 -926
  131. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.scss +0 -628
  132. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.spec.ts +0 -25
  133. package/src/lib/anna-generic-table-lib/components/anna-non-editable-generic-table/anna-non-editable-generic-table.component.ts +0 -2064
  134. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.html +0 -10
  135. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.scss +0 -1
  136. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.spec.ts +0 -24
  137. package/src/lib/anna-generic-table-lib/components/anna-sort/anna-sort.component.ts +0 -70
  138. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.html +0 -13
  139. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.scss +0 -88
  140. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.spec.ts +0 -25
  141. package/src/lib/anna-generic-table-lib/components/anna-table-virtual-scroll-viewport/anna-table-virtual-scroll-viewport.component.ts +0 -460
  142. 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
  143. package/src/lib/anna-generic-table-lib/directives/anna-virtual-table/anna-virtual-table.directive.ts +0 -204
  144. package/src/test.ts +0 -27
  145. package/tsconfig.lib.json +0 -19
  146. package/tsconfig.lib.prod.json +0 -10
  147. package/tsconfig.spec.json +0 -17
@@ -1,926 +0,0 @@
1
- <div class="table-container {{gtGeneralConfig.tableOuterContainerName}}" [ngClass]="{ 'scroll-left-shadow-effect': isScrolledLeft }" (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 && !(annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys])
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 && !(annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys])
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 && !(annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys])
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 && !(annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys])
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 && !(annaFilterService.isFilterSortActive && annaFilterService.isFilterSortActive[header.joinedFilterSortObjectKeys])
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)"></i>
376
- <ng-container *ngIf="starredInProgress && ROW_DATA.orderId == selectedStarredOrderId">
377
- <div class="spinner-for-button-directive"></div>
378
- <!-- <ng-container [ngTemplateOutlet]="circularProgressBar"></ng-container> -->
379
- </ng-container>
380
- </ng-container>
381
-
382
- <ng-container *ngSwitchCase="'SVG_ICON'">
383
- <anna-core-anna-icon-column [componentName]="gtGeneralConfig.component" [objectKey]="subline.objectKey" [dataObject]="ROW_DATA" (onColumnIconClicked)="svgIconClicked($event)"></anna-core-anna-icon-column>
384
- </ng-container>
385
-
386
- <ng-container *ngSwitchCase="'TEXT_ACTIONS'">
387
- <button *ngFor="let text of ROW_DATA.textActions" (click)="textActionClicked(ROW_DATA,text.id)" [disabled]="text.isDisabled" class="{{text.class}}">{{text.name}}</button>
388
- </ng-container>
389
-
390
- <ng-container *ngSwitchCase="'CHECKBOX'">
391
- <span
392
- *ngIf="ROW_DATA[columnDef.headerInfo[subLineIndex].objectKey]"
393
- [ngClass]="{
394
- 'disable-checkbox': ROW_DATA[columnDef.headerInfo[subLineIndex].isDisabledKey]
395
- }"
396
- class="material-icons custom-column-checkbox-checked"
397
- (click)="
398
- selectOrUnselectCheckbox(
399
- ROW_DATA,
400
- columnDef.headerInfo[subLineIndex].objectKey,
401
- false
402
- )
403
- "
404
- >
405
- check_box
406
- </span>
407
- <span
408
- *ngIf="!ROW_DATA[columnDef.headerInfo[subLineIndex].objectKey]"
409
- class="material-icons custom-column-checkbox-unchecked"
410
- [ngClass]="{
411
- 'disable-checkbox': ROW_DATA[columnDef.headerInfo[subLineIndex].isDisabledKey]
412
- }"
413
- (click)="
414
- selectOrUnselectCheckbox(
415
- ROW_DATA,
416
- columnDef.headerInfo[subLineIndex].objectKey,
417
- true
418
- )
419
- "
420
- >
421
- check_box_outline_blank
422
- </span>
423
- </ng-container>
424
-
425
- <ng-container *ngSwitchCase="'CLICKABLE_DATA'">
426
- <span
427
- *ngIf="subline.objectKey == 'displayBookedUnits' && gtGeneralConfig.component == 'RATING'"
428
- class="clickable-data"
429
- (click)="spotDetailsDownloadClicked('DATAROW', ROW_DATA)"
430
- [ngClass]="{ 'disabled-clickable-data': downloadInProgress }"
431
- >{{ ROW_DATA.displayBookedUnits}}
432
- <span class="material-icons spot-details-download-icons">get_app</span>
433
- <ng-container *ngIf="downloadInProgress
434
- && ROW_DATA.inventoryCodeId == selectedInventoryIdForDownload
435
- && ROW_DATA.demographic == selectedDemographicForDownload ">
436
- <ng-container [ngTemplateOutlet]="circularProgressBar"></ng-container>
437
- </ng-container>
438
- </span>
439
- </ng-container>
440
-
441
- <ng-container *ngSwitchDefault>
442
- <ng-container *ngIf="subline.objectKey != 'description'">
443
- <span>{{ ROW_DATA[columnDef.headerInfo[subLineIndex].objectKey] }}</span>
444
- <i
445
- *ngIf="subline.objectKey == 'inventoryCode' && ROW_DATA['isSellerGroup'] && gtGeneralConfig.component == 'RATING' "
446
- class="mi mdi-info-outline seller-tooltip"
447
- [ngbTooltip]="sellerHierarchyTooltip"
448
- placement="bottom auto"
449
- container="body"
450
- [autoClose]="true"
451
- triggers="manual"
452
- (hidden)="closeTooltip()"
453
- #info="ngbTooltip"
454
- tooltipClass="hierarchy-tooltip"
455
- (mouseenter)="bindTheValueToSellerGroupTooltip(ROW_DATA.sellerGroupHierarchy, info)">
456
- </i>
457
-
458
- <i *ngIf="subline.objectKey == 'displayBookedAverageRating' && gtGeneralConfig.component == 'RATING' && ROW_DATA['showRatingAverageIcon'] "
459
- class="mi mdi-info-outline seller-tooltip"
460
- placement="bottom auto"
461
- container="body"
462
- [autoClose]="true"
463
- (mouseenter)="setIsDifference(ROW_DATA.isDifferenceLessThan25Percent)"
464
- tooltipClass="posted-avg-tooltip"
465
- [ngbTooltip]="postedRatingDifference"
466
- >
467
- </i>
468
-
469
- <i *ngIf="subline.objectKey == 'displayBookedAverageImpression' && gtGeneralConfig.component == 'RATING' && ROW_DATA['showImpressionAverageIcon'] "
470
- class="mi mdi-info-outline seller-tooltip"
471
- placement="bottom auto"
472
- container="body"
473
- [autoClose]="true"
474
- (mouseenter)="setIsDifference(ROW_DATA.isDifferenceLessThan25Percent)"
475
- tooltipClass="posted-avg-tooltip"
476
- [ngbTooltip]="postedImpDifference"
477
- >
478
- </i>
479
-
480
- </ng-container>
481
- <ng-container *ngIf="subline.objectKey == 'description'">
482
- <p *ngIf="ROW_DATA.descriptionMessage || ROW_DATA.descriptionEmailReferenceNum">
483
- <ng-container *ngIf="ROW_DATA.descriptionMessage">
484
- {{ ROW_DATA.descriptionMessage }}
485
- <br />
486
- </ng-container>
487
- <ng-container *ngIf="ROW_DATA.descriptionEmailReferenceNum">
488
- Email Ref: {{ ROW_DATA.descriptionEmailReferenceNum }}
489
- <br />
490
- </ng-container>
491
- </p>
492
- <a
493
- href="{{ ROW_DATA.descriptionDetailsUrl }}"
494
- target="_blank"
495
- *ngIf="ROW_DATA.descriptionDetailsUrlType === 'PDF' || ROW_DATA.descriptionDetailsUrlType === 'EXCEL'"
496
- >
497
- <button class="btn viewDetailsAndEmailBtn">Download</button>
498
- </a>
499
- <ng-container *ngIf="ROW_DATA.activityname.toLowerCase() == 'order onboarded'">
500
- <a *ngIf="ROW_DATA.descriptionDetailsUrlType === 'LINK'" (click)="viewDetailsClicked(ROW_DATA)">
501
- <button class="btn viewDetailsAndEmailBtn order-onboarded">View details</button>
502
- </a>
503
- </ng-container>
504
-
505
- <a href="{{ ROW_DATA.descriptionEmailUrl }}" target="_blank" *ngIf="ROW_DATA.descriptionEmailUrl">
506
- <button class="btn viewDetailsAndEmailBtn">View email</button>
507
- </a>
508
- </ng-container>
509
- </ng-container>
510
- </ng-container>
511
-
512
- </div>
513
- </ng-container>
514
- <ng-container *ngIf="(isNoDataToDisplaySubject$ | async)">
515
- <div>
516
- {{null}}
517
- </div>
518
- </ng-container>
519
- </ng-container>
520
- </td>
521
- </ng-container>
522
- </ng-container>
523
- </table>
524
- </div>
525
- <anna-core-no-data-lib [width]="noDataWidth" [marginTop]="marginTop" *ngIf="(isNoDataToDisplaySubject$ | async)"> </anna-core-no-data-lib>
526
- </div>
527
-
528
- <!-- Checkbox template -->
529
- <ng-template #filterTooltip>
530
-
531
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
532
- <div [ngClass]="{'full-width': filterTabObjects.length == 1}" *ngFor="let data of filterTabObjects">
533
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
534
- </div>
535
- </div>
536
-
537
- <div class="checkbox-sort" *ngIf="showSortComponent">
538
- <anna-core-sort-lib [ngClass]="{'no-bottom-border': !showFilterComponent}"
539
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
540
- </div>
541
-
542
- <ng-container *ngIf="showFilterComponent">
543
- <p class="d-flex justify-content-between">
544
- <button class="filter-text-btn" [disabled]="disableClearAll" (click)="unCheckAllCheckbox()">Clear all</button>
545
- <button class="filter-text-btn" [disabled]="disableSelectAll" (click)="selectAllCheckbox()">Select all</button>
546
- </p>
547
- <p class="search-box">
548
- <i class="mi mdi-search search-icon search-icon-position"></i>
549
- <input
550
- type="text"
551
- placeholder="Search"
552
- class="search-input"
553
- style="margin-left: 2px; border: none; padding: 0px"
554
- [(ngModel)]="searchItem"
555
- (ngModelChange)="searchForTheItem($event)"
556
- />
557
- <i class="mdi mdi-close search-bar-close" [ngClass]="{'disable-close-icon': (!searchItem || searchItem.length == 0) }"
558
- (click)="clearSearchedItem()"></i>
559
-
560
- </p>
561
- <div style="position:relative">
562
- <!-- Track By func -->
563
- <cdk-virtual-scroll-viewport itemSize="18" [style.height.px]="heightOfCheckboxTooltipFilter" class="dropdown-data-container">
564
- <p *cdkVirtualFor="let option of tooltipOptions" class="input example-item" (click)="selectUnselectCheckbox(option)">
565
- <span *ngIf="option.isSelected" role="button" class="mi mdi-check-box check-box"></span>
566
- <span *ngIf="!option.isSelected" role="button" class="mi mdi-check-box-outline-blank check-box unchecked"></span>
567
- <span class="data" title="{{ option.value }}" [innerHTML]="option.label"></span>
568
- </p>
569
- </cdk-virtual-scroll-viewport>
570
- <div style="position: absolute; top:0; left:0; width:100%; height:100%; pointer-events:none"></div>
571
- </div>
572
- </ng-container>
573
-
574
- <div class="buttons-container">
575
- <button class="button" (click)="closeCheckboxFilter()">Cancel</button>
576
- <button
577
- class="button"
578
- [ngClass]="{ disabled: disableCheckboxApply }"
579
- (click)="applyFilters()"
580
- [disabled]="disableCheckboxApply"
581
- >
582
- Apply
583
- <span *ngIf="showFilterComponent">({{ selectedCheckboxOptionsCount == tooltipOptions.length && tooltipOptions.length != 0 && !searchItem? 'All': selectedCheckboxOptionsCount }})</span>
584
- </button>
585
- </div>
586
- </ng-template>
587
-
588
- <!-- Slider template -->
589
- <ng-template #sliderToolTip>
590
-
591
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
592
- <div *ngFor="let data of filterTabObjects">
593
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
594
- </div>
595
- </div>
596
- <!-- <button class="column-clear-all align-center" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">
597
- Clear filter
598
- </button> -->
599
-
600
- <anna-core-sort-lib *ngIf="showSortComponent" [ngClass]="{'no-bottom-border': !showFilterComponent}"
601
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
602
-
603
- <ng-container *ngIf="showFilterComponent">
604
- <button class="column-clear-all" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">Clear filter</button>
605
- <section class="min-maxContainer">
606
- <input
607
- type="number"
608
- class="slider-text"
609
- step="{{ sliderFilterTextBoxStep }}"
610
- [(ngModel)]="sliderMinValue"
611
- (ngModelChange)="minValueChanged($event)"
612
- [ngClass]="{'red-border': showSliderMinValueError}"
613
- placeholder="Min"
614
- />
615
- <span>To</span>
616
- <input
617
- type="number"
618
- class="slider-text"
619
- step="{{ sliderFilterTextBoxStep }}"
620
- [(ngModel)]="sliderMaxValue"
621
- (ngModelChange)="maxValueChanged($event)"
622
- [ngClass]="{'red-border': showSliderMaxValueError}"
623
- placeholder="Max"
624
- />
625
- </section>
626
- <div class="sidebar-slider">
627
- <ngx-slider
628
- class="filter-slider"
629
- [value]="sliderMinValue"
630
- [highValue]="sliderMaxValue"
631
- [options]="options"
632
- ></ngx-slider>
633
- </div>
634
- </ng-container>
635
-
636
- <div class="buttons-container">
637
- <button class="button" (click)="cancelSliderFilter()">Cancel</button>
638
- <button
639
- class="button"
640
- [ngClass]="{ disabled: disableSliderApplyButton }"
641
- (click)="applySliderFilter()"
642
- [disabled]="disableSliderApplyButton"
643
- >
644
- Apply
645
- </button>
646
- </div>
647
- </ng-template>
648
-
649
- <!-- Date Picker Template -->
650
- <ng-template #datePickerTooltip>
651
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
652
- <div *ngFor="let data of filterTabObjects">
653
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
654
- </div>
655
- </div>
656
-
657
- <anna-core-sort-lib *ngIf="showSortComponent" [ngClass]="{'no-bottom-border': !showFilterComponent}"
658
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
659
-
660
- <ng-container *ngIf="showFilterComponent">
661
- <div class="datepicker-container">
662
- <button class="column-clear-all" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">
663
- Clear filter
664
- </button>
665
- <anna-core-calendar-filter-lib
666
- [minDate]="calendarMinEnabledDate"
667
- [maxDate]="calendarMaxEnabledDate"
668
- [selectedFromDate]="selectedMinDate"
669
- [selectedToDate]="selectedMaxDate"
670
- (selectedDate) = "calendarDateChanged($event)"
671
- [label]="selectedLabel"
672
- >
673
- </anna-core-calendar-filter-lib>
674
- </div>
675
- </ng-container>
676
-
677
- <div class="buttons-container">
678
- <button class="button" (click)="cancelInDateFilter()">Cancel</button>
679
- <button class="button" (click)="applyDateFilter()" [ngClass]="{ disabled: disableCalendarApplyBtn }"
680
- [disabled]="disableCalendarApplyBtn">Apply</button>
681
- </div>
682
-
683
- </ng-template>
684
-
685
- <!-- Week Picker Template -->
686
- <ng-template #weekPickerToolTip>
687
- <div class="weekpicker-container">
688
- <anna-core-week-calendar-filter-lib
689
- [week-calendar-config]="gtGeneralConfig.multiWeekPickerConfig"
690
- (apply)="applyWeekFilter($event)"
691
- [from-date]="calendarMinEnabledDate"
692
- [to-date]="calendarMaxEnabledDate"
693
- >
694
- </anna-core-week-calendar-filter-lib>
695
- </div>
696
- </ng-template>
697
-
698
- <!-- Time Filter Template -->
699
- <ng-template #timeFilterToolTip>
700
-
701
- <div class="radio-container" *ngIf="showFilterTooltipTabs">
702
- <div *ngFor="let data of filterTabObjects">
703
- <p class="filter-tab" [title]="data.label" (click)="populateTooltipDataBasedOnSelectedRadio(data)" [ngClass]="{'active': annaFilterService.selectedRadio == data.key}" *ngIf="filterTabObjects.length > 0">{{ data.label }}</p>
704
- </div>
705
- </div>
706
-
707
- <anna-core-sort-lib *ngIf="showSortComponent" [ngClass]="{'no-bottom-border': !showFilterComponent}"
708
- (sortOptionClicked)="storeSortTypeInTempVariable($event)" [sortObjectKey]="annaFilterService.selectedRadio"></anna-core-sort-lib>
709
-
710
- <ng-container *ngIf="showFilterComponent">
711
- <button class="column-clear-all" [disabled]="disableColumnClearAllBtn" (click)="clearColumnFilter()">Clear filter</button>
712
- <div
713
- class="time-filter-checkboxes"
714
- *ngIf="gtGeneralConfig.component == 'SPOTDETAILS' || gtGeneralConfig.component == 'EXCLUDEINVENTORYPOPUP' || gtGeneralConfig.component == 'RATING'"
715
- >
716
- <!-- Multi time option checkbox -->
717
- <div class="d-flex align-items-center" style="padding: 0.5rem 0 0.5rem 0.5rem" *ngIf="showMultiTimeCheckbox">
718
- <span
719
- *ngIf="multiTimeCheckboxChecked"
720
- class="material-icons custom-column-checkbox-checked"
721
- (click)="selectOrUnselectMultiTimeCheckbox()"
722
- >
723
- check_box
724
- </span>
725
- <span
726
- *ngIf="!multiTimeCheckboxChecked"
727
- class="material-icons custom-column-checkbox-unchecked"
728
- (click)="selectOrUnselectMultiTimeCheckbox()"
729
- >
730
- check_box_outline_blank
731
- </span>
732
- <p style="margin-left: 2px">Include Multi</p>
733
- </div>
734
- <!-- Zero time option checkbox -->
735
- <div class="d-flex align-items-center" style="padding: 0.5rem 0 0.5rem 0.5rem" *ngIf="showZeroTimeCheckbox">
736
- <span
737
- *ngIf="zeroTimeCheckboxChecked"
738
- class="material-icons custom-column-checkbox-checked"
739
- (click)="selectOrUnselectZeroTimeCheckbox()"
740
- >
741
- check_box
742
- </span>
743
- <span
744
- *ngIf="!zeroTimeCheckboxChecked"
745
- class="material-icons custom-column-checkbox-unchecked"
746
- (click)="selectOrUnselectZeroTimeCheckbox()"
747
- >
748
- check_box_outline_blank
749
- </span>
750
- <p style="margin-left: 2px">Include Zero</p>
751
- </div>
752
- <!-- Enter time range option checkbox -->
753
- <div class="d-flex align-items-center" style="padding: 0.5rem 0 0.5rem 0.5rem" *ngIf="showEnterTimeCheckbox">
754
- <span
755
- *ngIf="enterTimeCheckboxChecked"
756
- class="material-icons custom-column-checkbox-checked"
757
- (click)="selectOrUnselectEnterTimeCheckbox()"
758
- >
759
- check_box
760
- </span>
761
- <span
762
- *ngIf="!enterTimeCheckboxChecked"
763
- class="material-icons custom-column-checkbox-unchecked"
764
- (click)="selectOrUnselectEnterTimeCheckbox()"
765
- >
766
- check_box_outline_blank
767
- </span>
768
- <p style="margin-left: 2px">Enter time range</p>
769
- </div>
770
- </div>
771
- <div class="time-label-container">
772
- <label>From</label>
773
- </div>
774
- <div class="time-container">
775
- <input class="form-control numberInput" [ngClass]="{'error-border': startTimeHourErr}" [(ngModel)]="selectedFromTime[0]" type="text" (ngModelChange)="startTimeHourChange($event)" />
776
- <div class="arrow-container">
777
- <i class="mdi mdi-triangle upward" (click)="changeStartTimeHour(true)"></i>
778
- <i class="mdi mdi-triangle downward" (click)="changeStartTimeHour(false)"></i>
779
- </div>
780
- <span class="dot">:</span>
781
- <input class="form-control numberInput" [ngClass]="{'error-border': startTimeMinErr}" [(ngModel)]="selectedFromTime[1]" type="text" (ngModelChange)="startTimeMinChange($event)"/>
782
- <div class="arrow-container">
783
- <i class="mdi mdi-triangle upward" (click)="changeStartTimeMinute(true)"></i>
784
- <i class="mdi mdi-triangle downward" (click)="changeStartTimeMinute(false)"></i>
785
- </div>
786
- <div>
787
- <mat-button-toggle-group [(ngModel)]="selectedFromTime[2]" (ngModelChange)="disableTimeFilterApplyButton()">
788
- <mat-button-toggle value="AM">
789
- <span>AM</span>
790
- </mat-button-toggle>
791
- <mat-button-toggle value="PM">
792
- <span>PM</span>
793
- </mat-button-toggle>
794
- </mat-button-toggle-group>
795
- </div>
796
- </div>
797
-
798
- <div class="time-label-container">
799
- <label>To</label>
800
- </div>
801
- <div class="time-container">
802
- <input class="form-control numberInput" [(ngModel)]="selectedToTime[0]" [ngClass]="{'error-border': endTimeHourErr}" (ngModelChange)="endTimeHourChange($event)" type="text" />
803
- <div class="arrow-container">
804
- <i class="mdi mdi-triangle upward" (click)="changeEndTimeHour(true)"></i>
805
- <i class="mdi mdi-triangle downward" (click)="changeEndTimeHour(false)"></i>
806
- </div>
807
- <span class="dot">:</span>
808
- <input class="form-control numberInput" [ngClass]="{'error-border': endTimeMinErr}" [(ngModel)]="selectedToTime[1]" (ngModelChange)="endTimeMinChange($event)" type="text" />
809
- <div class="arrow-container">
810
- <i class="mdi mdi-triangle upward" (click)="changeEndTimeMinute(true)"></i>
811
- <i class="mdi mdi-triangle downward" (click)="changeEndTimeMinute(false)"></i>
812
- </div>
813
- <div>
814
- <mat-button-toggle-group [(ngModel)]="selectedToTime[2]" (ngModelChange)="disableTimeFilterApplyButton()">
815
- <mat-button-toggle value="AM">
816
- <span>AM</span>
817
- </mat-button-toggle>
818
- <mat-button-toggle value="PM">
819
- <span>PM</span>
820
- </mat-button-toggle>
821
- </mat-button-toggle-group>
822
- </div>
823
- </div>
824
- </ng-container>
825
-
826
- <div class="buttons-container">
827
- <button class="button" (click)="closeTimeFilter()">Cancel</button>
828
- <button
829
- class="button"
830
- [ngClass]="{ disabled: disableTimeFilterApplyBtn }"
831
- (click)="applyTimeFilters()"
832
- [disabled]="disableTimeFilterApplyBtn"
833
- >
834
- Apply
835
- </button>
836
- </div>
837
- </ng-template>
838
-
839
- <ng-template #columnInfoTooltip>
840
- <p style="padding: 0.5rem; color: black;white-space: nowrap;">This preemption is rejected and not marked for credit.</p>
841
- </ng-template>
842
-
843
- <ng-template #ratingInfoTooltip>
844
- <p class="first-row">Shows 'Booked Rating' for Preemptions & MakeGood Offered spot(s).</p>
845
- <p class="second-row">Shows 'Projected Rating' for ADU Offered spot(s).</p>
846
- </ng-template>
847
-
848
- <ng-template #impsInfoTooltip>
849
- <p class ="first-row" >Shows 'Booked IMPS' for Preemptions & MakeGood Offered spot(s).</p>
850
- <p class="second-row" >Shows 'Projected IMPS' for ADU Offered spot(s).</p>
851
- </ng-template>
852
-
853
- <ng-template #spotsColumnEquivalizationMessageTooltip>
854
- <p class="spot-column-tooltip-message" >This consists of equivalized spots and un-equivalized Paid Programs & un-equivalized Non-spots.</p>
855
- </ng-template>
856
-
857
- <ng-template #rateInfoTooltip>
858
- <p class ="first-row" >Shows 'Booked Rate' for Preemptions & MakeGood Offered spot(s).</p>
859
- <p class="second-row" >Shows 'Projected $ Value' for ADU Offered spot(s).</p>
860
- </ng-template>
861
-
862
- <ng-template #sellerHierarchyTooltip>
863
- <ng-container *ngIf="sellerGroupHierarchy.length > 0">
864
- <section class = "hierarchy-table-container">
865
- <table class="seller-hierarchy-table">
866
- <thead>
867
- <tr>
868
- <th>#</th>
869
- <th>Inventory Codes</th>
870
- <th>Program/Description</th>
871
- </tr>
872
- </thead>
873
- <tbody>
874
- <tr *ngFor="let data of sellerGroupHierarchy; let tooltipIndex = index">
875
- <td>{{ tooltipIndex + 1 }}</td>
876
- <td>
877
- <span>{{ data.InventoryCode }}</span>
878
- </td>
879
- <td>
880
- <span>{{ data.Program }}</span>
881
- </td>
882
- </tr>
883
- </tbody>
884
- </table>
885
- </section>
886
- </ng-container>
887
- <ng-container *ngIf="sellerGroupHierarchy.length == 0">
888
- <span style="color: #000">Seller group not available for this inventory code</span>
889
- </ng-container>
890
- </ng-template>
891
-
892
- <ng-template #lurViolationInfoTooltip>
893
- <p class ="first-row" >The values are for the entire week.</p>
894
- </ng-template>
895
-
896
- <ng-template #postedRatingDifference>
897
- <p class="difference-text">The difference between posted and booked average rating is {{isDifferenceLessThan25Percent ? 'less' : 'more'}} than 25%.</p>
898
- </ng-template>
899
-
900
- <ng-template #postedImpDifference>
901
- <p class="difference-text">The difference between posted and booked average impression is {{isDifferenceLessThan25Percent ? 'less' : 'more'}} than 25%.</p>
902
- </ng-template>
903
-
904
- <ng-template #ongoingRevBookedColumnTooltip>
905
- <p>The Booked $ value, Spots, GRP, CPP, IMPS, CPM corresponds on the last permanent revision generated</p>
906
- </ng-template>
907
-
908
- <ng-template #completedRevBookedColumnTooltip>
909
- <p>The Booked $ value corresponds on the last permanent revision generated</p>
910
- </ng-template>
911
-
912
- <ng-template #circularProgressBar>
913
- <circle-progress
914
- [percent]="percentDone"
915
- [radius]="5"
916
- [showTitle]="false"
917
- [showUnits]="false"
918
- [showSubtitle]="false"
919
- [outerStrokeWidth]="3"
920
- [innerStrokeWidth]="3"
921
- [space]="-3"
922
- [outerStrokeColor]="'#268bff'"
923
- [innerStrokeColor]="'#d5d5d5'"
924
- [animationDuration]="10"
925
- ></circle-progress>
926
- </ng-template>