@annalib/anna-feature-spots-approval 0.0.2 → 0.0.5
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.
- package/all-offers-listing/index.d.ts +5 -0
- package/{src/lib/all-offers-listing → all-offers-listing}/src/all-offers-listing.component.d.ts +1 -1
- package/drr-listing/src/daily-revision-listing/daily-revision-listing.component.d.ts +1 -1
- package/fesm2022/{annalib-anna-feature-spots-approval-src-lib-all-offers-listing.mjs → annalib-anna-feature-spots-approval-all-offers-listing.mjs} +2 -2
- package/fesm2022/annalib-anna-feature-spots-approval-all-offers-listing.mjs.map +1 -0
- package/fesm2022/annalib-anna-feature-spots-approval-drr-listing.mjs +2 -2
- package/fesm2022/annalib-anna-feature-spots-approval-drr-listing.mjs.map +1 -1
- package/fesm2022/{annalib-anna-feature-spots-approval-src-lib-spot-approval-seller-or-buyer-revision.mjs → annalib-anna-feature-spots-approval-spot-approval-seller-or-buyer-revision.mjs} +2 -2
- package/fesm2022/annalib-anna-feature-spots-approval-spot-approval-seller-or-buyer-revision.mjs.map +1 -0
- package/fesm2022/annalib-anna-feature-spots-approval-spot-approval-shared-lib.mjs.map +1 -1
- package/fesm2022/annalib-anna-feature-spots-approval-spots-approval.mjs +2 -2
- package/fesm2022/annalib-anna-feature-spots-approval-spots-approval.mjs.map +1 -1
- package/fesm2022/annalib-anna-feature-spots-approval.mjs +6 -6
- package/fesm2022/annalib-anna-feature-spots-approval.mjs.map +1 -1
- package/lib/anna-feature-spots-approval.module.d.ts +4 -4
- package/package.json +9 -9
- package/spot-approval-seller-or-buyer-revision/index.d.ts +5 -0
- package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/models/seller-or-buyer-revision-backend.model.d.ts +1 -1
- package/spot-approval-shared-lib/src/revision-offer-status-progress-view/revision-offer-status-progress-view.component.d.ts +1 -1
- package/spots-approval/src/anna-revision/anna-revision.component.d.ts +1 -1
- package/spots-approval/src/models/anna-revisions-backend.model.d.ts +1 -1
- package/spots-approval/src/models/order-revision-detail.model.d.ts +1 -1
- package/fesm2022/annalib-anna-feature-spots-approval-src-lib-all-offers-listing.mjs.map +0 -1
- package/fesm2022/annalib-anna-feature-spots-approval-src-lib-spot-approval-seller-or-buyer-revision.mjs.map +0 -1
- package/src/lib/all-offers-listing/index.d.ts +0 -5
- package/src/lib/spot-approval-seller-or-buyer-revision/index.d.ts +0 -5
- /package/{src/lib/all-offers-listing → all-offers-listing}/public-api.d.ts +0 -0
- /package/{src/lib/all-offers-listing → all-offers-listing}/src/configs/all-offers-listing-backend.token.d.ts +0 -0
- /package/{src/lib/all-offers-listing → all-offers-listing}/src/models/all-offers-filter.model.d.ts +0 -0
- /package/{src/lib/all-offers-listing → all-offers-listing}/src/models/all-offers-listing-backend.model.d.ts +0 -0
- /package/{src/lib/all-offers-listing → all-offers-listing}/src/models/all-offers-listing.constant.d.ts +0 -0
- /package/{src/lib/all-offers-listing → all-offers-listing}/src/models/all-offers-listing.model.d.ts +0 -0
- /package/{src/lib/all-offers-listing → all-offers-listing}/src/services/all-offers-listing.service.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/public-api.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/models/seller-or-buyer-revision-additional-data.model.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/models/seller-or-buyer-revision-response.model.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/models/seller-or-buyer-revision-total-row.model.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/models/seller-or-buyer-revision.constant.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/models/seller-or-buyer-revision.token.d.ts +0 -0
- /package/{src/lib/spot-approval-seller-or-buyer-revision → spot-approval-seller-or-buyer-revision}/src/seller-or-buyer-revision/seller-or-buyer-revision.component.d.ts +0 -0
package/{src/lib/all-offers-listing → all-offers-listing}/src/all-offers-listing.component.d.ts
RENAMED
|
@@ -3,7 +3,7 @@ import { ActivatedRoute, Router } from "@angular/router";
|
|
|
3
3
|
import { AnnaFilterService, AnnaGlobalConfigService, AnnaGtHelperService, AnnaNonEditableGenericTableComponent, AnnaPersistingFilterService, AnnaSortService, ICustomSingleSelect, IGtGeneralConfig, IGtTableHeader, ITotalRowInfo } from "@annalib/anna-core";
|
|
4
4
|
import { CalendarQuarterYearFilterService, EasyFilters, IdText, PeriodSelectionPopUp, StartDateConsideringFactor } from "@annalib/anna-design-components-lib";
|
|
5
5
|
import { DateAndAllKeyType, PrimaryDetails } from "@annalib/anna-feature-lib";
|
|
6
|
-
import { ActionCommentsPopupComponent, OfferRejectionPopupComponent } from "@annalib/anna-feature-
|
|
6
|
+
import { ActionCommentsPopupComponent, OfferRejectionPopupComponent } from "@annalib/anna-feature-spots-approval/anna-feature-shared-lib";
|
|
7
7
|
import { NgbModal } from "@ng-bootstrap/ng-bootstrap";
|
|
8
8
|
import { ToastrService } from "ngx-toastr";
|
|
9
9
|
import { Subject } from "rxjs";
|
|
@@ -3,7 +3,7 @@ import { ActivatedRoute, Router } from "@angular/router";
|
|
|
3
3
|
import { AnnaFilterService, AnnaGlobalConfigService, AnnaGtHelperService, AnnaNonEditableGenericTableComponent, AnnaPersistingFilterService, AnnaSortService, IconData, IGtGeneralConfig, IGtTableHeader, ITotalRowInfo } from "@annalib/anna-core";
|
|
4
4
|
import { BreadcrumbsService, EasyFilters, EasyFiltersComponent, EquivalisationOfDataService, Filter, IBreadcrumb, IdText, MessageBoxData } from "@annalib/anna-design-components-lib";
|
|
5
5
|
import { NotificationsService } from "@annalib/anna-feature-lib";
|
|
6
|
-
import { ANNAOfferSpecificDRROrderDataForBuyer, ANNAOfferSpecificDRROrderDataForSeller, GenericDailyRevisionService, StationRevisionInformationForANNAOffers, UserOfferSpecificDRROrderDataForSeller } from "@annalib/anna-feature-
|
|
6
|
+
import { ANNAOfferSpecificDRROrderDataForBuyer, ANNAOfferSpecificDRROrderDataForSeller, GenericDailyRevisionService, StationRevisionInformationForANNAOffers, UserOfferSpecificDRROrderDataForSeller } from "@annalib/anna-feature-spots-approval/anna-feature-shared-lib";
|
|
7
7
|
import { ToastrService } from "ngx-toastr";
|
|
8
8
|
import { Subject } from "rxjs";
|
|
9
9
|
import { DailyRevisionFilterModalComponent } from "../daily-revision-filter-modal/daily-revision-filter-modal.component";
|
|
@@ -8,7 +8,7 @@ import { SvgOrIconNames, TableClassNameConstant, Constants, AnnaCoreModule, Anna
|
|
|
8
8
|
import * as i6 from '@annalib/anna-design-components-lib';
|
|
9
9
|
import { StartDateConsideringFactor, SkeletonLoaderComponent, EasyFiltersComponent, OrderContainerFilterModalComponent, SingleSelectComponent } from '@annalib/anna-design-components-lib';
|
|
10
10
|
import { AnnaFeatureLibModule } from '@annalib/anna-feature-lib';
|
|
11
|
-
import { ActionCommentsPopupComponent, OfferRejectionPopupComponent } from '@annalib/anna-feature-
|
|
11
|
+
import { ActionCommentsPopupComponent, OfferRejectionPopupComponent } from '@annalib/anna-feature-spots-approval/anna-feature-shared-lib';
|
|
12
12
|
import * as i3 from '@ng-bootstrap/ng-bootstrap';
|
|
13
13
|
import dayjs from 'dayjs';
|
|
14
14
|
import { cloneDeep, uniqBy, findLastIndex, isEqual } from 'lodash-es';
|
|
@@ -1366,4 +1366,4 @@ class IAllOffersActionsFromBE {
|
|
|
1366
1366
|
*/
|
|
1367
1367
|
|
|
1368
1368
|
export { ALL_OFFERS_LISTING_SERVICE_TOKEN, AllOffersList, AllOffersListingComponent, AllOffersListingService, IAllOffersActions, IAllOffersActionsFromBE, OffersData, OffersListingEasyFilterConstant, OffersStatusFromBE, SpotTypeFromBE };
|
|
1369
|
-
//# sourceMappingURL=annalib-anna-feature-spots-approval-
|
|
1369
|
+
//# sourceMappingURL=annalib-anna-feature-spots-approval-all-offers-listing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annalib-anna-feature-spots-approval-all-offers-listing.mjs","sources":["../../../projects/anna-feature-spots-approval/all-offers-listing/src/configs/all-offers-listing-backend.token.ts","../../../projects/anna-feature-spots-approval/all-offers-listing/src/models/all-offers-listing.constant.ts","../../../projects/anna-feature-spots-approval/all-offers-listing/src/services/all-offers-listing.service.ts","../../../projects/anna-feature-spots-approval/all-offers-listing/src/models/all-offers-listing.model.ts","../../../projects/anna-feature-spots-approval/all-offers-listing/src/all-offers-listing.component.ts","../../../projects/anna-feature-spots-approval/all-offers-listing/src/all-offers-listing.component.html","../../../projects/anna-feature-spots-approval/all-offers-listing/src/models/all-offers-listing-backend.model.ts","../../../projects/anna-feature-spots-approval/all-offers-listing/annalib-anna-feature-spots-approval-all-offers-listing.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\nimport { IGtTableHeader } from \"@annalib/anna-core\";\nimport { EasyFilters } from \"@annalib/anna-design-components-lib\";\n\n/** Token to inject the acl service */\nexport const ALL_OFFERS_LISTING_SERVICE_TOKEN: InjectionToken<IAllOffersListingBackendService> =\n new InjectionToken<IAllOffersListingBackendService>(\"IAllOffersListingBackendService token\");\n\nexport interface IAllOffersListingBackendService {\n getAllOffersListingData(stationId: number, orderId: string, startDate: string, endDate: string): any;\n getTableHeadersForOffersListing(loading: boolean, metricType: any, estimatePriority: string[]): IGtTableHeader[];\n getOffersListingEasyFilters(): EasyFilters[];\n getFiltersDataForOffers(stationId: number, orderId: string): any;\n}\n","export type ESTIMATEPRIORITIES = \"RollingEstimate\" | \"StationEstimate\" | \"BookedRTG\" | \"AverageRTG\";\n\nexport class OffersListingEasyFilterConstant {\n static readonly CONFIRMED = \"CONFIRMED\";\n static readonly CANCELLED = \"CANCELLED\";\n static readonly SM_APPROVED = \"SM APPROVED\";\n static readonly SM_REJECTED = \"SM REJECTED\";\n static readonly BUYER_TIMEDOUT = \"BUYER TIMEDOUT\";\n static readonly BUYER_REJECTED = \"BUYER REJECTED\";\n static readonly SELLER_REJECTED = \"SELLER REJECTED\";\n\n static readonly REV_TYPE_ANNA = \"ANNA\";\n static readonly REV_TYPE_SELLER = \"SELLER USER REVISION\";\n static readonly REV_TYPE_BUYER = \"BUYER REVISION\";\n}\n\nexport class OffersStatusFromBE {\n static readonly OS_SPOTS = \"O/S Spots\";\n static readonly SELLER_PENDING = \"Seller Pending\";\n static readonly SELLER_APPROVED = \"Seller Approved\";\n static readonly SELLER_REJECTED = \"Seller Rejected\";\n static readonly SELLER_TIMEDOUT = \"Seller Timedout\";\n static readonly SELLER_CANCELLED = \"Seller Cancelled\";\n\n static readonly REP_ENTRY_IN_PROGRESS = \"Rep Entry In Progress\";\n static readonly REP_ENTRY_FAILED = \"Rep Entry Failed\";\n\n static readonly BUYER_PENDING = \"Buyer Pending\";\n static readonly SELLER_RECONFIRM = \"Seller Reconfirm\";\n static readonly SELLER_RECONFIRMED = \"Seller Reconfirmed\";\n static readonly SELLER_RECONFIRM_TIMEDOUT = \"Seller Reconfirm Timedout\";\n\n static readonly BUYER_APPROVED = \"Buyer Approved\";\n static readonly BUYER_REJECTED = \"Buyer Rejected\";\n static readonly BUYER_TIMEDOUT = \"Buyer Timedout\";\n\n static readonly WOT_ENTRY_IN_PROGRESS = \"WOT Entry In Progress\";\n static readonly WOT_ENTRY_FAILED = \"WOT Entry Failed\";\n static readonly SM_PENDING = \"SM Pending\";\n static readonly SM_APPROVED = \"SM Approved\";\n static readonly SM_REJECTED = \"SM Rejected\";\n\n static readonly CONFIRM_IN_PROGRESS = \"Confirm In Progress\";\n static readonly CANCEL_IN_PROGRESS = \"Cancel In Progress\";\n static readonly RECALL_IN_PROGRESS = \"Recall In Progress\";\n static readonly CONFIRMED = \"Confirmed\";\n static readonly CANCELLED = \"Cancelled\";\n static readonly RECALLED = \"Recalled\";\n\n static readonly REP_ENTRY_FAILED_RETRYING = \"Rep Entry Failed (retrying)\";\n static readonly BUYER_REP_PENDING = \"Buyer (Rep) Pending\";\n static readonly BUYER_AGY_PENDING = \"Buyer (Agy) Pending\";\n static readonly BUYER_TIMEDOUT_LOG_CLOSED = \"Buyer Timedout (Log Closed)\";\n static readonly WOT_ENTRY_FAILED_RETRYING = \"WOT Entry Failed (retrying)\";\n\n static readonly AUTO_CANCELLED_LOG_CLOSURE = \"Auto-Cancelled (Log Closure)\";\n static readonly CANCEL_IN_PROGRESS_LOG_CLOSURE = \"Cancel in progress (Log Closure)\";\n static readonly CANCEL_FAILED_LOG_CLOSURE = \"Cancel Failed (Log Closure)\";\n static readonly AUTO_REJECTED_LOG_CLOSURE = \"Auto-rejected (Log Closure)\";\n\n static readonly USER_CONFIRMED = \"User Confirmed\";\n static readonly USER_CANCELLED = \"User Cancelled\";\n static readonly USER_EDITED_AND_CONFIRMED = \"User edited & Confirmed\";\n static readonly USER_EDITED_AND_CANCELLED = \"User edited & Cancelled\";\n static readonly USER_EDITED = \"User edited\";\n static readonly USER_STN_CANCELLED = \"User Stn Cancelled\";\n\n static readonly REV_TYPE_ANNA = \"ANNA\";\n static readonly REV_TYPE_SELLER = \"SELLER\";\n static readonly REV_TYPE_BUYER = \"BUYER\";\n}\n\nexport class SpotTypeFromBE {\n static readonly PREEMPTION = \"Preemption\";\n static readonly PREEMPTION_REQUESTED_FOR_CREDIT_BY_BUYER = \"Buyer Credit Requested\";\n static readonly PREEMPTION_SELLER_MARKED_FOR_CREDIT = \"Preemption: Marked for Credit\";\n\n static readonly MAKEGOOD_OFFERED = \"Offered MG\";\n static readonly MAKEGOOD_APPROVED = \"Added MG\";\n static readonly MAKEGOOD_REJECTED = \"Rejected MG\";\n static readonly MAKEGOOD_AUTO_APPROVED = \"Offered MG: Auto-approved\";\n\n static readonly ADU_OFFERED = \"Offered ADU\";\n static readonly ADU_APPROVED = \"Added ADU\";\n static readonly ADU_REJECTED = \"Rejected ADU\";\n static readonly ADU_AUTO_APPROVED = \"Offered ADU: Auto-approved\";\n\n static readonly OUTSTANDING_NO_ACTION = \"Outstanding PE\";\n static readonly OUTSTANDING_MARKED_FOR_CREDIT = \"Outstanding PE\";\n static readonly OUTSTANDING_MARKED_FOR_MAKEGOOD = \"Outstanding PE\";\n static readonly OUTSTANDING_MARKED_FOR_CREDIT_2 = \"Outstanding PE: Marked for Credit\";\n\n static readonly USER_PREEMPTION = \"MadeGood Preemption\";\n static readonly USER_MAKEGOOD = \"User MG\";\n static readonly USER_ADU = \"User ADU\";\n static readonly BUYER_ADDED = \"Buyer Added\";\n static readonly BUYER_DELETED = \"Buyer Deleted\";\n static readonly USER_CREDITED = \"User Credited\";\n static readonly USER_UNRESOLVED = \"User Unresolved\";\n\n static readonly UNDEFINED = \"Undefined\";\n}\n","// Angular import statements\nimport { Injectable } from \"@angular/core\";\nimport { SvgOrIconNames } from \"@annalib/anna-core\";\n\nimport { ESTIMATEPRIORITIES, OffersStatusFromBE, SpotTypeFromBE } from \"../models/all-offers-listing.constant\";\nimport {\n IAllOffersActions,\n IAllOffersActionsFromBE,\n SolvedTypeFromBE,\n} from \"../models/all-offers-listing-backend.model\";\n\n@Injectable({\n providedIn: \"root\",\n})\nexport class AllOffersListingService {\n latestOffersTabFilter: any;\n\n static getClassNameFromOffersStatus(offersStatus: OffersStatusFromBE): string {\n switch (offersStatus) {\n case OffersStatusFromBE.OS_SPOTS:\n return \"os-spots\";\n case OffersStatusFromBE.SM_PENDING:\n return \"sm-pending\";\n case OffersStatusFromBE.SELLER_PENDING:\n return \"seller-pending\";\n case OffersStatusFromBE.SELLER_APPROVED:\n return \"seller-approved\";\n case OffersStatusFromBE.SELLER_CANCELLED:\n return \"seller-cancelled\";\n case OffersStatusFromBE.SELLER_REJECTED:\n return \"seller-rejected\";\n case OffersStatusFromBE.SELLER_TIMEDOUT:\n return \"seller-reconfirm-timedout\";\n case OffersStatusFromBE.REP_ENTRY_IN_PROGRESS:\n return \"rep-entry-in-progress\";\n case OffersStatusFromBE.REP_ENTRY_FAILED:\n return \"rep-entry-failed\";\n case OffersStatusFromBE.BUYER_PENDING:\n return \"buyer-pending\";\n case OffersStatusFromBE.SELLER_RECONFIRM:\n return \"seller-reconfirm\";\n case OffersStatusFromBE.SELLER_RECONFIRMED:\n return \"seller-reconfirmed\";\n case OffersStatusFromBE.SELLER_RECONFIRM_TIMEDOUT:\n return \"seller-reconfirm-timedout\";\n case OffersStatusFromBE.BUYER_APPROVED:\n return \"buyer-approved\";\n case OffersStatusFromBE.BUYER_REJECTED:\n return \"buyer-rejected\";\n case OffersStatusFromBE.BUYER_TIMEDOUT:\n return \"buyer-timedout\";\n case OffersStatusFromBE.WOT_ENTRY_IN_PROGRESS:\n return \"wot-entry-in-progress\";\n case OffersStatusFromBE.WOT_ENTRY_FAILED:\n return \"wot-entry-failed\";\n case OffersStatusFromBE.SM_APPROVED:\n return \"sm-approved\";\n case OffersStatusFromBE.SM_REJECTED:\n return \"sm-rejected\";\n case OffersStatusFromBE.CONFIRM_IN_PROGRESS:\n return \"confirm-in-progress\";\n case OffersStatusFromBE.CANCEL_IN_PROGRESS:\n return \"cancel-in-progress\";\n case OffersStatusFromBE.RECALL_IN_PROGRESS:\n return \"recall-in-progress\";\n case OffersStatusFromBE.CONFIRMED:\n return \"confirmed\";\n case OffersStatusFromBE.CANCELLED:\n return \"cancelled\";\n case OffersStatusFromBE.RECALLED:\n return \"recalled\";\n case OffersStatusFromBE.AUTO_CANCELLED_LOG_CLOSURE:\n return \"auto-cancelled-log-closure\";\n case OffersStatusFromBE.CANCEL_IN_PROGRESS_LOG_CLOSURE:\n return \"cancel-in-progress-log-closure\";\n case OffersStatusFromBE.CANCEL_FAILED_LOG_CLOSURE:\n return \"cancel-failed-log-closure\";\n case OffersStatusFromBE.AUTO_REJECTED_LOG_CLOSURE:\n return \"auto-rejected-log-closure\";\n case OffersStatusFromBE.USER_CANCELLED:\n return \"user-cancelled\";\n case OffersStatusFromBE.USER_EDITED_AND_CANCELLED:\n return \"user-edited-and-cancelled\";\n case OffersStatusFromBE.USER_STN_CANCELLED:\n return \"user-stn-cancelled\";\n case OffersStatusFromBE.USER_CONFIRMED:\n return \"user-confirmed\";\n case OffersStatusFromBE.USER_EDITED_AND_CONFIRMED:\n return \"user-edited-and-confirmed\";\n case OffersStatusFromBE.USER_EDITED:\n return \"user-edited\";\n default:\n return null;\n }\n }\n // constructor() {}\n\n public static returnTooltipAndIconForSolvedType(\n solvedType: SolvedTypeFromBE,\n metric: string,\n valueToUse: number,\n ): { icon: SvgOrIconNames; tooltipMsg: string } {\n switch (solvedType) {\n case \"LINE\":\n return {\n icon: SvgOrIconNames.ALPHA_B_CIRCLE,\n tooltipMsg: `The booked ${metric} for this spot is calculated based on the booked ${metric} (${valueToUse}) of the inventory code of the spot.`,\n };\n case \"ROLLING_ESTIMATES\":\n return {\n icon: SvgOrIconNames.ALPHA_R_CIRCLE,\n tooltipMsg: `The booked ${metric} for this spot is calculated based on the ANNA Estimate value (${valueToUse}) of the program.`,\n };\n case \"ESTIMATES\":\n return {\n icon: SvgOrIconNames.ALPHA_E_CIRCLE,\n tooltipMsg: `The booked ${metric} for this spot is calculated based on the station’s estimated ${metric} (${valueToUse}) of the program.`,\n };\n case \"AVERAGE\":\n return {\n icon: SvgOrIconNames.ALPHA_A_CIRCLE,\n tooltipMsg: `The booked ${metric} for this spot is calculated based on the average booked ${metric} (${valueToUse}).`,\n };\n default:\n return null;\n }\n }\n\n public static returnEstimatePriorities(data: any, estimatePriority: ESTIMATEPRIORITIES[]): string[] {\n const firstAndSecondEstimatePrioritiesForRTGMetric = `${this.returnEstimateValueBasedOnKeyForRTGMetric(\n data,\n estimatePriority[0],\n )} | ${this.returnEstimateValueBasedOnKeyForRTGMetric(data, estimatePriority[1])}`;\n\n const thirdAndFourthEstimatePrioritiesForRTGMetric = `${this.returnEstimateValueBasedOnKeyForRTGMetric(\n data,\n estimatePriority[2],\n )} | ${this.returnEstimateValueBasedOnKeyForRTGMetric(data, estimatePriority[3])}`;\n\n const firstAndSecondEstimatePrioritiesForIMPSMetric = `${this.returnEstimateValueBasedOnKeyForIMPSMetric(\n data,\n estimatePriority[0],\n )} | ${this.returnEstimateValueBasedOnKeyForIMPSMetric(data, estimatePriority[1])}`;\n\n const thirdAndFourthEstimatePrioritiesForIMPSGMetric = `${this.returnEstimateValueBasedOnKeyForIMPSMetric(\n data,\n estimatePriority[2],\n )} | ${this.returnEstimateValueBasedOnKeyForIMPSMetric(data, estimatePriority[3])}`;\n return [\n firstAndSecondEstimatePrioritiesForRTGMetric,\n thirdAndFourthEstimatePrioritiesForRTGMetric,\n firstAndSecondEstimatePrioritiesForIMPSMetric,\n thirdAndFourthEstimatePrioritiesForIMPSGMetric,\n ];\n }\n\n // TODO ADD THE KEYS IN BE\n public static returnEstimateValueBasedOnKeyForRTGMetric(BEData: any, key: ESTIMATEPRIORITIES): number | string {\n switch (key) {\n case \"AverageRTG\":\n return BEData.BookedAvgRatings !== null ? BEData.BookedAvgRatings : \"-\";\n\n case \"BookedRTG\":\n return BEData.BookedRatings !== null ? BEData.BookedRatings : \"-\";\n\n case \"RollingEstimate\":\n return BEData.RollingEstimateRatings === 0 ? \"-\" : BEData.RollingEstimateRatings;\n\n case \"StationEstimate\":\n return BEData.StationEstimateRatings === 0 ? \"-\" : BEData.StationEstimateRatings;\n // no default\n }\n\n return \"-\";\n }\n\n public static returnEstimateValueBasedOnKeyForIMPSMetric(data: any, key: ESTIMATEPRIORITIES): number | string {\n switch (key) {\n case \"AverageRTG\":\n return data.BookedAvgImpressions !== null ? data.BookedAvgImpressions : \"-\";\n\n case \"BookedRTG\":\n return data.BookedImpressions !== null ? data.BookedImpressions : \"-\";\n\n case \"RollingEstimate\":\n return data.RollingEstimateImpressions === 0 ? \"-\" : data.RollingEstimateImpressions;\n\n case \"StationEstimate\":\n return data.StationEstimateImpressions === 0 ? \"-\" : data.StationEstimateImpressions;\n // no default\n }\n\n return \"-\";\n }\n\n static convertToCommaSeperatedString(arrList: any[]): string {\n let nameList = \"\";\n for (let i = 0; i < arrList.length; i++) {\n if (i !== arrList.length - 1) {\n nameList = `${nameList} ‘${arrList[i]}’, `;\n } else {\n nameList = `${nameList} ‘${arrList[i]}’ `;\n }\n }\n return nameList;\n }\n\n getAllRejectionReasons(): string[] {\n return [\n \"Incorrect Daypart\",\n \"Incorrect Program\",\n \"Incorrect Date Range\",\n \"Shortage of Impressions/Ratings\",\n \"Other (please specify)\",\n ];\n }\n\n // static getAllowedActionKeyForUI(allowedActions: { [action: string]: boolean }): IAllOffersActions {\n static getAllowedActionKeyForUI(allowedActions: IAllOffersActionsFromBE): IAllOffersActions {\n let allowedObject: IAllOffersActions = {};\n if (\"Approve\" in allowedActions) {\n allowedObject = {\n ...allowedObject,\n Approve: allowedActions.Approve,\n };\n }\n if (\"Reject\" in allowedActions) {\n allowedObject = {\n ...allowedObject,\n Reject: allowedActions.Reject,\n };\n }\n if (\"No Action\" in allowedActions) {\n allowedObject = {\n ...allowedObject,\n NoAction: allowedActions[\"No Action\"],\n };\n }\n if (\"Mark for Credit\" in allowedActions) {\n allowedObject = {\n ...allowedObject,\n MarkForCredit: allowedActions[\"Mark for Credit\"] as boolean,\n };\n }\n\n return allowedObject;\n }\n\n getAllowedActionInPascalCase(radioButtonName: string) {\n switch (radioButtonName) {\n case \"Approve\":\n return \"Approve\";\n case \"Reject\":\n return \"Reject\";\n case \"Mark For Credit\":\n return \"Credit\";\n case \"No Action\":\n return \"NoAction\";\n default:\n return null;\n }\n }\n\n /// later check!!\n static getSelectedRadioButton(actionAllowed: IAllOffersActions): \"reject\" | \"approve\" | \"credit\" | \"noAction\" {\n if (actionAllowed?.Approve) {\n return \"approve\";\n } else if (actionAllowed?.MarkForCredit) {\n return \"credit\";\n } else if (actionAllowed?.Reject) {\n return \"reject\";\n } else if (actionAllowed?.NoAction) {\n return \"noAction\";\n }\n return null;\n }\n\n getRadioButtonValue(radioButtonName: string): string {\n switch (radioButtonName) {\n case \"Approve\":\n return \"approve\";\n case \"Reject\":\n return \"reject\";\n case \"MarkForCredit\":\n return \"credit\";\n case \"NoAction\":\n return \"noAction\";\n default:\n return null;\n }\n }\n\n getRadioButtonLabelDisplay(radioButtonName: string): string {\n switch (radioButtonName) {\n case \"Approve\":\n return \"Approve\";\n case \"Reject\":\n return \"Reject\";\n case \"MarkForCredit\":\n return \"Mark for Credit\";\n case \"noAction\":\n return \"No Action\";\n default:\n return null;\n }\n // case \"rejectCreditRequest\":\n // return \" Reject Credit Request\";\n // case \"credit\":\n // return \"Request for Credit\";\n }\n\n static isPEOrMGSpot(spotType: SpotTypeFromBE) {\n switch (spotType) {\n case SpotTypeFromBE.MAKEGOOD_OFFERED:\n case SpotTypeFromBE.MAKEGOOD_APPROVED:\n case SpotTypeFromBE.MAKEGOOD_REJECTED:\n case SpotTypeFromBE.MAKEGOOD_AUTO_APPROVED:\n case SpotTypeFromBE.ADU_OFFERED:\n case SpotTypeFromBE.ADU_APPROVED:\n case SpotTypeFromBE.ADU_REJECTED:\n case SpotTypeFromBE.ADU_AUTO_APPROVED:\n case SpotTypeFromBE.USER_PREEMPTION:\n case SpotTypeFromBE.USER_MAKEGOOD:\n case SpotTypeFromBE.USER_ADU:\n return true;\n default:\n return false;\n }\n }\n}\n","import { IRadioButton, ISvgOrIconTypeInGTTable, SvgOrIconNames, TableClassNameConstant } from \"@annalib/anna-core\";\nimport { ESTIMATEPRIORITIES } from \"@annalib/anna-feature-lib\";\n\nimport { AllOffersListingService } from \"../services/all-offers-listing.service\";\nimport { SpotTypeFromBE } from \"./all-offers-listing.constant\";\nimport {\n AllOffersBEAPIResponse,\n IAllOffersActions,\n OffersListBEResponse,\n RevisionTypeFromBE,\n} from \"./all-offers-listing-backend.model\";\n\ninterface SpotaApprovalIRadioButton extends IRadioButton {\n label: \"Reject\" | \"Approve\" | \"Mark for Credit\" | \"No Action\" | \"Credit\";\n value: \"approve\" | \"resubmit\" | \"credit\" | \"rejectCreditRequest\" | \"noAction\" | \"credit\";\n icons?: { class: string, name?: string };\n}\n\nexport class OffersData {\n estimatePriority: ESTIMATEPRIORITIES[] = [];\n spDayparts: string[];\n offers: AllOffersList[] = [];\n constructor(data: AllOffersBEAPIResponse, userType: \"SELLER\" | \"BUYER\") {\n this.estimatePriority = data.EstimatePriority;\n this.spDayparts = data.SpecialDayparts;\n data?.Offers?.forEach((offer) => {\n this.offers.push(new AllOffersList(offer, this.spDayparts, this.estimatePriority, userType));\n });\n }\n}\n\nexport class AllOffersList {\n groupId: string;\n offerId: string;\n offerStatus: string;\n lastUpdatedOn: string;\n bizRule: string;\n spotType: SpotTypeFromBE;\n lastEditedOrAddedBy: string = \"\";\n sellerLineNumber: number;\n buyerLineNumber: number;\n weekStartDate: string;\n scheduledDateAndTime: string;\n length: string;\n buyerProgramName: string;\n sellerProgramName: string;\n inventoryCode: string;\n revenueClass: string;\n revisionType: RevisionTypeFromBE;\n daypart: string;\n rate: number;\n avgRate: number;\n rating: number;\n imps: number;\n annaEstImps: number;\n projectedImpressions: number;\n highlightRate: boolean;\n excludeFromFutureOffers: boolean;\n bizRuleTypeStandardOrRelaxed: \"Standard\" | \"Relaxed\" | \"-\";\n enableAllowedActions: boolean = false;\n\n selectedAction: \"reject\" | \"approve\" | \"credit\" | \"noAction\";\n allowedAction: IAllOffersActions;\n // markForCreditComment: string;\n // sellerOfferOrRejectComments: string[] = [];\n // rejectActionComment: string[] = [];\n\n approveOfferComment: string;\n rejectActionComment: string[];\n markForCreditComment: string;\n reofferComment: string = null;\n reOfferBy: string;\n lastActionBy: string;\n cancelledBy: string;\n\n gtClass: string = \"\";\n\n rejectionHeader: string;\n allowActionInRejectionPopup: boolean;\n showActionInRejectionPopup: boolean;\n\n // TODO RadioButton is not intialised\n RadioButtonConfig: SpotaApprovalIRadioButton[];\n\n daypartWithSPTooltip: ISvgOrIconTypeInGTTable[] = [];\n firstTwoEstimatePrioritiesForRTGMetric: string;\n lastTwoEstimatePrioritiesForRTGMetric: string;\n firstTwoEstimatePrioritiesForIMPSMetric: string;\n lastTwoEstimatePrioritiesForIMPSMetric: string;\n\n offerIdWithStatusTagText: ISvgOrIconTypeInGTTable[] = [];\n spotTypeActionKey: ISvgOrIconTypeInGTTable[] = [];\n bookedRateWithTooltipKey: ISvgOrIconTypeInGTTable[] = [];\n ratingWithSolveTypeAndBadlyBehaveSpotsTooltip: ISvgOrIconTypeInGTTable[] = [];\n impressionWithSolveTypeAndBadlyBehaveSpotsTooltip: ISvgOrIconTypeInGTTable[] = [];\n\n hideofferIdTd: boolean = false;\n hidespotTypeTd: boolean = false;\n hideselectedActionTd: boolean = false;\n hiderecallOfferColumnTd: boolean = false;\n hidebizRuleTypeStandardOrRelaxedTd: boolean = false;\n hidelengthTd: boolean = false;\n hideinventoryCodeTd: boolean = false;\n hidedaypartTd: boolean = false;\n hidescheduledDateAndTimeTd: boolean = false;\n hidelastActionByTd: boolean = false;\n\n bizRuleTypeStandardOrRelaxedRowspan: number = 1;\n recallOfferColumnRowspan: number = 1;\n selectedActionRowspan: number = 1;\n spotTypeRowspan: number = 1;\n offerIdRowspan: number = 1;\n lengthRowspan: number = 1;\n inventoryCodeRowspan: number = 1;\n daypartRowspan: number = 1;\n scheduledDateAndTimeRowspan: number = 1;\n lastActionByRowspan: number = 1;\n sellerCancellationComment: string;\n\n constructor(\n BEData: OffersListBEResponse,\n spDaypart: string[],\n estimatePriorities: ESTIMATEPRIORITIES[],\n userType: \"SELLER\" | \"BUYER\",\n ) {\n this.offerId = BEData.OfferId;\n this.groupId = BEData.GroupId;\n this.offerStatus = BEData.OfferStatus;\n this.spotType = BEData.SpotType;\n this.lastUpdatedOn = BEData.LastUpdatedOn ? `Last updated: ${BEData.LastUpdatedOn}` : null;\n this.sellerLineNumber = BEData.SellerLine;\n this.buyerLineNumber = BEData.BuyerLine;\n this.weekStartDate = BEData.WeekStartDate;\n this.length = BEData.Len;\n this.buyerProgramName = BEData.BuyerProgramName;\n this.sellerProgramName = BEData.SellerProgramName;\n this.inventoryCode = BEData.InventoryCode;\n this.bizRuleTypeStandardOrRelaxed = BEData.BizRule;\n this.rate = BEData.Rate;\n this.avgRate = BEData.AvgRate;\n this.rating = BEData.Ratings;\n this.imps = BEData.Impressions;\n this.daypart = BEData.Daypart;\n this.revenueClass = BEData.RevenueClass;\n this.revisionType = BEData.RevisionType;\n this.annaEstImps = BEData.AnnaEstImps;\n this.projectedImpressions = BEData.ProjectedImpressions;\n this.highlightRate = BEData.HighlightRate;\n this.scheduledDateAndTime = BEData.ScheduledDayAndTime;\n\n this.lastActionBy = BEData.LastActionBy ? BEData.LastActionBy : \"-\";\n this.reOfferBy = BEData.ReofferedBy;\n this.cancelledBy = BEData.CancelledBy;\n\n this.approveOfferComment = BEData.ApproveOfferComment;\n this.rejectActionComment = BEData.RejectOfferComments;\n this.markForCreditComment = BEData.MarkForCreditComment;\n this.sellerCancellationComment = BEData.SellerCancellationComment;\n\n this.reofferComment = BEData.ReofferComment;\n\n this.excludeFromFutureOffers = BEData.ExcludeFromFutureOffers;\n\n this.allowedAction = BEData.Action ? AllOffersListingService.getAllowedActionKeyForUI(BEData.Action) : null;\n this.selectedAction = AllOffersListingService.getSelectedRadioButton(BEData.Action);\n\n this.rejectionHeader = BEData.RejectionHeader;\n this.allowActionInRejectionPopup = BEData.AllowActionInRejectionPopup;\n this.showActionInRejectionPopup = BEData.ShowActionInRejectionPopup;\n\n // additionalKeys\n // offer tag key\n this.offerIdWithStatusTagText = [\n {\n showObjectKey: false,\n additionalText: this.offerId?.toString(),\n additionalTextClass: \"\",\n },\n {\n showObjectKey: false,\n additionalText: this.offerStatus,\n additionalTextClass: `status-tag ${AllOffersListingService.getClassNameFromOffersStatus(this.offerStatus)}`,\n },\n ];\n\n // added or edited key\n if (BEData.LastEditedOrAddedBy && AllOffersListingService.isPEOrMGSpot(this.spotType)) {\n if (BEData.IsFreeFlowGroup) {\n this.lastEditedOrAddedBy = `<i style=\"color: darkgray;\">(Added by ${BEData.LastEditedOrAddedBy})</i>`;\n } else {\n this.lastEditedOrAddedBy = `<i style=\"color: darkgray;\">(Edited by ${BEData.LastEditedOrAddedBy})</i>`;\n }\n }\n\n const isPESpotExcludedFromFuture =\n BEData.ExcludeFromFutureOffers &&\n (this.spotType?.toString().includes(\"Preemption\") || this.spotType?.toString().includes(\"PE\"));\n const isPESpotExcludedFromFutureMsg = \"This preemption has been excluded from further attempts for MakeGoods\";\n\n this.spotTypeActionKey = [\n {\n showObjectKey: false,\n additionalText: this.spotType.toString(),\n },\n {\n showObjectKey: false,\n svgOrIconName: isPESpotExcludedFromFuture ? SvgOrIconNames.CANCEL_ICON : null,\n svgOrIconTooltipMsg: isPESpotExcludedFromFuture ? isPESpotExcludedFromFutureMsg : null,\n },\n {\n showObjectKey: false,\n svgOrIconName: BEData.Remarks ? SvgOrIconNames.INFORMATION_OUTLINE_ICON : null,\n svgOrIconTooltipMsg: BEData.Remarks ? BEData.Remarks : null,\n },\n ];\n\n // rate highlight key\n const showHighlightedRate = userType === \"SELLER\" && this.highlightRate;\n const showHighlightedRateMsg = `Booked Rate is less than 80% of the Booked Average Rate`;\n this.bookedRateWithTooltipKey = [\n {\n showObjectKey: true,\n },\n {\n showObjectKey: false,\n svgOrIconName: showHighlightedRate ? SvgOrIconNames.INFORMATION_OUTLINE_ICON : null,\n svgOrIconTooltipMsg: showHighlightedRate ? showHighlightedRateMsg : null,\n },\n ];\n\n // badly behaving spot key and solve type\n const badSpotTooltipCondition = userType === \"SELLER\" && BEData.HighlightRatingsOrImpressions;\n\n let badSpotTooltipMsgForImps = `The Booked IMPS is greater than 120% of the Projected IMPS value of ${this.projectedImpressions}`;\n if (badSpotTooltipCondition && BEData.IsRatingImpressionBumped) {\n badSpotTooltipMsgForImps += \" <br/> \";\n }\n if (BEData.IsRatingImpressionBumped) {\n badSpotTooltipMsgForImps += `The IMPS of the offer has been bumped for this Program Change`;\n }\n const solvedTypeIconMsgObj = AllOffersListingService.returnTooltipAndIconForSolvedType(\n BEData.SolvedType,\n \"IMPS\",\n BEData.ImpressionsUsedToSolve,\n );\n\n // imps\n this.impressionWithSolveTypeAndBadlyBehaveSpotsTooltip = [\n {\n showObjectKey: false,\n additionalText: BEData.Impressions.toString(),\n },\n {\n showObjectKey: false,\n svgOrIconName: badSpotTooltipCondition ? SvgOrIconNames.INFORMATION_OUTLINE_ICON : null,\n svgOrIconTooltipMsg: badSpotTooltipCondition ? badSpotTooltipMsgForImps : null,\n },\n {\n showObjectKey: false,\n svgOrIconName: BEData.ShowSolvedTypeIcon ? solvedTypeIconMsgObj.icon : null,\n svgOrIconTooltipMsg: BEData.ShowSolvedTypeIcon ? solvedTypeIconMsgObj.tooltipMsg : null,\n },\n ];\n\n // rtg\n let badSpotTooltipMsgForRtg = `The Booked RTG is greater than 120% of the Projected RTG value of ${BEData.ProjectedRatings}`;\n if (badSpotTooltipCondition && BEData.IsRatingImpressionBumped) {\n badSpotTooltipMsgForRtg += \" <br/>\";\n }\n if (BEData.IsRatingImpressionBumped) {\n badSpotTooltipMsgForRtg += ` The RTG of the offer has been bumped for this Program Change`;\n }\n const solvedTypeIconMsgObjForRtg = AllOffersListingService.returnTooltipAndIconForSolvedType(\n BEData.SolvedType,\n \"RTG\",\n BEData.RatingsUsedToSolve,\n );\n\n this.ratingWithSolveTypeAndBadlyBehaveSpotsTooltip = [\n {\n showObjectKey: false,\n additionalText: BEData.Ratings.toString(),\n },\n {\n showObjectKey: false,\n svgOrIconName: badSpotTooltipCondition ? SvgOrIconNames.INFORMATION_OUTLINE_ICON : null,\n svgOrIconTooltipMsg: badSpotTooltipCondition ? badSpotTooltipMsgForRtg : null,\n },\n {\n showObjectKey: false,\n svgOrIconName: BEData.ShowSolvedTypeIcon ? solvedTypeIconMsgObjForRtg.icon : null,\n svgOrIconTooltipMsg: BEData.ShowSolvedTypeIcon ? solvedTypeIconMsgObjForRtg.tooltipMsg : null,\n },\n ];\n\n // estimate priorities\n const estimatePrioritiesData: string[] = AllOffersListingService.returnEstimatePriorities(\n BEData,\n estimatePriorities,\n );\n this.firstTwoEstimatePrioritiesForRTGMetric = estimatePrioritiesData[0];\n this.lastTwoEstimatePrioritiesForRTGMetric = estimatePrioritiesData[1];\n this.firstTwoEstimatePrioritiesForIMPSMetric = estimatePrioritiesData[2];\n this.lastTwoEstimatePrioritiesForIMPSMetric = estimatePrioritiesData[3];\n\n // SP daypart\n const showTooltipForSportsDP = BEData.ShowSolvedTypeIcon && spDaypart.includes(this.daypart);\n\n this.daypartWithSPTooltip = [\n {\n showObjectKey: true,\n svgOrIconName: showTooltipForSportsDP ? SvgOrIconNames.INFORMATION_OUTLINE_ICON : null,\n svgOrIconTooltipMsg: showTooltipForSportsDP\n ? `Approval is always required for all offers with Daypart as ${AllOffersListingService.convertToCommaSeperatedString(spDaypart)}.`\n : null,\n },\n ];\n\n if (this.highlightRate && userType === \"SELLER\") {\n this.gtClass = this.gtClass?.concat(TableClassNameConstant.redColorCellBorder);\n }\n\n if (BEData.HighlightRatingsOrImpressions && userType === \"SELLER\") {\n this.gtClass = this.gtClass?.concat(TableClassNameConstant.orangeColorCellBorder);\n }\n }\n}\n","import { CommonModule } from \"@angular/common\";\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n Inject,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n SimpleChanges,\n ViewChild,\n} from \"@angular/core\";\nimport { ActivatedRoute, Params, Router } from \"@angular/router\";\nimport {\n AnnaCoreModule,\n AnnaFilterService,\n AnnaGlobalConfigService,\n AnnaGtHelperService,\n AnnaNonEditableGenericTableComponent,\n AnnaPersistingFilterService,\n AnnaSortService,\n Constants,\n ICustomSingleSelect,\n IGtGeneralConfig,\n IGtTableHeader,\n ITotalRowInfo,\n} from \"@annalib/anna-core\";\nimport {\n CalendarQuarterYearFilterService,\n EasyFilters,\n EasyFiltersComponent,\n IdText,\n OrderContainerFilterModalComponent,\n PeriodSelectionPopUp,\n SingleSelectComponent,\n SkeletonLoaderComponent,\n StartDateConsideringFactor,\n} from \"@annalib/anna-design-components-lib\";\nimport { AnnaFeatureLibModule, DateAndAllKeyType, PrimaryDetails } from \"@annalib/anna-feature-lib\";\nimport {\n ActionCommentsPopupComponent,\n OfferRejectionPopupComponent,\n} from \"@annalib/anna-feature-spots-approval/anna-feature-shared-lib\";\nimport { NgbModal } from \"@ng-bootstrap/ng-bootstrap\";\nimport dayjs, { Dayjs } from \"dayjs\";\nimport { cloneDeep, findLastIndex, isEqual, uniqBy } from \"lodash-es\";\nimport { ToastrService } from \"ngx-toastr\";\nimport { Subject } from \"rxjs\";\nimport { takeUntil } from \"rxjs/operators\";\n\nimport {\n ALL_OFFERS_LISTING_SERVICE_TOKEN,\n IAllOffersListingBackendService,\n} from \"./configs/all-offers-listing-backend.token\";\nimport { PeriodFilterForOffers } from \"./models/all-offers-filter.model\";\nimport { OffersListingEasyFilterConstant, SpotTypeFromBE } from \"./models/all-offers-listing.constant\";\nimport { AllOffersList, OffersData } from \"./models/all-offers-listing.model\";\nimport {\n AllOffersBEAPIResponse,\n OfferActionRadioButtonValues,\n OrderMetricsForPrimaryData,\n} from \"./models/all-offers-listing-backend.model\";\nimport { AllOffersListingService } from \"./services/all-offers-listing.service\";\n\n@Component({\n selector: \"anna-feature-all-offers-listing\",\n imports: [\n CommonModule,\n AnnaCoreModule,\n AnnaFeatureLibModule,\n ActionCommentsPopupComponent,\n OfferRejectionPopupComponent,\n SkeletonLoaderComponent,\n EasyFiltersComponent,\n OrderContainerFilterModalComponent,\n SingleSelectComponent,\n ],\n templateUrl: \"./all-offers-listing.component.html\",\n styleUrls: [\"./all-offers-listing.component.scss\"],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class AllOffersListingComponent implements OnInit, OnChanges, OnDestroy {\n @Input({ required: true }) stationId: number;\n @Input({ required: true }) orderId: string;\n @Input({ required: true }) userType: \"SELLER\" | \"BUYER\" = \"SELLER\";\n @Input({ required: true }) persistingFilterPeriodData: PeriodSelectionPopUp;\n @Input({ required: true }) primaryOrderData: PrimaryDetails;\n @Input({ required: true }) queryParams: {\n breadcrumbs?: string;\n filters?: string;\n parentTab?: string;\n quarterFilter?: string;\n };\n\n @Input() orderDefaultMetricType: OrderMetricsForPrimaryData;\n\n flightPeriodData: { statDate: string; endDate: string };\n PeriodOptions: string[] = [\"Quarter\", \"Month\", \"Week\", \"Custom Range\"];\n\n periodFilterLoader: boolean = true;\n showSkeletonLoading: boolean = true;\n\n allOffersTableData: AllOffersList[] = [];\n clonedAllOffersTableData: AllOffersList[] = [];\n totalRowInfo: ITotalRowInfo[];\n tableHeaders: IGtTableHeader[];\n gtDimension = { rowHeight: 44, headerHeight: 40, dataOnTopHeight: 281, marginFromBottom: 20 };\n gtGeneralConfig: IGtGeneralConfig;\n\n easyFilters: EasyFilters[];\n // selectedEasyFilter: Filter;\n offersListingEasyFilterConstant = OffersListingEasyFilterConstant;\n\n disableResetAllFilter: boolean = true;\n\n protected ngUnsubscribe: Subject<void> = new Subject<void>();\n applyFiltersFromTheUrl: boolean;\n numberOfEasyFilterLoader: number = 7;\n filtersFromRoute: any;\n\n estimatePriorities: string[] = [];\n selectedMetricType: { id: number; text: \"IMP('000)\" | \"GRP\" };\n metricTypeList: { id: number; text: \"IMP('000)\" | \"GRP\" }[] = [];\n metricDropdownConfig: ICustomSingleSelect;\n\n performActionOnQueryParamChange: boolean;\n\n // Modal variables\n actionCommentPopupTitle: string;\n openRejectionReasonPopup: boolean;\n rowDataForRejectionPopup: AllOffersList;\n spotTypeForRejectionPoup: SpotTypeFromBE;\n rejectionPopupData: {\n showActionInRejectionPopup: boolean;\n allowActionInRejectionPopup: boolean;\n rejectActionComment: string[];\n excludeFromFutureOffers: boolean;\n rejectionHeader: string;\n };\n offerRejectionPossibleReasons: string[] = [];\n\n EntireRangeSelectionMessage: string;\n noPeriodFilterFound: boolean = false;\n startDateConsideringFactor: StartDateConsideringFactor = StartDateConsideringFactor.FLIGHT_START_DATE;\n\n @ViewChild(AnnaNonEditableGenericTableComponent) nonEditableGTComponent: AnnaNonEditableGenericTableComponent;\n @ViewChild(\"actionCommentsModal\") actionCommentsModal: ActionCommentsPopupComponent;\n @ViewChild(\"offerRejectionReasonAndCommentModal\") offerRejectionModal: OfferRejectionPopupComponent;\n\n constructor(\n private router: Router,\n private route: ActivatedRoute,\n private cdRef: ChangeDetectorRef,\n private toastr: ToastrService,\n public modalService: NgbModal,\n private annaSortService: AnnaSortService,\n private annaGtService: AnnaGtHelperService,\n private annaFilterService: AnnaFilterService,\n private annaGlobalConfig: AnnaGlobalConfigService,\n private persistingFilterService: AnnaPersistingFilterService,\n private allOffersListingService: AllOffersListingService,\n\n private quarterFilterService: CalendarQuarterYearFilterService,\n @Inject(ALL_OFFERS_LISTING_SERVICE_TOKEN)\n public consumingProjectAllOfferListingService: IAllOffersListingBackendService,\n ) {\n this.initVariables();\n this.setGtGeneralConfig();\n this.setMetricConfig();\n }\n ngOnChanges(changes: SimpleChanges): void {\n if (changes?.orderDefaultMetricType?.currentValue) {\n if (this.orderDefaultMetricType === \"GRP\") {\n this.selectedMetricType = this.metricTypeList[0];\n } else {\n this.selectedMetricType = this.metricTypeList[1];\n }\n this.cdRef.detectChanges();\n this.setTableHeader();\n }\n\n if (changes?.primaryOrderData?.currentValue) {\n this.fetchFilterDataForOffers();\n }\n }\n\n ngOnInit() {\n this.initVariables();\n this.detectUrlChanges();\n this.setTableHeader();\n this.easyFilters = this.consumingProjectAllOfferListingService.getOffersListingEasyFilters();\n }\n\n fetchFilterDataForOffers() {\n this.periodFilterLoader = true;\n this.consumingProjectAllOfferListingService\n .getFiltersDataForOffers(this.stationId, this.orderId)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(\n (response: PeriodFilterForOffers) => {\n if (response) {\n this.initPeriodSelectionVariables(response);\n } else {\n this.getOrdersApiErrorHandler();\n }\n this.periodFilterLoader = false;\n },\n (error: Error) => {\n this.toastr.error(Constants.SERVER_ERROR_MSG);\n this.getOrdersApiErrorHandler();\n this.periodFilterLoader = false;\n },\n );\n }\n\n getWeekRangesMondayAndSundayForLatestOfferDate(response: PeriodFilterForOffers) {\n this.noPeriodFilterFound = false;\n response.LatestOffersDate = response.LastOfferDate;\n if (!response.FirstOfferDate || !response.LastOfferDate) {\n this.noPeriodFilterFound = true;\n return {\n StartDate: dayjs(this.primaryOrderData?.campaignStartDate).format(\"MM/DD/YYYY\"),\n EndDate: dayjs(this.primaryOrderData?.campaignEndDate).format(\"MM/DD/YYYY\"),\n };\n }\n let sunday;\n let monday;\n const givenDate = dayjs(response.LatestOffersDate, \"MM/DD/YYYY\");\n const isSunday = dayjs(givenDate).day() === 0;\n\n if (isSunday) {\n sunday = givenDate;\n monday = sunday.subtract(6, \"days\");\n } else {\n monday = givenDate.startOf(\"week\").add(1, \"day\"); // Start of week (Sunday) + 1 day for Monday\n sunday = monday.add(6, \"days\");\n }\n return {\n StartDate: dayjs(monday).format(\"MM/DD/YYYY\"),\n EndDate: dayjs(sunday).format(\"MM/DD/YYYY\"),\n };\n }\n\n initPeriodSelectionVariables(response: PeriodFilterForOffers) {\n this.EntireRangeSelectionMessage = \"Show order's entire offers\";\n this.startDateConsideringFactor = StartDateConsideringFactor.FLIGHT_START_DATE;\n if (this.primaryOrderData?.orderInfo?.orderFlightStatus === \"COMPLETED\") {\n this.startDateConsideringFactor = StartDateConsideringFactor.FLIGHT_END_DATE;\n }\n this.flightPeriodData = {\n statDate: response.FirstOfferDate,\n endDate: response.LastOfferDate,\n };\n response.LatestOffersWeekDate = this.getWeekRangesMondayAndSundayForLatestOfferDate(response);\n this.quarterFilterService.publishQuarterFilterData({\n filterData: response,\n selectedFilter: null,\n });\n this.cdRef.markForCheck();\n }\n\n setTableHeader(loading: boolean = true) {\n this.tableHeaders = this.consumingProjectAllOfferListingService.getTableHeadersForOffersListing(\n loading ? this.showSkeletonLoading : false,\n this.selectedMetricType?.text,\n this.estimatePriorities,\n );\n this.cdRef.detectChanges();\n }\n\n initVariables() {\n this.applyFiltersFromTheUrl = false;\n this.metricTypeList = [\n { id: 0, text: \"GRP\" },\n { id: 1, text: \"IMP('000)\" },\n ];\n }\n\n setGtGeneralConfig() {\n this.gtGeneralConfig = { ...this.annaGlobalConfig.defaultGtGeneralConfig };\n this.gtGeneralConfig.bufferSize = 1000;\n this.gtGeneralConfig.verticalScrollOffsetForFilterTooltip = 200;\n }\n\n detectUrlChanges() {\n this.route.queryParams.subscribe((params: Params) => {\n this.updateLatestFilters(params);\n this.setPersistingVariableForColumnAndEasyFilter(params.filters);\n });\n }\n\n setPersistingVariableForColumnAndEasyFilter(columnAndEasyFilter: string) {\n this.allOffersListingService.latestOffersTabFilter = columnAndEasyFilter;\n this.filtersFromRoute =\n columnAndEasyFilter && this.persistingFilterService.getActualQueryParams(columnAndEasyFilter)\n ? JSON.parse(this.persistingFilterService.getActualQueryParams(columnAndEasyFilter))\n : null;\n this.applyFiltersFromTheUrl = !!this.filtersFromRoute;\n this.initPersistedFilters();\n }\n\n initPersistedFilters() {\n this.annaFilterService.tooltipSelectedMap = this.filtersFromRoute?.selectedFilterData\n ? new Map(JSON.parse(this.filtersFromRoute.selectedFilterData))\n : new Map();\n this.annaSortService.columnSortState = this.filtersFromRoute?.sortState\n ? new Map(JSON.parse(this.filtersFromRoute.sortState))\n : new Map();\n this.annaFilterService.selectedRadio = null;\n this.annaFilterService.appliedFiltersArray = this.filtersFromRoute?.appliedFilters\n ? cloneDeep(this.filtersFromRoute.appliedFilters)\n : [];\n\n if (this.annaFilterService.tooltipSelectedMap.has(\"startDate\")) {\n const selectedDateObj: { fromDate: Dayjs; toDate: Dayjs } = null;\n const startDate = this.annaFilterService.tooltipSelectedMap.get(\"startDate\");\n selectedDateObj.fromDate = dayjs(startDate.fromDate);\n selectedDateObj.toDate = dayjs(startDate.toDate);\n this.annaFilterService.tooltipSelectedMap.set(\"startDate\", selectedDateObj);\n }\n\n if (this.annaFilterService.tooltipSelectedMap.has(\"endDate\")) {\n const selectedDateObj: { fromDate: Dayjs; toDate: Dayjs } = null;\n const endDate = this.annaFilterService.tooltipSelectedMap.get(\"endDate\");\n selectedDateObj.fromDate = dayjs(endDate.fromDate);\n selectedDateObj.toDate = dayjs(endDate.toDate);\n this.annaFilterService.tooltipSelectedMap.set(\"endDate\", selectedDateObj);\n }\n }\n\n initFilters() {\n this.annaFilterService.tooltipSelectedMap = new Map();\n this.annaFilterService.selectedRadio = null;\n this.annaFilterService.appliedFiltersArray = [];\n this.annaSortService.noSortingAppliedData = [];\n }\n\n setBreadcrumbs() { }\n\n fetchAllOffersListingData(filteredDate: { startDate: string; endDate: string }) {\n this.showSkeletonLoading = true;\n this.consumingProjectAllOfferListingService\n .getAllOffersListingData(this.stationId, this.orderId, filteredDate.startDate, filteredDate.endDate)\n .pipe(takeUntil(this.ngUnsubscribe))\n .subscribe(\n (response: AllOffersBEAPIResponse) => {\n if (response?.Offers?.length) {\n this.allOffersTableData = [];\n this.estimatePriorities = response?.EstimatePriority;\n this.allOffersTableData = new OffersData(response, this.userType).offers;\n this.clonedAllOffersTableData = cloneDeep(this.allOffersTableData);\n this.annaSortService.noSortingAppliedData = cloneDeep(this.allOffersTableData);\n this.handleResponse();\n } else {\n this.getOrdersApiErrorHandler();\n }\n },\n (error: Error) => {\n this.toastr.error(Constants.SERVER_ERROR_MSG);\n this.getOrdersApiErrorHandler();\n },\n );\n }\n\n getOrdersApiErrorHandler() {\n this.allOffersTableData = [];\n this.clonedAllOffersTableData = [];\n this.showSkeletonLoading = false;\n // this.enableDisableEasyFilter();\n this.estimatePriorities = [\"RollingEstimate\", \"StationEstimate\", \"BookedRTG\", \"AverageRTG\"];\n this.setTableHeader(false);\n this.cdRef.detectChanges();\n }\n\n handleResponse() {\n this.setTableHeader(false);\n this.allOffersTableData = this.formatResponseForGenericTable(this.allOffersTableData);\n this.clonedAllOffersTableData = cloneDeep(this.allOffersTableData);\n this.handleFilteringAndSortingOfData();\n this.showSkeletonLoading = false;\n this.cdRef.detectChanges();\n }\n\n applyPeriodSelection(value: DateAndAllKeyType) {\n if (this.noPeriodFilterFound) {\n this.getOrdersApiErrorHandler();\n } else {\n this.fetchAllOffersListingData(value);\n }\n }\n\n createTotalRowData() {\n this.totalRowInfo = [];\n }\n\n metricChanged(metricSelected: IdText) {\n this.selectedMetricType = metricSelected as { id: number; text: OrderMetricsForPrimaryData };\n this.setTableHeader(false);\n this.createTotalRowData();\n this.setTableRowClass();\n this.enabledisableResetAllFilter();\n this.updateNavigationHistory();\n this.cdRef.markForCheck();\n }\n\n setTableRowClass() {\n let setWhiteBackground = true;\n let previousRowGroupId: string = null;\n let currentRowGroupId: string = null;\n const GRAY_BG = \"gray-background-row\";\n const WHITE_BG = \"white-background-row\";\n\n this.allOffersTableData.forEach((row: AllOffersList, index) => {\n currentRowGroupId = row?.groupId;\n const isPreviousGroupIdSameAsCurrent = previousRowGroupId === currentRowGroupId;\n row.gtClass = row.gtClass?.replace(GRAY_BG, \" \");\n row.gtClass = row.gtClass?.replace(WHITE_BG, \" \");\n if (\n !this.isIndependentSpotGroupId(currentRowGroupId) &&\n (this.isIndependentSpotGroupId(previousRowGroupId) || isPreviousGroupIdSameAsCurrent)\n ) {\n row.gtClass = setWhiteBackground ? `${row.gtClass} ${WHITE_BG} ` : `${row.gtClass} ${GRAY_BG} `;\n previousRowGroupId = currentRowGroupId;\n } else if (!this.isIndependentSpotGroupId(currentRowGroupId) && !isPreviousGroupIdSameAsCurrent) {\n setWhiteBackground = !setWhiteBackground;\n row.gtClass = setWhiteBackground ? `${row.gtClass} ${WHITE_BG} ` : `${row.gtClass} ${GRAY_BG} `;\n previousRowGroupId = currentRowGroupId;\n } else if (this.isIndependentSpotGroupId(currentRowGroupId)) {\n if (index !== 0) {\n setWhiteBackground = !setWhiteBackground;\n }\n row.gtClass = setWhiteBackground ? `${row.gtClass} ${WHITE_BG} ` : `${row.gtClass} ${GRAY_BG} `;\n }\n });\n }\n\n filterAppliedToTable(data: AllOffersList[]) {\n this.allOffersTableData = cloneDeep(this.formatResponseForGenericTable(data));\n // this.enableDisableEasyFilter();\n this.createTotalRowData();\n this.enabledisableResetAllFilter();\n this.updateNavigationHistory();\n }\n\n sortingAppliedToTable(data: AllOffersList[]) {\n this.allOffersTableData = cloneDeep(data);\n this.enabledisableResetAllFilter();\n this.updateNavigationHistory();\n }\n\n isIndependentSpot(arr: AllOffersList) {\n return arr.groupId === \"00000000-0000-0000-0000-000000000000\";\n }\n\n isIndependentSpotGroupId(groupId: string) {\n return groupId === \"00000000-0000-0000-0000-000000000000\";\n }\n\n setAllHideAndRowSpanToDefault() { }\n\n formatResponseForGenericTable(arr: AllOffersList[]) {\n for (let i = 0; i < arr?.length; i++) {\n if (this.isIndependentSpot(arr[i])) {\n arr[i].hideofferIdTd = false;\n arr[i].hidelastActionByTd = false;\n arr[i].hidespotTypeTd = false;\n arr[i].hideselectedActionTd = false;\n arr[i].hidebizRuleTypeStandardOrRelaxedTd = false;\n arr[i].offerIdRowspan = 1;\n arr[i].lastActionByRowspan = 1;\n arr[i].spotTypeRowspan = 1;\n arr[i].selectedActionRowspan = 1;\n arr[i].bizRuleTypeStandardOrRelaxedRowspan = 1;\n this.setActionColumnRadioConfig(arr[i]);\n } else {\n const diffSpotTypeInPEMGGroup: SpotTypeFromBE[] = cloneDeep(\n uniqBy(\n arr.filter((n) => n.groupId === arr[i].groupId),\n \"spotType\",\n ),\n ).map((n) => n.spotType);\n\n const lastIndexOfFirstStatusBelongingToGroup: number = findLastIndex(\n arr,\n (n: AllOffersList) => n.spotType === arr[i].spotType && n.groupId === arr[i].groupId,\n );\n const lastSpotIndexOfGroup: number = findLastIndex(\n arr,\n (n: AllOffersList) => n.groupId === arr[i].groupId,\n );\n const preemptionRowsCount: number = lastIndexOfFirstStatusBelongingToGroup - i + 1;\n const spotsCountBelongingToGroup: number = lastSpotIndexOfGroup - i + 1;\n let j: number = cloneDeep(i + 1);\n\n const gtClass = arr[i].spotType === \"ADU\" ? \" status-align-top-adu\" : \" status-align-top\";\n const statusGTClass = arr[i].spotType === \"ADU\" ? \" status-align-top-adu\" : \" status-value-align-top\";\n\n if (spotsCountBelongingToGroup > 1) {\n if (preemptionRowsCount > 1) {\n arr[i].gtClass = arr[i].gtClass + gtClass + statusGTClass;\n } else {\n arr[i].gtClass += gtClass;\n }\n } else {\n arr[i].gtClass = arr[i].gtClass?.replace(\"status-align-top\", \"\");\n }\n\n arr[i].hidespotTypeTd = false;\n arr[i].hideofferIdTd = false;\n arr[i].hideselectedActionTd = false;\n arr[i].hidebizRuleTypeStandardOrRelaxedTd = false;\n arr[i].hidelengthTd = false;\n arr[i].hideinventoryCodeTd = false;\n arr[i].hidedaypartTd = false;\n arr[i].hidescheduledDateAndTimeTd = false;\n arr[i].hidelastActionByTd = false;\n arr[i].hiderecallOfferColumnTd = false;\n\n const filteredArray: AllOffersList[] = arr.filter(\n (n) => n.groupId === arr[i].groupId && n.bizRuleTypeStandardOrRelaxed !== \"-\",\n );\n const setDisplayBusinessRulesTo: \"Standard\" | \"Relaxed\" | \"-\" =\n filteredArray.length > 0 ? filteredArray[0].bizRuleTypeStandardOrRelaxed : \"-\";\n\n arr[i].bizRuleTypeStandardOrRelaxed = setDisplayBusinessRulesTo;\n arr[i].bizRuleTypeStandardOrRelaxedRowspan = spotsCountBelongingToGroup;\n arr[i].offerIdRowspan = spotsCountBelongingToGroup;\n arr[i].lastActionByRowspan = spotsCountBelongingToGroup;\n\n arr[i].selectedActionRowspan = spotsCountBelongingToGroup;\n arr[i].spotTypeRowspan = preemptionRowsCount;\n // arr[i].offerIdRowspan = preemptionRowsCount;\n arr[i].recallOfferColumnRowspan = spotsCountBelongingToGroup;\n if (arr[i].spotType === \"ADU\") {\n arr[i].lengthRowspan = spotsCountBelongingToGroup;\n arr[i].inventoryCodeRowspan = spotsCountBelongingToGroup;\n arr[i].daypartRowspan = spotsCountBelongingToGroup;\n arr[i].scheduledDateAndTimeRowspan = spotsCountBelongingToGroup;\n arr[i].lastActionByRowspan = spotsCountBelongingToGroup;\n }\n\n // if at least one preemption spot was marked for credit, that group should show mark for credit option\n const array = cloneDeep(arr);\n const markedForCreditObjectOfGroup = cloneDeep(\n array\n .filter((n) => n.groupId === arr[i].groupId)\n .filter((obj) => obj.allowedAction && obj.allowedAction.MarkForCredit),\n );\n if (markedForCreditObjectOfGroup.length > 0) {\n arr[i].selectedAction = cloneDeep(markedForCreditObjectOfGroup[0].selectedAction);\n // arr[i].selectedAction = cloneDeep(markedForCreditObjectOfGroup[0].allowedAction);\n }\n const sellerOfferCommentsForGroup = array.filter(\n (n) => n.groupId === arr[i].groupId && n.approveOfferComment != null,\n );\n if (sellerOfferCommentsForGroup?.length > 0) {\n arr[i].approveOfferComment = cloneDeep(sellerOfferCommentsForGroup[0].approveOfferComment);\n }\n\n const markForCreditComment = array.filter(\n (n) => n.groupId === arr[i].groupId && n.markForCreditComment != null,\n );\n if (markForCreditComment?.length > 0) {\n arr[i].markForCreditComment = cloneDeep(markForCreditComment[0]?.markForCreditComment);\n }\n\n const rejectionCommentGroup = array.filter(\n (n) => n.groupId === arr[i].groupId && n.rejectActionComment?.length !== 0,\n );\n if (rejectionCommentGroup?.length > 0) {\n arr[i].rejectActionComment = cloneDeep(rejectionCommentGroup[0]?.rejectActionComment);\n }\n this.setActionColumnRadioConfig(arr[i]);\n\n while (j <= lastSpotIndexOfGroup) {\n arr[j].hidespotTypeTd = true;\n arr[j].hidelastActionByTd = true;\n arr[j].hideofferIdTd = true;\n arr[j].hideselectedActionTd = true;\n arr[j].hiderecallOfferColumnTd = true;\n arr[j].hidebizRuleTypeStandardOrRelaxedTd = true;\n arr[j].bizRuleTypeStandardOrRelaxed = setDisplayBusinessRulesTo;\n if (markForCreditComment?.length > 0) {\n arr[j].markForCreditComment = cloneDeep(markForCreditComment[0]?.markForCreditComment);\n }\n this.setActionColumnRadioConfig(arr[j]);\n if (arr[j].spotType === \"ADU\") {\n arr[j].hidelengthTd = true;\n arr[j].hideinventoryCodeTd = true;\n arr[j].hidedaypartTd = true;\n arr[j].hidescheduledDateAndTimeTd = true;\n arr[j].hidelastActionByTd = true;\n }\n j += 1;\n }\n\n const spotsInPEMGGroup = cloneDeep(arr.filter((n) => n.groupId === arr[i].groupId));\n for (let k = 1; k < diffSpotTypeInPEMGGroup.length; k++) {\n const PESpotsIndex: number = spotsInPEMGGroup?.findIndex(\n (n) => n.spotType === diffSpotTypeInPEMGGroup[k],\n );\n const countOfPESpots: number = spotsInPEMGGroup.filter(\n (n) => n.spotType === diffSpotTypeInPEMGGroup[k],\n ).length;\n\n const MGSpotsIndex = i + PESpotsIndex;\n\n arr[MGSpotsIndex].hidespotTypeTd = false;\n arr[MGSpotsIndex].hideofferIdTd = true;\n arr[MGSpotsIndex].hidelastActionByTd = true;\n\n arr[MGSpotsIndex].spotTypeRowspan = countOfPESpots;\n arr[MGSpotsIndex].offerIdRowspan = countOfPESpots;\n arr[MGSpotsIndex].lastActionByRowspan = countOfPESpots;\n\n arr[i].hidespotTypeTd = false;\n arr[i].hideofferIdTd = false;\n arr[i].hidelastActionByTd = false;\n\n const diffStatusGtClass =\n arr[MGSpotsIndex].spotType === \"ADU\" ? \" status-align-top-adu\" : \" status-align-top\";\n arr[MGSpotsIndex].gtClass =\n countOfPESpots > 1 ? arr[MGSpotsIndex].gtClass + diffStatusGtClass : arr[MGSpotsIndex].gtClass;\n }\n\n i = j - 1;\n }\n }\n return arr;\n }\n\n setActionColumnRadioConfig(spot: AllOffersList) {\n if (spot.allowedAction) {\n const radioButtons = Object.keys(spot.allowedAction);\n\n // if rejectActionComment is not set then override with sellerOfferComments.\n // if (spot.sellerOfferOrRejectComments?.length) {\n // if (spot.selectedAction === \"reject\" && !spot.rejectActionComment?.length) {\n // spot.rejectActionComment = cloneDeep(spot.sellerOfferOrRejectComments);\n // }\n // // if (spot.selectedAction === \"credit\" && !spot.markForCreditComment?.length) {\n // // spot.markForCreditComment = cloneDeep(spot.sellerOfferOrRejectComments?.[0]);\n // // }\n // }\n\n const RadioButtonConfig: any[] = [];\n\n radioButtons.forEach((button: any) => {\n const commentIcon: string = this.getCommentIconWhichComeInPopup(spot, button);\n const icons: { class: string; name?: string }[] = [];\n\n if (commentIcon && commentIcon !== \"\") {\n icons.push({\n class: commentIcon,\n name: (button === \"Reject\" && (!spot.rejectActionComment || spot.rejectActionComment?.length === 0) && spot.sellerCancellationComment) ?\n \"sellerCancellationComment\" : \"actionComment\",\n });\n }\n if (button === \"Reject\" && spot.sellerCancellationComment && icons.filter(n => n.name === \"sellerCancellationComment\")?.length === 0) {\n icons.push({\n class: \"mdi mdi-comment-quote-outline\",\n name: \"sellerCancellationComment\",\n });\n }\n RadioButtonConfig.push({\n value: this.allOffersListingService.getRadioButtonValue(button),\n isDisabled: true,\n label: this.allOffersListingService.getRadioButtonLabelDisplay(button),\n class: this.allOffersListingService.getRadioButtonValue(button),\n icons,\n tooltipMessage: this.getUndoOrCancelOrReofferedByMessage(spot, button),\n });\n });\n RadioButtonConfig[radioButtons.length - 1].class =\n `${RadioButtonConfig[radioButtons.length - 1].class} margin-bottom-zero`;\n spot.RadioButtonConfig = cloneDeep(RadioButtonConfig);\n }\n }\n\n checkIsSelectedAction(spot: AllOffersList, button: OfferActionRadioButtonValues) {\n if (spot.selectedAction === \"credit\" && button === \"MarkForCredit\") {\n return true;\n }\n return spot.selectedAction.toLowerCase() === button.toLowerCase();\n }\n\n getCommentIconWhichComeInPopup(spot: AllOffersList, button: OfferActionRadioButtonValues): string {\n const isSelectedAction = this.checkIsSelectedAction(spot, button);\n if (!isSelectedAction) return null;\n\n const messageIcon = \"mdi mdi-comment-quote-outline\";\n if (spot.selectedAction === \"approve\" && spot.approveOfferComment) {\n return messageIcon;\n } else if (spot.selectedAction === \"credit\" && spot.markForCreditComment) {\n return messageIcon;\n } else if (spot.selectedAction === \"reject\") {\n // not check if comment is present because for auto rejection offers like seller timeout we want to show the icon\n // with no message\n return messageIcon;\n }\n return null;\n }\n\n getUndoOrCancelOrReofferedByMessage(spot: AllOffersList, button: OfferActionRadioButtonValues): string {\n let tooltipMsg = \"\";\n const isSelectedAction = this.checkIsSelectedAction(spot, button);\n if (isSelectedAction) {\n if (spot.cancelledBy) {\n tooltipMsg = `This offer was cancelled by ${spot.cancelledBy}.`;\n } else if (spot.reOfferBy) {\n tooltipMsg = `This offer was reoffered by ${spot.reOfferBy}.`;\n }\n if (spot.reofferComment) {\n tooltipMsg += ` Reoffer comment: ${spot.reofferComment}.`;\n }\n }\n\n return tooltipMsg;\n }\n\n radioButtonMessageIconClicked(event: { data: AllOffersList, iconName: string }) {\n let actionRadioButtonComment: string = null;\n if (event.iconName && event.iconName === \"sellerCancellationComment\") {\n this.openSellerCancellationCommentPopup(event.data);\n return;\n }\n switch (event.data.selectedAction) {\n case \"reject\":\n this.openOfferRejectionReasonAndCommentModal(event.data, false);\n break;\n\n case \"credit\":\n case \"approve\":\n this.actionCommentPopupTitle =\n event.data.selectedAction === \"credit\" ? \"Credit Offer Comment\" : \"Approve Offer Comment\";\n\n if (event.data.selectedAction === \"credit\" && event.data.markForCreditComment) {\n actionRadioButtonComment = event.data.markForCreditComment;\n } else if (event.data.selectedAction === \"approve\" && event.data.approveOfferComment) {\n actionRadioButtonComment = event.data.approveOfferComment;\n }\n\n this.actionCommentsModal?.closeModal();\n this.actionCommentsModal?.openModal(event.data, actionRadioButtonComment);\n break;\n\n default:\n break;\n }\n }\n\n openSellerCancellationCommentPopup(rowData: AllOffersList) {\n this.actionCommentPopupTitle = \"Cancel Offer Comment\";\n this.actionCommentsModal?.closeModal();\n this.actionCommentsModal?.openModal(rowData, rowData.sellerCancellationComment, \"\");\n }\n\n openOfferRejectionReasonAndCommentModal(data: AllOffersList, revertToApproveIfCancelClickedInPopup: boolean) {\n this.rowDataForRejectionPopup = data;\n this.rejectionPopupData = {\n showActionInRejectionPopup: data.showActionInRejectionPopup,\n allowActionInRejectionPopup: data.allowActionInRejectionPopup,\n rejectActionComment: data.rejectActionComment,\n excludeFromFutureOffers: data.excludeFromFutureOffers,\n rejectionHeader: data.rejectionHeader || \"Reject Offers\",\n };\n this.spotTypeForRejectionPoup = data.spotType;\n this.offerRejectionPossibleReasons = this.allOffersListingService.getAllRejectionReasons();\n setTimeout(() => {\n this.offerRejectionModal?.setRevertToApproveIfCancelClickedInPopup(revertToApproveIfCancelClickedInPopup);\n }, 0);\n }\n\n handleFilteringAndSortingOfData() {\n if (this.filtersFromRoute?.metricText) {\n this.selectedMetricType = this.metricTypeList.filter(\n (metric) => metric.text === this.filtersFromRoute.metricText,\n )[0];\n } else {\n this.selectedMetricType = this.metricTypeList.filter(\n (metric) => metric.text === this.orderDefaultMetricType,\n )[0];\n }\n this.annaSortService.columnSortState = this.filtersFromRoute?.sortState\n ? new Map(JSON.parse(this.filtersFromRoute.sortState))\n : new Map();\n\n this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);\n\n this.allOffersTableData = this.annaFilterService.filterData(this.clonedAllOffersTableData, \"\");\n this.annaSortService.noSortingAppliedData = cloneDeep(this.allOffersTableData);\n this.callSort();\n this.enabledisableResetAllFilter();\n this.createTotalRowData();\n }\n\n callSort() {\n this.annaSortService.columnSortState.forEach((value, key) => {\n if (value === \"ASC\") {\n this.allOffersTableData = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(\n true,\n this.allOffersTableData,\n key,\n );\n } else if (value === \"DESC\") {\n this.allOffersTableData = this.annaSortService.sortDataForComponentOtherThanLurAndCsrPage(\n false,\n this.allOffersTableData,\n key,\n );\n }\n });\n }\n\n easyFilterClicked(emittedObj: any) {\n this.nonEditableGTComponent.setScrollToInitialPosition();\n this.allOffersTableData = emittedObj.filteredData;\n this.createTotalRowData();\n\n this.enabledisableResetAllFilter();\n this.updateNavigationHistory();\n }\n\n enabledisableResetAllFilter() {\n let isSortApplied = false;\n this.annaSortService.columnSortState.forEach((val, key) => {\n if (val === \"ASC\" || val === \"DESC\") {\n isSortApplied = true;\n }\n });\n\n this.disableResetAllFilter = this.annaFilterService.appliedFiltersArray.length === 0 && !isSortApplied;\n }\n\n applyFilters() {\n this.allOffersTableData = this.annaFilterService.filterData(this.clonedAllOffersTableData, \"\");\n this.annaFilterService.updateStateOfTheCurrentFilterTab(new Map());\n this.createTotalRowData();\n this.enabledisableResetAllFilter();\n this.updateNavigationHistory();\n }\n\n clearAllFilter() {\n this.selectedMetricType = this.metricTypeList.find((metric) => metric.text === this.orderDefaultMetricType);\n this.nonEditableGTComponent?.setScrollToInitialPosition();\n this.annaFilterService.tooltipSelectedMap = new Map();\n this.annaFilterService.selectedRadio = null;\n this.annaFilterService.appliedFiltersArray = [];\n this.annaSortService.columnSortState = new Map();\n this.enabledisableResetAllFilter();\n\n this.allOffersTableData = cloneDeep(this.formatResponseForGenericTable(this.clonedAllOffersTableData));\n this.createTotalRowData();\n this.setTableHeader(false);\n\n this.performActionOnQueryParamChange = false;\n\n this.modifyQueryParam(\"filters\", \"DELETE\");\n this.modifyQueryParam(\"breadcrumbs\", \"DELETE\");\n\n const latestFilter = this.getLatestFilters();\n\n if (latestFilter) {\n this.router.navigate([], {\n queryParams: latestFilter,\n });\n } else {\n this.router.navigate([]);\n }\n\n this.annaSortService.noSortingAppliedData = cloneDeep(this.clonedAllOffersTableData);\n this.annaFilterService.updateStateOfAllTheKeys(this.annaSortService.columnSortState);\n }\n\n getLatestFilters(): any {\n return this.filtersFromRoute;\n }\n\n setLatestFilters(queryParams: any) {\n this.filtersFromRoute = queryParams;\n }\n\n updateNavigationHistory() {\n this.performActionOnQueryParamChange = false;\n const queryParams = this.prepareQueryParamOnFilterApplication();\n\n if (Object.keys(queryParams).length > 0) {\n this.router.navigate([], {\n queryParams,\n });\n } else {\n this.router.navigate([]);\n }\n }\n\n prepareQueryParamOnFilterApplication() {\n const newFilters: any = {};\n\n // Column level filter\n if (this.annaFilterService.appliedFiltersArray.length > 0) {\n newFilters.appliedFilters = this.annaFilterService.appliedFiltersArray;\n newFilters.selectedFilterData = JSON.stringify(Array.from(this.annaFilterService.tooltipSelectedMap));\n // newFilters.easyFilter = this.selectedEasyFilter ? this.selectedEasyFilter.text : null;\n }\n\n // Column level sorting\n if (this.annaGtService.isSortingAppliedToTable()) {\n newFilters.sortState = JSON.stringify(Array.from(this.annaSortService.columnSortState));\n }\n\n if (this.selectedMetricType?.text !== this.orderDefaultMetricType) {\n newFilters.metricText = this.selectedMetricType?.text;\n }\n\n const existingParentQueryParams = this.queryParams ? cloneDeep(this.queryParams) : {};\n if (Object.keys(newFilters).length > 0) {\n const hashedQueryParams = this.persistingFilterService.storeKeyValueInLocalStorage(newFilters);\n this.annaGtService.updateQueryParamsFilter(\"filters\", hashedQueryParams, \"ADD\", existingParentQueryParams);\n } else {\n this.annaGtService.updateQueryParamsFilter(\"filters\", {}, \"DELETE\", existingParentQueryParams);\n }\n return existingParentQueryParams;\n }\n\n resetSorting() {\n this.annaSortService.columnSortState = new Map();\n }\n modifyQueryParam(key: string, operation: string, value?: any) {\n // Fetching latest filters\n let latestFilter = this.getLatestFilters();\n latestFilter = latestFilter || {};\n\n // Perform Operation on the latestFilter\n if (operation === \"ADD\") {\n latestFilter[key] = value;\n } else if (operation === \"DELETE\") {\n delete latestFilter[key];\n }\n\n this.setLatestFilters(Object.keys(latestFilter).length > 0 ? latestFilter : null);\n }\n\n updateLatestFilters(queryParams: any) {\n const latestFilters = this.getLatestFilters();\n const updatedQueryParams = Object.keys(queryParams).length === 0 ? null : queryParams;\n\n if (!isEqual(updatedQueryParams, latestFilters)) {\n this.setLatestFilters(cloneDeep(updatedQueryParams));\n }\n }\n\n setMetricConfig() {\n this.metricDropdownConfig = { ...this.annaGlobalConfig.defaultSingleSelectConfig };\n this.metricDropdownConfig.placeholder = \"No data found\";\n }\n\n ngOnDestroy() {\n // This aborts all HTTP requests with takeUntil pipe when navigated to some other page.\n this.ngUnsubscribe.next();\n this.ngUnsubscribe.complete();\n }\n}\n","<div class=\"period-and-metric-filter\">\n <anna-design-order-container-filter-modal\n *ngIf=\"flightPeriodData\"\n [title]=\"'Edit Period'\"\n [selectedData]=\"persistingFilterPeriodData\"\n [flightPeriod]=\"flightPeriodData\"\n [message]=\"'Select period for which you want to view the offers for.'\"\n [PeriodOptions]=\"PeriodOptions\"\n [startDateConsideringFactor]=\"startDateConsideringFactor\"\n [parentQueryParams]=\"queryParams\"\n [defaultPeriodSelection]=\"'Week'\"\n [disablePeriodSelection]=\"periodFilterLoader || noPeriodFilterFound\"\n [EntireRangeSelectionMessage]=\"EntireRangeSelectionMessage\"\n (apply)=\"applyPeriodSelection($event)\"\n [removeQuarterSelectionsIfOnlyOneQuarter]=\"true\"\n >\n </anna-design-order-container-filter-modal>\n\n <anna-design-skt-loader\n *ngIf=\"!flightPeriodData\"\n [count]=\"1\"\n [theme]=\"{\n height: '24px',\n width: '280px',\n margin: '11px 0 0 0',\n display: 'inline-block'\n }\"\n >\n </anna-design-skt-loader>\n\n <anna-design-single-select\n *ngIf=\"!showSkeletonLoading && selectedMetricType\"\n [items]=\"metricTypeList\"\n class=\"order-metrics-dropdown\"\n [selectedItem]=\"selectedMetricType\"\n [config]=\"metricDropdownConfig\"\n [disabled]=\"showSkeletonLoading || allOffersTableData?.length === 0\"\n (valueChanged)=\"metricChanged($event)\"\n >\n </anna-design-single-select>\n</div>\n\n<div class=\"d-flex easy-reset-container\">\n <anna-design-easy-filters\n [showLoader]=\"showSkeletonLoading\"\n [numberOfItemsForLoader]=\"numberOfEasyFilterLoader\"\n [easyFilters]=\"easyFilters\"\n [tableData]=\"allOffersTableData\"\n [clonedTableData]=\"clonedAllOffersTableData\"\n (easyFilterClickEvent)=\"easyFilterClicked($event)\"\n >\n </anna-design-easy-filters>\n\n <button\n *ngIf=\"!showSkeletonLoading || !selectedMetricType\"\n class=\"clear-all-btn\"\n (click)=\"clearAllFilter()\"\n [disabled]=\"disableResetAllFilter\"\n >\n Reset all filters\n </button>\n</div>\n\n<anna-core-non-editable-generic-table-lib\n class=\"order-listing-generic-table all-offers-listing-table {{ userType }}\"\n [ngClass]=\"{\n 'no-data-table': !showSkeletonLoading && allOffersTableData && allOffersTableData?.length === 0,\n 'loading-state': showSkeletonLoading\n }\"\n [showSkeletonLoading]=\"showSkeletonLoading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"allOffersTableData\"\n [clonedTableData]=\"clonedAllOffersTableData\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [includeBorderInTableHeight]=\"false\"\n [gtDimension]=\"gtDimension\"\n [clickableRow]=\"false\"\n [showOrHideToggleForTotalRow]=\"false\"\n [tdsHaveRowSpan]=\"true\"\n [hideSomeTds]=\"true\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (radioButtonMessageIconClicked)=\"radioButtonMessageIconClicked($event)\"\n [tableBorderBottomClassRequired]=\"false\"\n>\n</anna-core-non-editable-generic-table-lib>\n\n<!-- MODALS -->\n<anna-feature-action-comments-popup\n #actionCommentsModal\n [title]=\"actionCommentPopupTitle\"\n [allowEdit]=\"false\"\n>\n</anna-feature-action-comments-popup>\n\n<anna-feature-offer-rejection-popup\n #offerRejectionReasonAndCommentModal\n [rejectionPopupData]=\"rejectionPopupData\"\n [spotType]=\"spotTypeForRejectionPoup\"\n [isSubmitCommentButtonEnabled]=\"false\"\n [offerRjectionPossibleReasons]=\"offerRejectionPossibleReasons\"\n>\n</anna-feature-offer-rejection-popup>\n","import { ESTIMATEPRIORITIES } from \"@annalib/anna-feature-lib\";\n\nimport { SpotTypeFromBE } from \"./all-offers-listing.constant\";\n\nexport type OfferStatusTypeFromBE =\n | \"Confirmed\"\n | \"Cancelled\"\n | \"SM Approved\"\n | \"SM Rejected\"\n | \"Buyer Timedout\"\n | \"Buyer Rejected\"\n | \"Seller Rejected\"\n | \"Rep Entry Failed\"\n | \"Seller Reconfirm Timedout\"\n | \"WOT Entry Failed\";\n\nexport type BizRuleTypeFromBE = \"Standard\" | \"Relaxed\" | \"-\";\nexport type RevisionTypeFromBE = \"ANNA\" | \"SELLER\" | \"BUYER\";\nexport type SolvedTypeFromBE = \"LINE\" | \"ROLLING_ESTIMATES\" | \"ESTIMATES\" | \"AVERAGE\" | \"MODIFIED\";\n\n// export type IAllOffersActionsTypeFromBE = \"Approve\" | \"Reject\" | \"Mark For Credit\" | \"No Action\";\n\nexport class IAllOffersActions {\n Approve?: boolean;\n Reject?: boolean;\n MarkForCredit?: boolean;\n NoAction?: boolean;\n}\n\nexport type OfferActionRadioButtonValues = \"Approve\" | \"Reject\" | \"MarkForCredit\" | \"NoAction\";\n\nexport class IAllOffersActionsFromBE {\n Approve?: boolean;\n Reject?: boolean;\n \"Mark For Credit\"?: boolean;\n \"No Action\"?: boolean;\n}\n\nexport interface AllOffersBEAPIResponse {\n EstimatePriority: ESTIMATEPRIORITIES[];\n SpecialDayparts: string[];\n Offers: OffersListBEResponse[];\n}\n\nexport const enum OrderMetricsForPrimaryData {\n rating = \"GRP\",\n imps = \"IMP('000)\",\n}\n\nexport interface OffersListBEResponse {\n OfferId: string;\n GroupId: string;\n OfferStatus: string;\n LastUpdatedOn: string;\n BizRule: BizRuleTypeFromBE;\n Action: IAllOffersActionsFromBE;\n\n ApproveOfferComment: string;\n RejectOfferComments: string[];\n MarkForCreditComment: string;\n SellerCancellationComment: string;\n\n ReofferComment: string;\n IsRatingImpressionBumped: boolean;\n ReofferedBy: string;\n CancelledBy: string;\n SpotType: SpotTypeFromBE;\n LastEditedOrAddedBy: string;\n SellerLine: number;\n BuyerLine: number;\n WeekStartDate: string;\n ScheduledDayAndTime: string;\n Len: string;\n BuyerProgramName: string;\n SellerProgramName: string;\n InventoryCode: string;\n ShowSolvedTypeIcon: boolean;\n Rate: number;\n AvgRate: number;\n BookedAvgRatings: number;\n Ratings: number;\n Impressions: number;\n AnnaEstImps: number;\n StationEstimatedImps: number;\n BuyerImps: number;\n Daypart: string;\n RevenueClass: string;\n RevisionType: RevisionTypeFromBE;\n IsFreeFlowGroup: boolean;\n HighlightRate: boolean;\n HighlightRatingsOrImpressions: boolean;\n SolvedType: SolvedTypeFromBE;\n RatingsUsedToSolve: number;\n ImpressionsUsedToSolve: number;\n ProjectedImpressions: number;\n ProjectedRatings: number;\n ExcludeFromFutureOffers: boolean;\n Remarks: string;\n WeeklyAURatings: number;\n WeeklyAUImpressions: number;\n BookedRatings: number;\n BookedImpressions: number;\n RollingEstimateRatings: number;\n RollingEstimateImpressions: number;\n StationEstimateRatings: number;\n StationEstimateImpressions: number;\n LastActionBy: string;\n RejectionHeader: string;\n AllowActionInRejectionPopup: boolean;\n ShowActionInRejectionPopup: boolean;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
@@ -10,8 +10,8 @@ import { MultiSelectIdText, DASHBOARD_FILTER_MODAL_SERVICE_TOKEN, SkeletonLoader
|
|
|
10
10
|
import * as i2 from '@ng-bootstrap/ng-bootstrap';
|
|
11
11
|
import { isEqual, cloneDeep } from 'lodash-es';
|
|
12
12
|
import * as i7 from '@annalib/anna-feature-lib';
|
|
13
|
-
import * as i3 from '@annalib/anna-feature-
|
|
14
|
-
import { UserOfferSpecificDRROrderDataForSeller, ANNAOfferSpecificDRROrderDataForSeller, ANNAOfferSpecificDRROrderDataForBuyer } from '@annalib/anna-feature-
|
|
13
|
+
import * as i3 from '@annalib/anna-feature-spots-approval/anna-feature-shared-lib';
|
|
14
|
+
import { UserOfferSpecificDRROrderDataForSeller, ANNAOfferSpecificDRROrderDataForSeller, ANNAOfferSpecificDRROrderDataForBuyer } from '@annalib/anna-feature-spots-approval/anna-feature-shared-lib';
|
|
15
15
|
import dayjs from 'dayjs';
|
|
16
16
|
import * as i8 from 'ngx-skeleton-loader';
|
|
17
17
|
import { NgxSkeletonLoaderModule } from 'ngx-skeleton-loader';
|