@annalib/anna-feature-biz-rules 0.0.1
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/README.md +63 -0
- package/advertiser-listing/index.d.ts +5 -0
- package/advertiser-listing/public-api.d.ts +5 -0
- package/advertiser-listing/src/advertiser-filter-modal/advertiser-filter-modal.component.d.ts +91 -0
- package/advertiser-listing/src/advertiser-filter-modal/models/advertiser-filter-modal.model.d.ts +13 -0
- package/advertiser-listing/src/advertiser-table-listing/advertiser-table-listing.component.d.ts +81 -0
- package/advertiser-listing/src/advertiser-table-listing/model/adv-table-listing.model.d.ts +24 -0
- package/advertiser-listing/src/advertiser-table-listing/services/adv-table-listing.service.d.ts +6 -0
- package/biz-rules-order-listing/index.d.ts +5 -0
- package/biz-rules-order-listing/public-api.d.ts +5 -0
- package/biz-rules-order-listing/src/biz-rules-order-listing.component.d.ts +139 -0
- package/biz-rules-order-listing/src/model/biz-rule-order-listing.constant.d.ts +35 -0
- package/biz-rules-order-listing/src/model/biz-rule-order-listing.model.d.ts +107 -0
- package/biz-rules-order-listing/src/service/automation-activated-and-pod.token.service.d.ts +24 -0
- package/biz-rules-order-listing/src/service/biz-rule-order-listing-backend.service.d.ts +18 -0
- package/business-rules/index.d.ts +5 -0
- package/business-rules/public-api.d.ts +27 -0
- package/business-rules/src/add-buyer-contact/models/add-buyer-contact.model.d.ts +13 -0
- package/business-rules/src/add-edit-buyer-contact-popup/add-edit-buyer-contact-popup.component.d.ts +53 -0
- package/business-rules/src/add-edit-buyer-contact-popup/services/buyer-contact-token.service.d.ts +6 -0
- package/business-rules/src/adu-rules/adu-rules.component.d.ts +88 -0
- package/business-rules/src/adu-rules/models/adu-rules.model.d.ts +84 -0
- package/business-rules/src/approval-config/approval-config.component.d.ts +49 -0
- package/business-rules/src/approval-config/services/approval-config.service.d.ts +10 -0
- package/business-rules/src/avatar/avatar.component.d.ts +18 -0
- package/business-rules/src/business-rule-page/business-rule-page.component.d.ts +95 -0
- package/business-rules/src/business-rule-page/models/business-rule-page.constants.d.ts +70 -0
- package/business-rules/src/business-rule-page/models/business-rule.model.d.ts +567 -0
- package/business-rules/src/business-rule-page/services/business-rule-common-SI-BI-logic.service.d.ts +19 -0
- package/business-rules/src/business-rules-history/business-rules-history.component.d.ts +44 -0
- package/business-rules/src/business-rules-history/models/biz-rule-history.model.d.ts +28 -0
- package/business-rules/src/business-rules-history-popup/business-rules-history-popup.component.d.ts +60 -0
- package/business-rules/src/business-rules-history-popup/models/business-rules-history-popup.model.d.ts +15 -0
- package/business-rules/src/buyer-contact-history/buyer-contact-history.component.d.ts +31 -0
- package/business-rules/src/buyer-contact-history/models/buyer-contact-history.model.d.ts +16 -0
- package/business-rules/src/buyer-contact-section/buyer-rep-contact-section.component.d.ts +43 -0
- package/business-rules/src/buyer-contact-section/models/buyer-contact.model.d.ts +52 -0
- package/business-rules/src/copy-biz-rules-popup/copy-biz-rules-popup.component.d.ts +91 -0
- package/business-rules/src/copy-biz-rules-popup/copy-business-rule-backend-service.token.d.ts +12 -0
- package/business-rules/src/copy-biz-rules-popup/models/copy-biz-rules.model.d.ts +47 -0
- package/business-rules/src/daypart-grouping-popup/daypart-grouping-popup.component.d.ts +31 -0
- package/business-rules/src/daypart-restrictions/daypart-restrictions.component.d.ts +62 -0
- package/business-rules/src/daypart-restrictions/pipe/replaceEnd.pipe.d.ts +7 -0
- package/business-rules/src/equivalent-and-higher-daypart/equivalent-and-higher-daypart.component.d.ts +39 -0
- package/business-rules/src/excluded-or-special-program/excluded-or-special-program.component.d.ts +58 -0
- package/business-rules/src/general-rules/general-rules.component.d.ts +105 -0
- package/business-rules/src/general-rules/models/general-rules-constant.d.ts +21 -0
- package/business-rules/src/inherit-biz-rule-approval-popup/inherit-biz-rule-approval-popup.component.d.ts +66 -0
- package/business-rules/src/inherit-biz-rule-approval-popup/models/inherit-biz-rule-approval-popup.model.d.ts +47 -0
- package/business-rules/src/inherit-biz-rule-approval-popup/services/inherit-biz-rule-approval-popup.service.d.ts +9 -0
- package/business-rules/src/make-good-rules/make-good-rules.component.d.ts +86 -0
- package/business-rules/src/make-good-rules/models/make-good-rules.model.d.ts +98 -0
- package/business-rules/src/make-good-rules/validators/relaxedValidation.d.ts +2 -0
- package/business-rules/src/mass-copy-biz-rules-popup/mass-copy-biz-rules-popup.component.d.ts +59 -0
- package/business-rules/src/mass-copy-biz-rules-popup/models/mass-copy-biz-rules.model.d.ts +32 -0
- package/fesm2022/annalib-anna-feature-biz-rules-advertiser-listing.mjs +768 -0
- package/fesm2022/annalib-anna-feature-biz-rules-advertiser-listing.mjs.map +1 -0
- package/fesm2022/annalib-anna-feature-biz-rules-biz-rules-order-listing.mjs +1068 -0
- package/fesm2022/annalib-anna-feature-biz-rules-biz-rules-order-listing.mjs.map +1 -0
- package/fesm2022/annalib-anna-feature-biz-rules-business-rules.mjs +6987 -0
- package/fesm2022/annalib-anna-feature-biz-rules-business-rules.mjs.map +1 -0
- package/fesm2022/annalib-anna-feature-biz-rules.mjs +88 -0
- package/fesm2022/annalib-anna-feature-biz-rules.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/anna-feature-biz-rules.module.d.ts +20 -0
- package/package.json +45 -0
- package/public-api.d.ts +1 -0
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from "@angular/core";
|
|
2
|
+
import { FormControl, FormGroup, ValidatorFn } from "@angular/forms";
|
|
3
|
+
import { AnnaGlobalConfigService, ICustomSingleSelect } from "@annalib/anna-core";
|
|
4
|
+
import { MessageBoxData, SingleSelectIdText } from "@annalib/anna-design-components-lib";
|
|
5
|
+
import { GeneralRules } from "../business-rule-page/models/business-rule.model";
|
|
6
|
+
import { GeneralBusinessRulesConstant, GeneralRulesTableHeader } from "./models/general-rules-constant";
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
export declare class GeneralRulesComponent implements OnChanges {
|
|
9
|
+
private annaGlobalService;
|
|
10
|
+
disableAdvertiserSeparation: boolean;
|
|
11
|
+
advertiserSeparationClonedValue: string;
|
|
12
|
+
generalRules: GeneralRules;
|
|
13
|
+
highlightChanges: boolean;
|
|
14
|
+
editMode: boolean;
|
|
15
|
+
generalRuleChange: EventEmitter<GeneralRules>;
|
|
16
|
+
generalRulesMessageBoxData: MessageBoxData;
|
|
17
|
+
GeneralRulesTableHeader: typeof GeneralRulesTableHeader;
|
|
18
|
+
GeneralBusinessRulesConstant: typeof GeneralBusinessRulesConstant;
|
|
19
|
+
readonly MINVALUE = 1;
|
|
20
|
+
readonly MAXVALUE = 100;
|
|
21
|
+
readonly DEFAULT_MIN_SEPARATION_TIME = "00:00:00";
|
|
22
|
+
maxSpotsPerHalfAnHourInOto: FormGroup;
|
|
23
|
+
maxSpotsPerOTOProgForHalfHourToOneHour: FormGroup;
|
|
24
|
+
maxSpotsPerOTOProgForOneHourToTwoHours: FormGroup;
|
|
25
|
+
maxSpotsPerOTOProgForTwoHoursToThreeHours: FormGroup;
|
|
26
|
+
maxSpotsPerOTOProgForMoreThanThreeHour: FormGroup;
|
|
27
|
+
maxSpotsPerHalfAnHourInStripProgramDaily: FormGroup;
|
|
28
|
+
maxSpotsPerStripForHalfHourToOneHourDaily: FormGroup;
|
|
29
|
+
maxSpotsPerStripForOneHourToTwoHoursDaily: FormGroup;
|
|
30
|
+
maxSpotsPerStripForMoreThanTwoHourDaily: FormGroup;
|
|
31
|
+
maxSpotsPerHalfAnHourInStripProgramWeekly: FormGroup;
|
|
32
|
+
maxSpotsPerStripHalfHourToOneHourWeekly: FormGroup;
|
|
33
|
+
maxSpotsPerStripForOneHourToTwoHoursWeekly: FormGroup;
|
|
34
|
+
maxSpotsPerStripForMoreThanTwoHourWeekly: FormGroup;
|
|
35
|
+
minSeperationTimeControl: FormControl;
|
|
36
|
+
selectedMinSeparationTime: {
|
|
37
|
+
hour: number;
|
|
38
|
+
minute: number;
|
|
39
|
+
second: number;
|
|
40
|
+
} | null;
|
|
41
|
+
postingTypeDropdownConfig: ICustomSingleSelect;
|
|
42
|
+
measurementAgencyDropdownConfig: ICustomSingleSelect;
|
|
43
|
+
selectedPostedType: SingleSelectIdText;
|
|
44
|
+
selectedMeasurementAgency: SingleSelectIdText;
|
|
45
|
+
readonly DEBOUNCE_TIME = 30;
|
|
46
|
+
readonly NOT_EMIT_VALUE_CHANGE: {
|
|
47
|
+
emitEvent: boolean;
|
|
48
|
+
onlySelf: boolean;
|
|
49
|
+
};
|
|
50
|
+
constructor(annaGlobalService: AnnaGlobalConfigService);
|
|
51
|
+
setPostingTypeDropdownConfig(): void;
|
|
52
|
+
setMeasurementAgencyDropdownConfig(): void;
|
|
53
|
+
ngOnChanges(change: SimpleChanges): void;
|
|
54
|
+
setAllFormData(): void;
|
|
55
|
+
createFormGroup(inclueMaxValue?: boolean): FormGroup<{
|
|
56
|
+
preApproved: FormControl<any>;
|
|
57
|
+
relaxed: FormControl<any>;
|
|
58
|
+
}>;
|
|
59
|
+
initializeForm(): void;
|
|
60
|
+
onPostingTypeChanged(postingType: any): void;
|
|
61
|
+
onMeasurementAgencyChanged(measurementAgency: any): void;
|
|
62
|
+
isAdvertiserSeparationNeededChanged(): void;
|
|
63
|
+
onMaxSpotsAllowedPerHalfAnHourInOTOPreapprovedChanged(event: any): void;
|
|
64
|
+
onMaxSpotsAllowedPerHalfAnHourInOTORRelaxedChanged(event: any): void;
|
|
65
|
+
onMaxSpotsAllowedPerHalfAnHourInStripDailyPreApprovedChanged(event: any): void;
|
|
66
|
+
onMaxSpotsAllowedPerHalfAnHourInStripWeeklyPreApprovedChanged(event: any): void;
|
|
67
|
+
onMaxSpotsAllowedPerHalfAnHourInStripDailyRelaxedChanged(event: any): void;
|
|
68
|
+
onMaxSpotsAllowedPerHalfAnHourInStripWeeklyRelaxedChanged(event: any): void;
|
|
69
|
+
subscribeToFormChange(): void;
|
|
70
|
+
maxSpotsPerOTOProgForHalfHourToOneHourOnChange(): void;
|
|
71
|
+
maxSpotsPerOTOProgForOneHourToTwoHoursOnChange(): void;
|
|
72
|
+
maxSpotsPerOTOProgForTwoHoursToThreeHoursOnChange(): void;
|
|
73
|
+
maxSpotsPerOTOProgForMoreThanThreeHoursOnChange(): void;
|
|
74
|
+
maxSpotsAllowedPerStripeDailyForThirtyMinToOneHourOnChange(): void;
|
|
75
|
+
maxSpotsAllowedPerStripeDailyForOneHourToTwoHoursOnChange(): void;
|
|
76
|
+
maxSpotsAllowedPerStripeDailyForMoreThanTwoHoursOnChange(): void;
|
|
77
|
+
maxSpotsAllowedPerStripeWeeklyForThirtyMinToOneHourOnChange(): void;
|
|
78
|
+
maxSpotsAllowedPerStripeWeeklyForOneHourToTwoHoursOnChange(): void;
|
|
79
|
+
maxSpotsAllowedPerStripeWeeklyForMoreThanTwoHoursOnChange(): void;
|
|
80
|
+
checkIfAnyFormIsInvalid(): boolean;
|
|
81
|
+
formValueChanged(): void;
|
|
82
|
+
onContainerScroll(): void;
|
|
83
|
+
setMessageBoxData(): void;
|
|
84
|
+
initializeTimeFormatControl(): void;
|
|
85
|
+
convertToTimeObject(time: string): {
|
|
86
|
+
hour: number;
|
|
87
|
+
minute: number;
|
|
88
|
+
second: number;
|
|
89
|
+
} | null;
|
|
90
|
+
getStringValueOfOrderMinSeparation(time: {
|
|
91
|
+
hour: number;
|
|
92
|
+
minute: number;
|
|
93
|
+
second: number;
|
|
94
|
+
} | null): string;
|
|
95
|
+
addZeroToTimeValue(currentFormattedTime: string, value: number, addColon: boolean): string;
|
|
96
|
+
updateMinSeparationTime(time: {
|
|
97
|
+
hour: number;
|
|
98
|
+
minute: number;
|
|
99
|
+
second: number;
|
|
100
|
+
} | null): void;
|
|
101
|
+
focusOnHourValue(): void;
|
|
102
|
+
timeFormatValidator(): ValidatorFn;
|
|
103
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<GeneralRulesComponent, never>;
|
|
104
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<GeneralRulesComponent, "anna-feature-general-rules", never, { "disableAdvertiserSeparation": { "alias": "disableAdvertiserSeparation"; "required": false; }; "advertiserSeparationClonedValue": { "alias": "advertiserSeparationClonedValue"; "required": false; }; "generalRules": { "alias": "generalRules"; "required": false; }; "highlightChanges": { "alias": "highlightChanges"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; }, { "generalRuleChange": "generalRuleChange"; }, never, never, true, never>;
|
|
105
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export declare class GeneralRulesTableHeader {
|
|
2
|
+
static readonly RULE_NUMBER = "RULE#";
|
|
3
|
+
static readonly BUSINESS_RULES = "BUSINESS RULES";
|
|
4
|
+
static readonly STANDARD_RULE = "STANDARD RULE";
|
|
5
|
+
static readonly RELAXED_RULE = "RELAXED RULE";
|
|
6
|
+
}
|
|
7
|
+
export declare class GeneralBusinessRulesConstant {
|
|
8
|
+
static readonly postingType = "Posting type";
|
|
9
|
+
static readonly measurementAgency = "Measurement Agency";
|
|
10
|
+
static readonly maxSpotsPerHalfHourInOTO = "Max spots allowed <b>per half hour</b> in OTO Program <span class='grey-text'>(includes booked spots, MG and ADU offers)</span>";
|
|
11
|
+
static readonly maxSpotsPerOtoForDifferentDurations = "Max spots allowed <b>per OTO Program</b> for the following durations <span class='grey-text'>(includes booked spots, MG and ADU offers)</span>";
|
|
12
|
+
static readonly thirtyMinToOneHourDuration = "30 min - 1 hour";
|
|
13
|
+
static readonly oneHourToTwoHoursDuration = "1 hour - 2 hours";
|
|
14
|
+
static readonly twoHoursToThreeHoursDuration = "2 hours - 3 hours";
|
|
15
|
+
static readonly moreThanTwoHoursDuration = "2+ hours";
|
|
16
|
+
static readonly moreThanThreeHourDuration = "3+ hours";
|
|
17
|
+
static readonly maxSpotsPerHalfHourInStrip = "Max spots allowed <b>per half hour</b> in Strip Program <span class='grey-text'>(includes booked spots, MG and ADU offers)</span>";
|
|
18
|
+
static readonly maxSpotsPerStripForDifferentDurations = "Max spots allowed <b>per Strip Program</b> for the following durations <span class='grey-text'>(includes booked spots, MG and ADU offers)</span>";
|
|
19
|
+
static readonly dayPartGroups = "Daypart Groups";
|
|
20
|
+
static readonly advertiserSeparation = "Advertiser Separation";
|
|
21
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, SimpleChanges } from "@angular/core";
|
|
2
|
+
import { AnnaFilterService, AnnaGlobalConfigService, AnnaSortService, IGtGeneralConfig, IGtTableHeader, ITotalRowInfo } from "@annalib/anna-core";
|
|
3
|
+
import { BizRuleStatus } from "@annalib/anna-feature-lib/anna-feature-shared-lib";
|
|
4
|
+
import { ApprovalPopupSteps, ApprovalPopupType, ApprovalTableTotalRowColName, InheritedOrder, InheritedOrderList, OrderListForInheritBizApprovalBackend, OrdersToBeInheritedActionType } from "./models/inherit-biz-rule-approval-popup.model";
|
|
5
|
+
import { InheritBizRuleApprovalPopupService } from "./services/inherit-biz-rule-approval-popup.service";
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class InheritBizRuleApprovalPopupComponent implements OnChanges {
|
|
8
|
+
private annaSortService;
|
|
9
|
+
private annaFilterService;
|
|
10
|
+
private annaGlobalConfig;
|
|
11
|
+
private inheritBizRuleApprovalPopupService;
|
|
12
|
+
loading: boolean;
|
|
13
|
+
orderList: {
|
|
14
|
+
OrdersWithoutSetBizRules: OrderListForInheritBizApprovalBackend[];
|
|
15
|
+
OrdersAwaitingApproval: OrderListForInheritBizApprovalBackend[];
|
|
16
|
+
ApprovedOrdersInheritingBizRules: OrderListForInheritBizApprovalBackend[];
|
|
17
|
+
};
|
|
18
|
+
noOrdersForGivenAdvertiser: boolean;
|
|
19
|
+
advertiserName: string;
|
|
20
|
+
stationName: string;
|
|
21
|
+
isBuyerConfigChangedFromNoToYes: boolean;
|
|
22
|
+
isBuyerInvolved: boolean;
|
|
23
|
+
bizRuleStatus: BizRuleStatus;
|
|
24
|
+
BizRuleStatus: typeof BizRuleStatus;
|
|
25
|
+
inheritApprovalPopupApply: EventEmitter<OrdersToBeInheritedActionType>;
|
|
26
|
+
modalClose: EventEmitter<any>;
|
|
27
|
+
tableDisplayData: InheritedOrder[];
|
|
28
|
+
clonedTableData: InheritedOrder[];
|
|
29
|
+
tableHeaders: IGtTableHeader[];
|
|
30
|
+
totalRowInfo: ITotalRowInfo[];
|
|
31
|
+
gtGeneralConfig: IGtGeneralConfig;
|
|
32
|
+
gtDimension: {
|
|
33
|
+
rowHeight: number;
|
|
34
|
+
headerHeight: number;
|
|
35
|
+
dataOnTopHeight: number;
|
|
36
|
+
marginFromBottom: number;
|
|
37
|
+
};
|
|
38
|
+
inheritButApproveLaterCount: number;
|
|
39
|
+
inheritAndApproveNowCount: number;
|
|
40
|
+
retainExistingCount: number;
|
|
41
|
+
ApprovalPopupType: typeof ApprovalPopupType;
|
|
42
|
+
allPopupData: InheritedOrderList;
|
|
43
|
+
currentPopupToShow: ApprovalPopupSteps;
|
|
44
|
+
constructor(annaSortService: AnnaSortService, annaFilterService: AnnaFilterService, annaGlobalConfig: AnnaGlobalConfigService, inheritBizRuleApprovalPopupService: InheritBizRuleApprovalPopupService);
|
|
45
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
46
|
+
setTableDisplayDataAndHeaderBasedOnPopupOpened(): void;
|
|
47
|
+
toggleCheckbox(event: {
|
|
48
|
+
columnKeys: string;
|
|
49
|
+
isCheckboxSelected: boolean;
|
|
50
|
+
rowData: InheritedOrder;
|
|
51
|
+
}): void;
|
|
52
|
+
createTotalRowAndUpdateCount(): void;
|
|
53
|
+
setTotalRowObject(columnCheckCount: number, className: ApprovalTableTotalRowColName): ITotalRowInfo;
|
|
54
|
+
totalRowIconClicked(colName: ApprovalTableTotalRowColName): void;
|
|
55
|
+
previousClicked(): void;
|
|
56
|
+
nextClicked(): void;
|
|
57
|
+
setAllPopupTableDataBeforeGoingToNextPopup(): void;
|
|
58
|
+
onConfirmClicked(): void;
|
|
59
|
+
filterAppliedToTable(data: InheritedOrder[]): void;
|
|
60
|
+
sortingAppliedToTable(data: InheritedOrder[]): void;
|
|
61
|
+
setTableConfig(): void;
|
|
62
|
+
cancelClicked(): void;
|
|
63
|
+
clearFilterAndCloseModal(): void;
|
|
64
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InheritBizRuleApprovalPopupComponent, never>;
|
|
65
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<InheritBizRuleApprovalPopupComponent, "anna-feature-inherit-biz-rule-approval-popup", never, { "loading": { "alias": "loading"; "required": false; }; "orderList": { "alias": "orderList"; "required": false; }; "noOrdersForGivenAdvertiser": { "alias": "noOrdersForGivenAdvertiser"; "required": false; }; "advertiserName": { "alias": "advertiserName"; "required": false; }; "stationName": { "alias": "stationName"; "required": false; }; "isBuyerConfigChangedFromNoToYes": { "alias": "isBuyerConfigChangedFromNoToYes"; "required": false; }; "isBuyerInvolved": { "alias": "isBuyerInvolved"; "required": false; }; "bizRuleStatus": { "alias": "bizRuleStatus"; "required": false; }; }, { "inheritApprovalPopupApply": "inheritApprovalPopupApply"; "modalClose": "modalClose"; }, never, never, true, never>;
|
|
66
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
export interface OrderListForInheritBizApprovalBackend {
|
|
2
|
+
BuyerOrderId: string;
|
|
3
|
+
AlternateOrderId: string;
|
|
4
|
+
}
|
|
5
|
+
export declare class InheritedOrder {
|
|
6
|
+
buyerOrderId: string;
|
|
7
|
+
buyerAndAlternateOrderId: string;
|
|
8
|
+
isDisabledKey: boolean;
|
|
9
|
+
inheritAndApproveNow: boolean;
|
|
10
|
+
inheritButApproveLater: boolean;
|
|
11
|
+
retainExisting: boolean;
|
|
12
|
+
constructor(data: any);
|
|
13
|
+
}
|
|
14
|
+
export interface ApprovalPopupSteps {
|
|
15
|
+
id: ApprovalPopupType;
|
|
16
|
+
stepNo: number;
|
|
17
|
+
}
|
|
18
|
+
export declare class InheritedOrderList {
|
|
19
|
+
approvalPopupSteps: ApprovalPopupSteps[];
|
|
20
|
+
ordersWithoutSetBizRules: InheritedOrder[];
|
|
21
|
+
ApprovedOrdersInheritingBizRules: InheritedOrder[];
|
|
22
|
+
ordersAwaitingApproval: InheritedOrder[];
|
|
23
|
+
clonedOrdersWithoutSetBizRules: InheritedOrder[];
|
|
24
|
+
clonedApprovedOrdersInheritingBizRules: InheritedOrder[];
|
|
25
|
+
clonedOrdersAwaitingApproval: InheritedOrder[];
|
|
26
|
+
constructor(BEData: any);
|
|
27
|
+
}
|
|
28
|
+
export declare enum ApprovalPopupType {
|
|
29
|
+
OrdersWithoutSetBizRules = "OrdersWithoutSetBizRules",
|
|
30
|
+
ApprovedOrdersInheritingBizRules = "ApprovedOrdersInheritingBizRules",
|
|
31
|
+
OrdersAwaitingApproval = "OrdersAwaitingApproval"
|
|
32
|
+
}
|
|
33
|
+
export declare enum ApprovalTableColName {
|
|
34
|
+
InheritAndApproveNow = "inheritAndApproveNow",
|
|
35
|
+
InheritButApproveLater = "inheritButApproveLater",
|
|
36
|
+
RetainExisting = "retainExisting"
|
|
37
|
+
}
|
|
38
|
+
export declare enum ApprovalTableTotalRowColName {
|
|
39
|
+
InheritAndApproveNow = "totalInheritAndApproveNow",
|
|
40
|
+
InheritButApproveLater = "totalInheritButApproveLater",
|
|
41
|
+
RetainExisting = "totalRetainExisting"
|
|
42
|
+
}
|
|
43
|
+
export interface OrdersToBeInheritedActionType {
|
|
44
|
+
ApproveAndInherit: string[];
|
|
45
|
+
ModifyAndApproveLater: string[];
|
|
46
|
+
ApproveAndRetainExisting: string[];
|
|
47
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IGtTableHeader } from "@annalib/anna-core";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class InheritBizRuleApprovalPopupService {
|
|
4
|
+
getOrdersWithoutSetBizRulesHeaders(): IGtTableHeader[];
|
|
5
|
+
getApprovedOrdersInheritingBizRules(): IGtTableHeader[];
|
|
6
|
+
getOrdersAwaitingApproval(): IGtTableHeader[];
|
|
7
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<InheritBizRuleApprovalPopupService, never>;
|
|
8
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<InheritBizRuleApprovalPopupService>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core";
|
|
2
|
+
import { FormBuilder, FormGroup } from "@angular/forms";
|
|
3
|
+
import { AnnaGlobalConfigService } from "@annalib/anna-core";
|
|
4
|
+
import { MessageBoxData } from "@annalib/anna-design-components-lib";
|
|
5
|
+
import { AllowedInventoryOrTimeWindow, MakeGoodRulesResponse, PopulateListDropdown } from "../business-rule-page/models/business-rule.model";
|
|
6
|
+
import { BusinessPageType } from "../business-rule-page/models/business-rule-page.constants";
|
|
7
|
+
import { BusinessRuleCommonSIBILogicService } from "../business-rule-page/services/business-rule-common-SI-BI-logic.service";
|
|
8
|
+
import { MGRulesTooltip } from "./models/make-good-rules.model";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class MakeGoodRulesComponent implements OnInit, OnChanges {
|
|
11
|
+
private builder;
|
|
12
|
+
private businessRuleCommonSIBILogicService;
|
|
13
|
+
private annaGlobalConfig;
|
|
14
|
+
makeGoodValue: MakeGoodRulesResponse;
|
|
15
|
+
isDisabled: boolean;
|
|
16
|
+
highlightChanges: boolean;
|
|
17
|
+
editMode: boolean;
|
|
18
|
+
hideRulesTooltipInfo: boolean;
|
|
19
|
+
mgTabSelected: boolean;
|
|
20
|
+
minimumSeparation: string;
|
|
21
|
+
businessRulePageType: BusinessPageType;
|
|
22
|
+
isTrafficAnnaOrder: boolean;
|
|
23
|
+
showMinimumSeparationInMessage: boolean;
|
|
24
|
+
makeGoodValueChange: EventEmitter<any>;
|
|
25
|
+
showWarningIconOfSettingMinPercentRating: boolean;
|
|
26
|
+
oldMinRatingFormPreApprovedValue: number | any;
|
|
27
|
+
maxGrpForm: FormGroup;
|
|
28
|
+
maxPercentGrpForm: FormGroup;
|
|
29
|
+
minRatingForm: FormGroup;
|
|
30
|
+
maxPESpotsToBeGroupedForm: FormGroup;
|
|
31
|
+
ratingRangeForMg: FormGroup;
|
|
32
|
+
secondHeading: string;
|
|
33
|
+
firstHeading: string;
|
|
34
|
+
selectedProgrammingChangesPreApproved: PopulateListDropdown;
|
|
35
|
+
selectedProgrammingChangesRelaxed: PopulateListDropdown;
|
|
36
|
+
programingDropdownHeight: number;
|
|
37
|
+
informationPool: MGRulesTooltip;
|
|
38
|
+
Math: Math;
|
|
39
|
+
aduAndMgMessageData: MessageBoxData;
|
|
40
|
+
readMode: boolean;
|
|
41
|
+
readonly MINVALUE = 1;
|
|
42
|
+
readonly MAXVALUE = 100;
|
|
43
|
+
readonly DEBOUNCE_TIME = 10;
|
|
44
|
+
readonly NOT_EMIT_VALUE_CHANGE: {
|
|
45
|
+
emitEvent: boolean;
|
|
46
|
+
onlySelf: boolean;
|
|
47
|
+
};
|
|
48
|
+
readonly EMIT_VALUE_CHANGE_FOR_PARENT: {
|
|
49
|
+
emitEvent: boolean;
|
|
50
|
+
onlySelf: boolean;
|
|
51
|
+
};
|
|
52
|
+
readonly EQUIVALENT_RATING_PROGRAM = "Equivalent Ratings Program in Same Daypart";
|
|
53
|
+
constructor(builder: FormBuilder, businessRuleCommonSIBILogicService: BusinessRuleCommonSIBILogicService, annaGlobalConfig: AnnaGlobalConfigService);
|
|
54
|
+
ngOnInit(): void;
|
|
55
|
+
setMessageData(): void;
|
|
56
|
+
getInformationPool(): void;
|
|
57
|
+
ngOnChanges(changes: SimpleChanges): void;
|
|
58
|
+
scrollToTop(): void;
|
|
59
|
+
resetPreviousSetVariables(): void;
|
|
60
|
+
enableDisableForm(): void;
|
|
61
|
+
createAndIntialseAllForm(): void;
|
|
62
|
+
subscribeToValueChangeForForm(): void;
|
|
63
|
+
setMaxGrpFormDataOnChange(): void;
|
|
64
|
+
setMaxPESpotsToBeGroupedFormDataOnChange(): void;
|
|
65
|
+
maxGRPFormPreapprovedValuChanged(value: number): void;
|
|
66
|
+
setMinRatingFormDataOnChange(): void;
|
|
67
|
+
setMaxPercentGrpDataOnChange(): void;
|
|
68
|
+
setRatingRangeForMgDataOnChange(): void;
|
|
69
|
+
resetAllForm(): void;
|
|
70
|
+
setAllFormValue(): void;
|
|
71
|
+
checkIfAnyFormIsInvalid(): boolean;
|
|
72
|
+
mgAllowedForSpecialDaypart(): void;
|
|
73
|
+
enableGroupingForMg(): void;
|
|
74
|
+
checkPriority(rule: AllowedInventoryOrTimeWindow): void;
|
|
75
|
+
formValueChanged(): void;
|
|
76
|
+
allowThreshold(): void;
|
|
77
|
+
allowWeekdayOnWeekends(value: boolean): void;
|
|
78
|
+
allowWeekendOnWeekdays(value: boolean): void;
|
|
79
|
+
provideOffersBasedOnPreemptionDaysChanged(value: boolean): void;
|
|
80
|
+
provideOffersBasedOnSpecificWeekDaysChanged(value: boolean): void;
|
|
81
|
+
generateMgsForUnresolvedSpots(): void;
|
|
82
|
+
programmingRelaxedValueChanged(): void;
|
|
83
|
+
onContainerScroll(): void;
|
|
84
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MakeGoodRulesComponent, never>;
|
|
85
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MakeGoodRulesComponent, "anna-feature-make-good-rules", never, { "makeGoodValue": { "alias": "makeGoodValue"; "required": false; }; "isDisabled": { "alias": "isDisabled"; "required": false; }; "highlightChanges": { "alias": "highlightChanges"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; "hideRulesTooltipInfo": { "alias": "hideRulesTooltipInfo"; "required": false; }; "mgTabSelected": { "alias": "mgTabSelected"; "required": false; }; "minimumSeparation": { "alias": "minimumSeparation"; "required": false; }; "businessRulePageType": { "alias": "businessRulePageType"; "required": false; }; "isTrafficAnnaOrder": { "alias": "isTrafficAnnaOrder"; "required": false; }; "showMinimumSeparationInMessage": { "alias": "showMinimumSeparationInMessage"; "required": false; }; }, { "makeGoodValueChange": "makeGoodValueChange"; }, never, never, true, never>;
|
|
86
|
+
}
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
export declare class MGRulesTooltip {
|
|
2
|
+
generateMGsForUnresolvedSpots: {
|
|
3
|
+
name: string;
|
|
4
|
+
tooltip: string;
|
|
5
|
+
};
|
|
6
|
+
maxSpotsOTO: {
|
|
7
|
+
name: string;
|
|
8
|
+
tooltip: string;
|
|
9
|
+
};
|
|
10
|
+
maxSpotsStrip: {
|
|
11
|
+
name: string;
|
|
12
|
+
tooltip: string;
|
|
13
|
+
};
|
|
14
|
+
maxGrp: {
|
|
15
|
+
name: string;
|
|
16
|
+
tooltip: string;
|
|
17
|
+
};
|
|
18
|
+
allowedMg: {
|
|
19
|
+
name: string;
|
|
20
|
+
tooltip: string;
|
|
21
|
+
};
|
|
22
|
+
sportsAndSpecials: {
|
|
23
|
+
name: string;
|
|
24
|
+
tooltip: string;
|
|
25
|
+
};
|
|
26
|
+
mgTimeWindow: {
|
|
27
|
+
name: string;
|
|
28
|
+
tooltip: string;
|
|
29
|
+
};
|
|
30
|
+
allowMgTwoMinutes: {
|
|
31
|
+
name: string;
|
|
32
|
+
tooltip: string;
|
|
33
|
+
};
|
|
34
|
+
maxMg: {
|
|
35
|
+
name: string;
|
|
36
|
+
tooltip: string;
|
|
37
|
+
};
|
|
38
|
+
minPercentageOfPreempted: {
|
|
39
|
+
name: string;
|
|
40
|
+
tooltip: string;
|
|
41
|
+
};
|
|
42
|
+
enableGrouping: {
|
|
43
|
+
name: string;
|
|
44
|
+
tooltip: string;
|
|
45
|
+
};
|
|
46
|
+
maxNoOfPESpotsForGrouping: {
|
|
47
|
+
name: string;
|
|
48
|
+
tooltip: string;
|
|
49
|
+
};
|
|
50
|
+
allowedDays1: {
|
|
51
|
+
name: string;
|
|
52
|
+
tooltip: string;
|
|
53
|
+
};
|
|
54
|
+
allowedDays2: {
|
|
55
|
+
name: string;
|
|
56
|
+
tooltip: string;
|
|
57
|
+
};
|
|
58
|
+
allowMgForSpecificDaysEachWeek: {
|
|
59
|
+
name: string;
|
|
60
|
+
tooltip: string;
|
|
61
|
+
};
|
|
62
|
+
allowMgForSpecificDaysOfPE: {
|
|
63
|
+
name: string;
|
|
64
|
+
tooltip: string;
|
|
65
|
+
};
|
|
66
|
+
allowedRatingForMg: {
|
|
67
|
+
name: string;
|
|
68
|
+
tooltip: string;
|
|
69
|
+
};
|
|
70
|
+
programmingChangesTooltip: {
|
|
71
|
+
name: string;
|
|
72
|
+
tooltip: string;
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
export declare class MGChangeObjectList {
|
|
76
|
+
MaxSpotsAllowedPerHalfHourInOTO: boolean;
|
|
77
|
+
MaxSpotsAllowedPerHalfHourInOTORelaxed: boolean;
|
|
78
|
+
MaxSpotsAllowedPerHalfHourInStripePerDay: boolean;
|
|
79
|
+
MaxSpotsAllowedPerHalfHourInStripePerDayRelaxed: boolean;
|
|
80
|
+
MaxSpotsAllowedPerHalfHourInStripePerWeek: boolean;
|
|
81
|
+
MaxSpotsAllowedPerHalfHourInStripePerWeekRelaxed: boolean;
|
|
82
|
+
MaxPercentageOfGrpAllowedToMakeGood: boolean;
|
|
83
|
+
MinPercentageRating: boolean;
|
|
84
|
+
MinPercentageRatingRelaxed: boolean;
|
|
85
|
+
MaxSpotsAllowedForEachSpot: boolean;
|
|
86
|
+
MaxSpotsAllowedForEachSpotRelaxed: boolean;
|
|
87
|
+
AllowedInventoryPreApproved: boolean;
|
|
88
|
+
AllowedInventoryRelaxed: boolean;
|
|
89
|
+
SpecialDayPartPreapproved: boolean;
|
|
90
|
+
SpecialDayPartRelaxed: boolean;
|
|
91
|
+
TimeWindowPreApproved: boolean;
|
|
92
|
+
TimeWindowRelaxed: boolean;
|
|
93
|
+
SpecialDaypartAllowed: boolean;
|
|
94
|
+
EnableGrouping: boolean;
|
|
95
|
+
AllowInNewLine: boolean;
|
|
96
|
+
SpecialDaypartAllowedInventoryPreApproved: boolean;
|
|
97
|
+
SpecialDaypartAllowedInventoryRelaxed: boolean;
|
|
98
|
+
}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { AnnaGlobalConfigService, IConfirmationPopupConfig, ICustomMultiSelect } from "@annalib/anna-core";
|
|
2
|
+
import { IdText, MessageBoxData, MultiSelectIdText } from "@annalib/anna-design-components-lib";
|
|
3
|
+
import { NotificationsService } from "@annalib/anna-feature-lib";
|
|
4
|
+
import { NgbModal, NgbModalRef } from "@ng-bootstrap/ng-bootstrap";
|
|
5
|
+
import { ToastrService } from "ngx-toastr";
|
|
6
|
+
import { BusinessPageType, BusinessRuleSectionNameForCopyBizRule } from "../business-rule-page/models/business-rule-page.constants";
|
|
7
|
+
import { IBusinessRuleTabService } from "../copy-biz-rules-popup/copy-business-rule-backend-service.token";
|
|
8
|
+
import { IBulkCopyBizRulesPayload, MassCopyAdvertiserOrderList, MassCopyType } from "./models/mass-copy-biz-rules.model";
|
|
9
|
+
import * as i0 from "@angular/core";
|
|
10
|
+
export declare class MassCopyBizRulesPopupComponent {
|
|
11
|
+
private modalService;
|
|
12
|
+
private globalConfig;
|
|
13
|
+
private notificationService;
|
|
14
|
+
private toastr;
|
|
15
|
+
consumingProjectBusinessRuleService: IBusinessRuleTabService;
|
|
16
|
+
copyType: MassCopyType;
|
|
17
|
+
modalTitle: string;
|
|
18
|
+
station: IdText;
|
|
19
|
+
advertiserIdText: IdText;
|
|
20
|
+
orderId: string;
|
|
21
|
+
MassCopyType: typeof MassCopyType;
|
|
22
|
+
BusinessPageType: typeof BusinessPageType;
|
|
23
|
+
businessRulePageType: BusinessPageType;
|
|
24
|
+
private copyRulesTemplate;
|
|
25
|
+
copyRulesModalReference: NgbModalRef;
|
|
26
|
+
loading: boolean;
|
|
27
|
+
isCircularProgressLoader: boolean;
|
|
28
|
+
config: IConfirmationPopupConfig;
|
|
29
|
+
advertiserOrderForMassCopy: MassCopyAdvertiserOrderList;
|
|
30
|
+
advMultiSelectConfig: ICustomMultiSelect;
|
|
31
|
+
orderMultiSelectConfig: ICustomMultiSelect;
|
|
32
|
+
showPopupProgressLoader: boolean;
|
|
33
|
+
massCopyMessageData: MessageBoxData;
|
|
34
|
+
rulesThatCanBeCopied: {
|
|
35
|
+
name: BusinessRuleSectionNameForCopyBizRule;
|
|
36
|
+
isSelected: boolean;
|
|
37
|
+
}[];
|
|
38
|
+
selectedAdvertisers: MultiSelectIdText[];
|
|
39
|
+
selectedOrders: MultiSelectIdText[];
|
|
40
|
+
copyButtonDisabled: boolean;
|
|
41
|
+
percentDone: number;
|
|
42
|
+
translateLoader: boolean;
|
|
43
|
+
constructor(modalService: NgbModal, globalConfig: AnnaGlobalConfigService, notificationService: NotificationsService, toastr: ToastrService, consumingProjectBusinessRuleService: IBusinessRuleTabService);
|
|
44
|
+
openModal(): void;
|
|
45
|
+
advertiserSelectionChange(advertiserList: MultiSelectIdText[]): void;
|
|
46
|
+
orderSelectionChange(orderList: MultiSelectIdText[]): void;
|
|
47
|
+
fetchAdvertiserAndOrderList(): void;
|
|
48
|
+
setMessageData(): void;
|
|
49
|
+
checkIfCopyButtonEnabled(): void;
|
|
50
|
+
createAdvMultiSelectConfig(): void;
|
|
51
|
+
createOrderMultiSelectConfig(): void;
|
|
52
|
+
closeModal(): void;
|
|
53
|
+
businessRulesSelectionChanged(): void;
|
|
54
|
+
copyBusinessRules(): void;
|
|
55
|
+
createCopyPayload(): IBulkCopyBizRulesPayload;
|
|
56
|
+
getIsSelectedValueForBizRules(ruleName: string): boolean;
|
|
57
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MassCopyBizRulesPopupComponent, never>;
|
|
58
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MassCopyBizRulesPopupComponent, "anna-feature-mass-copy-biz-rules-popup", never, { "copyType": { "alias": "copyType"; "required": false; }; "modalTitle": { "alias": "modalTitle"; "required": false; }; "station": { "alias": "station"; "required": false; }; "advertiserIdText": { "alias": "advertiserIdText"; "required": false; }; "orderId": { "alias": "orderId"; "required": false; }; "businessRulePageType": { "alias": "businessRulePageType"; "required": false; }; }, {}, never, never, true, never>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { MultiSelectIdText } from "@annalib/anna-design-components-lib";
|
|
2
|
+
export declare enum MassCopyType {
|
|
3
|
+
BULK_COPY = "BULK_COPY",
|
|
4
|
+
INCREMENTAL_COPY = "INCREMENTAL_COPY"
|
|
5
|
+
}
|
|
6
|
+
export declare class MassCopyAdvertiserOrderList {
|
|
7
|
+
advertisers: MultiSelectIdText[];
|
|
8
|
+
orders: MultiSelectIdText[];
|
|
9
|
+
constructor(data: {
|
|
10
|
+
Advertisers: any[];
|
|
11
|
+
Orders: any[];
|
|
12
|
+
});
|
|
13
|
+
}
|
|
14
|
+
export interface IBulkCopyBizRulesPayload {
|
|
15
|
+
RequestedByUserId: number;
|
|
16
|
+
StationId: number;
|
|
17
|
+
SourceCopyEntityType: string;
|
|
18
|
+
SourceEntityId: number | string;
|
|
19
|
+
CopyMode: string;
|
|
20
|
+
SelectedStationIds: number[];
|
|
21
|
+
SelectedAdvertiserIds: number[];
|
|
22
|
+
SelectedOrderIds: string[];
|
|
23
|
+
BizRulesSectionsToBeCopied: IBizRulesSections;
|
|
24
|
+
}
|
|
25
|
+
export interface IBizRulesSections {
|
|
26
|
+
DaypartRestrictions: boolean;
|
|
27
|
+
EquivalentOrHigherDayparts: boolean;
|
|
28
|
+
ExcludedAndSpecialPrograms: boolean;
|
|
29
|
+
General: boolean;
|
|
30
|
+
MakeGoodBizRules: boolean;
|
|
31
|
+
ADUBizRules: boolean;
|
|
32
|
+
}
|