@annalib/anna-feature-biz-rules 48.0.0-final-ng-19 → 49.0.0-final-ng-19

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.
@@ -1127,10 +1127,10 @@ class BusinessRuleCommonSIBILogicService {
1127
1127
  newRules?.generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current;
1128
1128
  return changeInAdvertiserSeparationValue || changeInAdvertiserSeperationRequiredToggle;
1129
1129
  }
1130
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRuleCommonSIBILogicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1131
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRuleCommonSIBILogicService, providedIn: "root" }); }
1130
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRuleCommonSIBILogicService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1131
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRuleCommonSIBILogicService, providedIn: "root" }); }
1132
1132
  }
1133
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRuleCommonSIBILogicService, decorators: [{
1133
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRuleCommonSIBILogicService, decorators: [{
1134
1134
  type: Injectable,
1135
1135
  args: [{
1136
1136
  providedIn: "root",
@@ -1246,10 +1246,10 @@ class DaypartGroupingPopupComponent {
1246
1246
  }
1247
1247
  return false;
1248
1248
  }
1249
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DaypartGroupingPopupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.GenericBusinessRuleCommonSIBILogicService }], target: i0.ɵɵFactoryTarget.Component }); }
1250
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: DaypartGroupingPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-daypart-grouping-popup", inputs: { daypartGroupsForPopup: "daypartGroupsForPopup", modalTitle: "modalTitle" }, outputs: { closeModal: "closeModal", emitSavedDaypartGroups: "emitSavedDaypartGroups" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n</div>\n\n<div class=\"modal-body\">\n <span class=\"drag-label\">Drag & Drop to add or remove dayparts within groups.</span>\n <table class=\"daypart-grouping-table\">\n <thead>\n <tr>\n <th class=\"group-header\">DAYPART GROUPS</th>\n <th>DAYPARTS</th>\n </tr>\n </thead>\n <tbody cdkDropListGroup>\n <tr *ngFor=\"let group of daypartGroups; let i = index\">\n <td>\n <input\n type=\"text\"\n class=\"group-input-field\"\n [(ngModel)]=\"group.groupName\"\n (input)=\"onGroupNameChange()\"\n [ngClass]=\"{ error: group.isDuplicateGroupName }\"\n />\n <i\n *ngIf=\"group.isDuplicateGroupName\"\n class=\"mdi mdi-alert-octagon\"\n [ngbTooltip]=\"'Name already used'\"\n container=\"body\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <div\n #groupDropList=\"cdkDropList\"\n class=\"container-box\"\n cdkDropList\n (cdkDropListDropped)=\"onDragAndDropDaypart($event)\"\n [cdkDropListData]=\"group.dayparts\"\n >\n <div\n class=\"dp-box\"\n *ngFor=\"let daypart of group.dayparts; let j = index\"\n >\n <div\n class=\"daypart\"\n cdkDrag\n [cdkDragData]=\"daypart\"\n >\n <span>{{ daypart.text }}</span>\n <span \n class=\"mdi mdi-drag-variant\"\n cdkDragHandle\n ></span>\n </div>\n </div>\n </div>\n </td>\n </tr>\n <tr>\n <td>\n <span\n class=\"add-group\"\n (click)=\"addGroup()\"\n >Add Group</span\n >\n </td>\n <td></td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"button-container\">\n <button\n (click)=\"cancelClicked()\"\n class=\"anna cancel-button\"\n >\n Cancel\n </button>\n <button\n (click)=\"onSavingDayparts()\"\n [disabled]=\"disableSaveButton\"\n class=\"anna apply-button\"\n >\n Save\n </button>\n </div>\n</div>\n", styles: [".dp-box{display:flex;flex-direction:row;align-items:center;justify-content:space-between;cursor:default;background:#fff;font-size:14px}.mdi-drag-variant:hover{cursor:grab!important}.mdi-drag-variant:active{cursor:grabbing!important}.daypart-grouping-table{width:100%;table-layout:fixed;margin-top:5px}.daypart-grouping-table thead{background-color:#ededed;height:41px;padding:2px 8px;position:sticky;top:0;z-index:2}.daypart-grouping-table thead th{padding:0 8px;box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#4a4a4a;font-family:Roboto;font-size:11px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}.daypart-grouping-table thead th:first-of-type{box-shadow:inset 1px -1px #d4d4d4,inset -1px 1px #d4d4d4!important}.daypart-grouping-table thead th div{white-space:nowrap;display:flex}.daypart-grouping-table thead .group-header{width:114px}.daypart-grouping-table tbody tr td{padding:0 8px;vertical-align:middle;min-height:32px;height:32px;box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#000;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.daypart-grouping-table tbody tr td:nth-child(1){box-shadow:inset 1px -1px #d4d4d4,inset -1px 0 #d4d4d4!important}.daypart{height:24px;padding:0 3px;border:solid 1px #b7b7b7;color:#000;font-family:Roboto;font-size:16px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;display:flex;align-items:center;justify-content:center;gap:2px;background:#fff}.container-box{overflow:hidden;min-height:28px;display:flex;flex-wrap:wrap;padding:4px 2px;gap:2px}.group-input-field{outline:none;width:99px;height:24px;border:1px solid #b7b7b7;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:12.89px;letter-spacing:normal;color:#4a4a4a;border-radius:3px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-body{padding:24px 24px 0;color:#4a4a4a}.add-group{text-decoration:underline;color:#268bff;cursor:pointer;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:12.89px;letter-spacing:.33px}.mdi-alert-octagon{float:right;position:relative;margin-top:-20px;cursor:pointer;margin-right:2px;color:#f44336}.error{border:1px solid #f44336!important}.drag-label{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1249
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DaypartGroupingPopupComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.GenericBusinessRuleCommonSIBILogicService }], target: i0.ɵɵFactoryTarget.Component }); }
1250
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DaypartGroupingPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-daypart-grouping-popup", inputs: { daypartGroupsForPopup: "daypartGroupsForPopup", modalTitle: "modalTitle" }, outputs: { closeModal: "closeModal", emitSavedDaypartGroups: "emitSavedDaypartGroups" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n</div>\n\n<div class=\"modal-body\">\n <span class=\"drag-label\">Drag & Drop to add or remove dayparts within groups.</span>\n <table class=\"daypart-grouping-table\">\n <thead>\n <tr>\n <th class=\"group-header\">DAYPART GROUPS</th>\n <th>DAYPARTS</th>\n </tr>\n </thead>\n <tbody cdkDropListGroup>\n <tr *ngFor=\"let group of daypartGroups; let i = index\">\n <td>\n <input\n type=\"text\"\n class=\"group-input-field\"\n [(ngModel)]=\"group.groupName\"\n (input)=\"onGroupNameChange()\"\n [ngClass]=\"{ error: group.isDuplicateGroupName }\"\n />\n <i\n *ngIf=\"group.isDuplicateGroupName\"\n class=\"mdi mdi-alert-octagon\"\n [ngbTooltip]=\"'Name already used'\"\n container=\"body\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <div\n #groupDropList=\"cdkDropList\"\n class=\"container-box\"\n cdkDropList\n (cdkDropListDropped)=\"onDragAndDropDaypart($event)\"\n [cdkDropListData]=\"group.dayparts\"\n >\n <div\n class=\"dp-box\"\n *ngFor=\"let daypart of group.dayparts; let j = index\"\n >\n <div\n class=\"daypart\"\n cdkDrag\n [cdkDragData]=\"daypart\"\n >\n <span>{{ daypart.text }}</span>\n <span \n class=\"mdi mdi-drag-variant\"\n cdkDragHandle\n ></span>\n </div>\n </div>\n </div>\n </td>\n </tr>\n <tr>\n <td>\n <span\n class=\"add-group\"\n (click)=\"addGroup()\"\n >Add Group</span\n >\n </td>\n <td></td>\n </tr>\n </tbody>\n </table>\n\n <div class=\"button-container\">\n <button\n (click)=\"cancelClicked()\"\n class=\"anna cancel-button\"\n >\n Cancel\n </button>\n <button\n (click)=\"onSavingDayparts()\"\n [disabled]=\"disableSaveButton\"\n class=\"anna apply-button\"\n >\n Save\n </button>\n </div>\n</div>\n", styles: [".dp-box{display:flex;flex-direction:row;align-items:center;justify-content:space-between;cursor:default;background:#fff;font-size:14px}.mdi-drag-variant:hover{cursor:grab!important}.mdi-drag-variant:active{cursor:grabbing!important}.daypart-grouping-table{width:100%;table-layout:fixed;margin-top:5px}.daypart-grouping-table thead{background-color:#ededed;height:41px;padding:2px 8px;position:sticky;top:0;z-index:2}.daypart-grouping-table thead th{padding:0 8px;box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#4a4a4a;font-family:Roboto;font-size:11px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}.daypart-grouping-table thead th:first-of-type{box-shadow:inset 1px -1px #d4d4d4,inset -1px 1px #d4d4d4!important}.daypart-grouping-table thead th div{white-space:nowrap;display:flex}.daypart-grouping-table thead .group-header{width:114px}.daypart-grouping-table tbody tr td{padding:0 8px;vertical-align:middle;min-height:32px;height:32px;box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#000;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.daypart-grouping-table tbody tr td:nth-child(1){box-shadow:inset 1px -1px #d4d4d4,inset -1px 0 #d4d4d4!important}.daypart{height:24px;padding:0 3px;border:solid 1px #b7b7b7;color:#000;font-family:Roboto;font-size:16px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;display:flex;align-items:center;justify-content:center;gap:2px;background:#fff}.container-box{overflow:hidden;min-height:28px;display:flex;flex-wrap:wrap;padding:4px 2px;gap:2px}.group-input-field{outline:none;width:99px;height:24px;border:1px solid #b7b7b7;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:12.89px;letter-spacing:normal;color:#4a4a4a;border-radius:3px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-body{padding:24px 24px 0;color:#4a4a4a}.add-group{text-decoration:underline;color:#268bff;cursor:pointer;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:12.89px;letter-spacing:.33px}.mdi-alert-octagon{float:right;position:relative;margin-top:-20px;cursor:pointer;margin-right:2px;color:#f44336}.error{border:1px solid #f44336!important}.drag-label{font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "ngmodule", type: DragDropModule }, { kind: "directive", type: i3.CdkDropList, selector: "[cdkDropList], cdk-drop-list", inputs: ["cdkDropListConnectedTo", "cdkDropListData", "cdkDropListOrientation", "id", "cdkDropListLockAxis", "cdkDropListDisabled", "cdkDropListSortingDisabled", "cdkDropListEnterPredicate", "cdkDropListSortPredicate", "cdkDropListAutoScrollDisabled", "cdkDropListAutoScrollStep", "cdkDropListElementContainer"], outputs: ["cdkDropListDropped", "cdkDropListEntered", "cdkDropListExited", "cdkDropListSorted"], exportAs: ["cdkDropList"] }, { kind: "directive", type: i3.CdkDropListGroup, selector: "[cdkDropListGroup]", inputs: ["cdkDropListGroupDisabled"], exportAs: ["cdkDropListGroup"] }, { kind: "directive", type: i3.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "directive", type: i3.CdkDragHandle, selector: "[cdkDragHandle]", inputs: ["cdkDragHandleDisabled"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1251
1251
  }
1252
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DaypartGroupingPopupComponent, decorators: [{
1252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DaypartGroupingPopupComponent, decorators: [{
1253
1253
  type: Component,
1254
1254
  args: [{ selector: "anna-feature-biz-rules-daypart-grouping-popup", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1255
1255
  NgFor,
@@ -1631,10 +1631,10 @@ class AduRulesComponent {
1631
1631
  windowClass: "daypart-group-modal",
1632
1632
  };
1633
1633
  }
1634
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AduRulesComponent, deps: [{ token: i1$1.FormBuilder }, { token: BusinessRuleCommonSIBILogicService }, { token: i1$2.NgbModal }, { token: i0.ChangeDetectorRef }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
1635
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AduRulesComponent, isStandalone: true, selector: "anna-feature-biz-rules-adu-rules", inputs: { aduValue: "aduValue", intialAduValue: "intialAduValue", isDisabled: "isDisabled", highlightChanges: "highlightChanges", disabledAduTimeWindow: "disabledAduTimeWindow", disabledAduPostingRequired: "disabledAduPostingRequired", editMode: "editMode", hideRulesTooltipInfo: "hideRulesTooltipInfo", aduTabSelected: "aduTabSelected", minimumSeparation: "minimumSeparation", showMinimumSeparationInMessage: "showMinimumSeparationInMessage" }, outputs: { aduChange: "aduChange" }, viewQueries: [{ propertyName: "addDaypartGroupModal", first: true, predicate: ["addDaypartGroupModal"], descendants: true }, { propertyName: "removeGroupingConfirmation", first: true, predicate: ["removeGroupingModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<article\n [ngClass]=\"{\n 'read-mode-inputs': readMode,\n 'edit-mode-inputs': !readMode,\n 'highlight-changes': highlightChanges,\n 'disable-highlight-changes': !highlightChanges,\n 'hide-tooltip': hideRulesTooltipInfo\n }\"\n>\n <!-- WILL SHOW input-difference-icon only if highlightChanges is true -->\n\n <anna-design-message-box\n *ngIf=\"!hideRulesTooltipInfo\"\n [messageBoxData]=\"aduAndMgMessageData\"\n ></anna-design-message-box>\n <div\n id=\"scroll-container-adu\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">RULE#</th>\n <th class=\"biz-rule\">BUSINESS RULES</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">STANDARD RULE</th>\n <th class=\"relaxed-rule\">RELAXED RULE</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class=\"valign-top\">\n <section>\n 1\n <i\n class=\"mi mdi-warning biz-rule-adu-discrepancy\"\n *ngIf=\"aduValue?.hasAduDiscrepancy\"\n [ngbTooltip]=\"aduDiscrepancyTooltip\"\n #t=\"ngbTooltip\"\n ></i>\n </section>\n </td>\n <td id=\"adu-table-first-row\">\n <section>\n {{ informationPool.generateAdu.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"generateAduTooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n\n <div\n class=\"pod-text\"\n *ngIf=\"disabledAduPostingRequired\"\n >\n Order is of type: Payment on Delivery (PoD).\n </div>\n </section>\n\n <section\n class=\"pl-16\"\n *ngIf=\"readMode && aduValue?.generateAdu.Current\"\n >\n {{\n aduValue?.useProjectedValues?.Current\n ? informationPool.provideForUDProjection.name\n : informationPool.provideForUDTillPostedDate.name\n }}\n </section>\n <p\n class=\"pl-16 mb-0\"\n *ngIf=\"!readMode && aduValue?.generateAdu.Current\"\n >\n <mat-radio-group\n class=\"adu-radio-button-group\"\n [(ngModel)]=\"provideADUForSelectedOption\"\n [disabled]=\"aduValue?.isUdLiabilityOrder\"\n >\n <mat-radio-button\n value=\"ProvideForUDProjection\"\n (click)=\"generateADURadioButtonClicked('ProvideForUDProjection')\"\n >\n {{ informationPool.provideForUDProjection.name }}\n </mat-radio-button>\n <mat-radio-button\n value=\"ProvideForUDTillPostedDate\"\n (click)=\"generateADURadioButtonClicked('ProvideForUDTillPostedDate')\"\n >\n {{ informationPool.provideForUDTillPostedDate.name }}\n </mat-radio-button>\n </mat-radio-group>\n </p>\n </td>\n <td class=\"valign-top\">\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled || disabledAduPostingRequired\"\n [isToggled]=\"aduValue?.generateAdu.Current\"\n (toggle)=\"aduRequiredChanged()\"\n >\n </anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.generateAdu.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.generateAdu.IsChanged\"\n ></div>\n </section>\n </td>\n <td class=\"valign-top\">\n <section>-</section>\n </td>\n <td class=\"valign-top\">\n <section>-</section>\n </td>\n </tr>\n\n <ng-container *ngIf=\"aduValue?.generateAdu.Current\">\n <tr>\n <td>2</td>\n <td>\n {{ informationPool.provideADUsForLiveOrders.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"informationPool.provideADUsForLiveOrders.tooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"aduValue?.onlyForLiveOrders?.Current\"\n (toggle)=\"onlyForLiveOrdersChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.onlyForLiveOrders?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.onlyForLiveOrders?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n <tr class=\"adu-rule-2-row\">\n <td>3</td>\n <td>\n {{ informationPool.minGrp.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"minGrp\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <form [formGroup]=\"commenceAduForm\">\n <ng-container *ngIf=\"!readMode\">\n <!--[min]=\"MINVALUE\" instead of commenceAduForm_MINVALUE intentional for backspace to work -->\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"commenceAduForm_MAXVALUE\"\n inputmode=\"numeric\"\n (wheel)=\"OnScroll($event)\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged,\n 'input-error-perct-field':\n commenceAduForm.controls.preApproved.errors?.required ||\n commenceAduForm.controls.preApproved.errors?.min ||\n commenceAduForm.controls.preApproved.errors?.max\n }\"\n class=\"form-control\"\n name=\"maxSpotsOto\"\n type=\"number\"\n formControlName=\"preApproved\"\n />\n\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges &&\n aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged,\n 'input-icon':\n !highlightChanges ||\n !aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged,\n 'input-icon-perct-error':\n commenceAduForm.controls.preApproved.errors?.required ||\n commenceAduForm.controls.preApproved.errors?.min ||\n commenceAduForm.controls.preApproved.errors?.max\n }\"\n >\n %\n </div>\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.percentageDeficitAllowedBeforeAdu?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged\"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n commenceAduForm.controls?.preApproved?.errors?.max ||\n commenceAduForm.controls?.preApproved?.errors?.min\n \"\n [ngbTooltip]=\"commenceAduFormValueRangeError\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n <td>-</td>\n </tr>\n <tr>\n <td [ngClass]=\"{ 'valign-top': !readMode }\">\n <section>4</section>\n </td>\n <td [ngClass]=\"{ 'valign-top': !readMode }\">\n <section>\n {{ informationPool.daypart.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"daypartGroupingTooltip\"\n #t=\"ngbTooltip\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td\n colspan=\"2\"\n class=\"dp-groups-row\"\n >\n <ng-container *ngIf=\"readMode\">\n <ng-container *ngIf=\"aduValue.daypartGroups.daypartGroupList.length === 0\">\n -\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue.daypartGroups.isChanged\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"daypartRules.length > 0\">\n <div class=\"daypart-groups-container\">\n <div *ngFor=\"let group of daypartRules; let last = last\">\n <div>\n {{ group.groupName }}\n <ng-container\n *ngTemplateOutlet=\"\n daypartTemplate;\n context: { dayparts: group.dayparts }\n \"\n ></ng-container>\n <span *ngIf=\"!last\">, </span>\n </div>\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue.daypartGroups.isChanged\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!readMode\">\n <ng-container *ngIf=\"aduValue.daypartGroups.daypartGroupList.length === 0\">\n <button\n class=\"anna action-button cancel-button\"\n (click)=\"openDaypartGroupsModal()\"\n >\n Add Groups\n </button>\n </ng-container>\n <ng-container *ngIf=\"aduValue.daypartGroups.daypartGroupList.length > 0\">\n <div class=\"daypart-groups-container\">\n <div *ngFor=\"let group of aduValue.daypartGroups.daypartGroupList\">\n <div class=\"daypart-groups\">\n {{ group.groupName }}\n <ng-container\n *ngTemplateOutlet=\"\n daypartTemplate;\n context: { dayparts: group.dayparts }\n \"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue.daypartGroups.isChanged\"\n ></div>\n </div>\n\n <div class=\"action-container\">\n <button\n class=\"anna action-button cancel-button\"\n (click)=\"openDaypartGroupsModal()\"\n >\n Manage Groups\n </button>\n <button\n class=\"action-button anna cancel-button\"\n (click)=\"openRemoveGroupingModal()\"\n >\n Remove Grouping\n </button>\n </div>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n <tr>\n <td>5</td>\n <td>\n {{ informationPool.allowedInventory.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedInventory\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <anna-design-priority-dropdowns\n *ngIf=\"aduValue?.allowedInventory?.preApproved\"\n [showNeedBuyerApproval]=\"false\"\n [highPriorityList]=\"aduValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"aduValue?.allowedInventory.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n [differences]=\"[\n highlightChanges && aduValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && aduValue?.allowedInventory?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <anna-design-priority-dropdowns\n *ngIf=\"aduValue?.allowedInventory?.preApproved\"\n [showAutoApproval]=\"false\"\n [highPriorityList]=\"aduValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"aduValue?.allowedInventory.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n [errorInPriorityDropdown]=\"aduValue?.allowedInventory.isInvalid\"\n [differences]=\"[\n highlightChanges && aduValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && aduValue?.allowedInventory?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n <tr>\n <td>6</td>\n <td>\n {{ informationPool.provideMGsOnSpecificWeekdays.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"provideMGsOnSpecificWeekdays\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"\n isDisabled || aduValue?.disableProvideOffersBasedOnSpecificWeekDaysToggle\n \"\n [isToggled]=\"aduValue?.provideOffersBasedOnSpecificWeekDays?.Current\"\n (toggle)=\"provideOffersBasedOnSpecificWeekDaysChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.provideOffersBasedOnSpecificWeekDays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.provideOffersBasedOnSpecificWeekDays?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n <tr>\n <td>7</td>\n <td>\n {{ informationPool.provideAdusForShortestDuration.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"provideAdusForShortestDuration\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"aduValue?.provideAdusForShortestDuration?.Current\"\n (toggle)=\"provideAdusForShortestDurationChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.provideAdusForShortestDuration?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.provideAdusForShortestDuration?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>8</section>\n </td>\n <td>\n <section>\n {{ informationPool.aduTimeWindow.name }}\n </section>\n\n <section class=\"pl-16\">\n {{ informationPool.windowForUDLiability.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"timeWindowForUdLiability\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n\n <section class=\"pl-16\">\n {{ informationPool.windowForProvidingADUs.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"timeWindowForADU\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section></section>\n <section>-</section>\n <section>-</section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n\n <anna-design-priority-dropdowns\n class=\"udLiabilityDropdown\"\n *ngIf=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [showNeedBuyerApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [disableDropdownInEditMode]=\"\n aduValue?.isUdLiabilityOrder && aduValue?.generateAdu.Current\n \"\n [lowPriorityList]=\"aduValue?.timeWindowForUdLiability.relaxed\"\n (highPriorityListChange)=\"\n keepsLowPrioritySameAsHighPriorityForTimeWindowUdLiability();\n checkPriority(aduValue?.timeWindowForUdLiability);\n formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForUdLiability); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForUdLiability?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForUdLiability?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n\n <anna-design-priority-dropdowns\n class=\"aduWindowDropdown\"\n *ngIf=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [showNeedBuyerApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"aduValue?.timeWindowForProvidingAdu.relaxed\"\n (highPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n\n <anna-design-priority-dropdowns\n class=\"udLiabilityDropdown\"\n *ngIf=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [showAutoApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [disableDropdownInEditMode]=\"\n aduValue?.isUdLiabilityOrder && aduValue?.generateAdu?.Current\n \"\n [lowPriorityList]=\"aduValue?.timeWindowForUdLiability.relaxed\"\n (highPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForUdLiability); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForUdLiability); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForUdLiability?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForUdLiability?.isRelaxedChanged\n ]\"\n [errorInPriorityDropdown]=\"aduValue?.timeWindowForUdLiability.isInvalid\"\n [disabledLowPriorityOption]=\"aduValue?.timeWindowForUdLiability?.disableEditForRelaxed\"\n >\n </anna-design-priority-dropdowns>\n\n <anna-design-priority-dropdowns\n class=\"aduWindowDropdown\"\n *ngIf=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [showAutoApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"aduValue?.timeWindowForProvidingAdu.relaxed\"\n (highPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isRelaxedChanged\n ]\"\n [errorInPriorityDropdown]=\"aduValue?.timeWindowForProvidingAdu.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n\n <tr>\n <td>9</td>\n <td>\n {{ informationPool.allowAduTwoMinutes.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowAduTwoMinutes\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"aduValue?.isTresholdAllowed.Current\"\n (toggle)=\"allowThreshold()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.isTresholdAllowed.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.isTresholdAllowed.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n</article>\n<ng-template\n #daypartTemplate\n let-dayparts=\"dayparts\"\n >(<ng-container *ngFor=\"let daypart of dayparts; let last = last\"\n ><span>{{ daypart.text }}</span\n ><span *ngIf=\"!last\">, </span> </ng-container\n >)\n</ng-template>\n\n<ng-template\n #addDaypartGroupModal\n let-modal\n>\n <anna-feature-biz-rules-daypart-grouping-popup\n [modalTitle]=\"modalTitleForDpGroups\"\n [daypartGroupsForPopup]=\"daypartRules\"\n (closeModal)=\"closeAddDaypartGroupModal()\"\n (emitSavedDaypartGroups)=\"saveDaypartGroups($event)\"\n >\n </anna-feature-biz-rules-daypart-grouping-popup>\n</ng-template>\n\n<anna-design-confirmation-popup\n #removeGroupingModal\n [config]=\"removeGroupingConfirmationConfig\"\n (confirmClicked)=\"removeGrouping()\"\n>\n</anna-design-confirmation-popup>\n\n<ng-template #aduDiscrepancyTooltip>\n <span>The order type is set to Paid on ANNA where no audience posting is required but has user booked ADUs</span>\n</ng-template>\n\n<ng-template #generateAduTooltip>\n <span [innerHtml]=\"informationPool.generateAdu.tooltip\"></span>\n</ng-template>\n\n<ng-template #minGrp>\n <span [innerHtml]=\"informationPool.minGrp.tooltip\"></span>\n</ng-template>\n\n<ng-template #aduTimeWindow>\n <span [innerHtml]=\"informationPool.aduTimeWindow.tooltip\"></span>\n</ng-template>\n<ng-template #provideMGsOnSpecificWeekdays>\n <span [innerHtml]=\"informationPool.provideMGsOnSpecificWeekdays.tooltip\"></span>\n</ng-template>\n<ng-template #provideAdusForShortestDuration>\n <span [innerHtml]=\"informationPool.provideAdusForShortestDuration.tooltip\"></span>\n</ng-template>\n<ng-template #allowAduTwoMinutes>\n <span [innerHtml]=\"informationPool.allowAduTwoMinutes.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedInventory>\n <span [innerHtml]=\"informationPool.allowedInventory.tooltip\"></span>\n</ng-template>\n<ng-template #timeWindowForUdLiability>\n <span [innerHtml]=\"informationPool.windowForUDLiability.tooltip\"></span>\n</ng-template>\n<ng-template #timeWindowForADU>\n <span [innerHtml]=\"informationPool.windowForProvidingADUs.tooltip\"></span>\n</ng-template>\n<ng-template #daypartGroupingTooltip>\n <span [innerHtml]=\"informationPool.daypart.tooltip\"></span>\n</ng-template>\n<!-- Error message tooltip -->\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <div>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #needBuyerApprovalHasToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n\n<ng-template #commenceAduFormValueRangeError>\n The value has to be greater than or equal to {{ commenceAduForm_MINVALUE }}%.\n</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}:host ::ng-deep mat-radio-group mat-radio-button .mdc-radio__background{width:var(--mat-radio-size);height:var(--mat-radio-size)}:host ::ng-deep mat-radio-group mat-radio-button .mdc-radio__inner-circle{border-width:calc(var(--mat-radio-size) / 2)}:host ::ng-deep mat-radio-group mat-radio-button .mdc-form-field>label{margin:0 0 0 4px;padding:0;top:-2px;position:relative;font-size:var(--radio-button-label-fs)}:host ::ng-deep mat-radio-group mat-radio-button .mdc-radio--disabled+label{color:var(--primary-text-color-dark)!important}:host ::ng-deep mat-radio-group mat-radio-button.mat-mdc-radio-button .mdc-form-field .mdc-radio{padding:0}.daypart-groups-container{display:flex;gap:4px;flex-wrap:wrap}.action-button,.action-button:focus,.action-button:hover{width:150px;height:24px}.read-mode-inputs .daypart-groups-container{margin-bottom:4px;margin-top:4px}:host ::ng-deep .input-difference-icon{margin-bottom:2px}.daypart-grouping-row{padding-top:5px!important;padding-bottom:5px!important}.daypart-groups{border:1px solid #b7b7b7!important;background-color:#bdbdbd80!important;font-size:var(--page-link-fs)!important;font-style:normal!important;color:#4a4a4a!important;padding:5px 8px}.daypart-action-container{background-color:#268bff1f!important;color:#268bff!important;font-family:Roboto;font-size:16px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;padding:7px 20px}.action-container{display:flex;gap:8px;margin-top:8px}::ng-deep .adu-radio-button-group mat-radio-button .mdc-form-field{margin:12px 0!important}::ng-deep .adu-radio-button-group mat-radio-button .mdc-form-field label{font-size:12px!important}.hide-toggle{display:none!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.biz-rule{width:459px;min-width:459px;max-width:459px}table thead tr th.yes-no{width:66px;min-width:66px;max-width:66px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:289px;min-width:289px;max-width:289px}table tbody tr td.dp-groups-row{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}.highlight-changes table thead tr th.biz-rule{width:443px;min-width:443px;max-width:443px}.highlight-changes table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}.table-container::-webkit-scrollbar-track{margin-top:40px}::ng-deep anna-design-priority-dropdowns.udLiabilityDropdown>div{margin-bottom:8.5px}.read-mode-inputs.highlight-changes ::ng-deep anna-design-priority-dropdowns.aduWindowDropdown>div{margin-bottom:5px;margin-top:-3px}.mb-0{margin-bottom:0!important}div.pod-text{margin-left:auto;font-size:12px!important;font-weight:400!important;font-style:italic!important;line-height:normal!important;letter-spacing:normal!important;color:#a7a7a7!important}.biz-rule-adu-discrepancy{font-size:14px;color:#f97b07;margin-left:8px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: DaypartGroupingPopupComponent, selector: "anna-feature-biz-rules-daypart-grouping-popup", inputs: ["daypartGroupsForPopup", "modalTitle"], outputs: ["closeModal", "emitSavedDaypartGroups"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "component", type: i2.PriorityDropdownsComponent, selector: "anna-design-priority-dropdowns", inputs: ["highPriorityHeading", "lowPriorityHeading", "isDisabled", "lowPriorityList", "highPriorityList", "differences", "showAutoApproval", "showNeedBuyerApproval", "disableDropdownInEditMode", "disabledPriorityOption", "disabledLowPriorityOption", "errorInPriorityDropdown"], outputs: ["highPriorityListChange", "lowPriorityListChange"] }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "component", type: i2.ConfirmationPopupComponent, selector: "anna-design-confirmation-popup", inputs: ["config"], outputs: ["confirmClicked", "cancelClicked"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "directive", type: i1$3.DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern", "decimalPlaces"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1634
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AduRulesComponent, deps: [{ token: i1$1.FormBuilder }, { token: BusinessRuleCommonSIBILogicService }, { token: i1$2.NgbModal }, { token: i0.ChangeDetectorRef }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
1635
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: AduRulesComponent, isStandalone: true, selector: "anna-feature-biz-rules-adu-rules", inputs: { aduValue: "aduValue", intialAduValue: "intialAduValue", isDisabled: "isDisabled", highlightChanges: "highlightChanges", disabledAduTimeWindow: "disabledAduTimeWindow", disabledAduPostingRequired: "disabledAduPostingRequired", editMode: "editMode", hideRulesTooltipInfo: "hideRulesTooltipInfo", aduTabSelected: "aduTabSelected", minimumSeparation: "minimumSeparation", showMinimumSeparationInMessage: "showMinimumSeparationInMessage" }, outputs: { aduChange: "aduChange" }, viewQueries: [{ propertyName: "addDaypartGroupModal", first: true, predicate: ["addDaypartGroupModal"], descendants: true }, { propertyName: "removeGroupingConfirmation", first: true, predicate: ["removeGroupingModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<article\n [ngClass]=\"{\n 'read-mode-inputs': readMode,\n 'edit-mode-inputs': !readMode,\n 'highlight-changes': highlightChanges,\n 'disable-highlight-changes': !highlightChanges,\n 'hide-tooltip': hideRulesTooltipInfo\n }\"\n>\n <!-- WILL SHOW input-difference-icon only if highlightChanges is true -->\n\n <anna-design-message-box\n *ngIf=\"!hideRulesTooltipInfo\"\n [messageBoxData]=\"aduAndMgMessageData\"\n ></anna-design-message-box>\n <div\n id=\"scroll-container-adu\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">RULE#</th>\n <th class=\"biz-rule\">BUSINESS RULES</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">STANDARD RULE</th>\n <th class=\"relaxed-rule\">RELAXED RULE</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class=\"valign-top\">\n <section>\n 1\n <i\n class=\"mi mdi-warning biz-rule-adu-discrepancy\"\n *ngIf=\"aduValue?.hasAduDiscrepancy\"\n [ngbTooltip]=\"aduDiscrepancyTooltip\"\n #t=\"ngbTooltip\"\n ></i>\n </section>\n </td>\n <td id=\"adu-table-first-row\">\n <section>\n {{ informationPool.generateAdu.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"generateAduTooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n\n <div\n class=\"pod-text\"\n *ngIf=\"disabledAduPostingRequired\"\n >\n Order is of type: Payment on Delivery (PoD).\n </div>\n </section>\n\n <section\n class=\"pl-16\"\n *ngIf=\"readMode && aduValue?.generateAdu.Current\"\n >\n {{\n aduValue?.useProjectedValues?.Current\n ? informationPool.provideForUDProjection.name\n : informationPool.provideForUDTillPostedDate.name\n }}\n </section>\n <p\n class=\"pl-16 mb-0\"\n *ngIf=\"!readMode && aduValue?.generateAdu.Current\"\n >\n <mat-radio-group\n class=\"adu-radio-button-group\"\n [(ngModel)]=\"provideADUForSelectedOption\"\n [disabled]=\"aduValue?.isUdLiabilityOrder\"\n >\n <mat-radio-button\n value=\"ProvideForUDProjection\"\n (click)=\"generateADURadioButtonClicked('ProvideForUDProjection')\"\n >\n {{ informationPool.provideForUDProjection.name }}\n </mat-radio-button>\n <mat-radio-button\n value=\"ProvideForUDTillPostedDate\"\n (click)=\"generateADURadioButtonClicked('ProvideForUDTillPostedDate')\"\n >\n {{ informationPool.provideForUDTillPostedDate.name }}\n </mat-radio-button>\n </mat-radio-group>\n </p>\n </td>\n <td class=\"valign-top\">\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled || disabledAduPostingRequired\"\n [isToggled]=\"aduValue?.generateAdu.Current\"\n (toggle)=\"aduRequiredChanged()\"\n >\n </anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.generateAdu.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.generateAdu.IsChanged\"\n ></div>\n </section>\n </td>\n <td class=\"valign-top\">\n <section>-</section>\n </td>\n <td class=\"valign-top\">\n <section>-</section>\n </td>\n </tr>\n\n <ng-container *ngIf=\"aduValue?.generateAdu.Current\">\n <tr>\n <td>2</td>\n <td>\n {{ informationPool.provideADUsForLiveOrders.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"informationPool.provideADUsForLiveOrders.tooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"aduValue?.onlyForLiveOrders?.Current\"\n (toggle)=\"onlyForLiveOrdersChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.onlyForLiveOrders?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.onlyForLiveOrders?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n <tr class=\"adu-rule-2-row\">\n <td>3</td>\n <td>\n {{ informationPool.minGrp.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"minGrp\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <form [formGroup]=\"commenceAduForm\">\n <ng-container *ngIf=\"!readMode\">\n <!--[min]=\"MINVALUE\" instead of commenceAduForm_MINVALUE intentional for backspace to work -->\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"commenceAduForm_MAXVALUE\"\n inputmode=\"numeric\"\n (wheel)=\"OnScroll($event)\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged,\n 'input-error-perct-field':\n commenceAduForm.controls.preApproved.errors?.required ||\n commenceAduForm.controls.preApproved.errors?.min ||\n commenceAduForm.controls.preApproved.errors?.max\n }\"\n class=\"form-control\"\n name=\"maxSpotsOto\"\n type=\"number\"\n formControlName=\"preApproved\"\n />\n\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges &&\n aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged,\n 'input-icon':\n !highlightChanges ||\n !aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged,\n 'input-icon-perct-error':\n commenceAduForm.controls.preApproved.errors?.required ||\n commenceAduForm.controls.preApproved.errors?.min ||\n commenceAduForm.controls.preApproved.errors?.max\n }\"\n >\n %\n </div>\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.percentageDeficitAllowedBeforeAdu?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue?.percentageDeficitAllowedBeforeAdu.IsChanged\"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n commenceAduForm.controls?.preApproved?.errors?.max ||\n commenceAduForm.controls?.preApproved?.errors?.min\n \"\n [ngbTooltip]=\"commenceAduFormValueRangeError\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n <td>-</td>\n </tr>\n <tr>\n <td [ngClass]=\"{ 'valign-top': !readMode }\">\n <section>4</section>\n </td>\n <td [ngClass]=\"{ 'valign-top': !readMode }\">\n <section>\n {{ informationPool.daypart.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"daypartGroupingTooltip\"\n #t=\"ngbTooltip\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td\n colspan=\"2\"\n class=\"dp-groups-row\"\n >\n <ng-container *ngIf=\"readMode\">\n <ng-container *ngIf=\"aduValue.daypartGroups.daypartGroupList.length === 0\">\n -\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue.daypartGroups.isChanged\"\n ></div>\n </ng-container>\n <ng-container *ngIf=\"daypartRules.length > 0\">\n <div class=\"daypart-groups-container\">\n <div *ngFor=\"let group of daypartRules; let last = last\">\n <div>\n {{ group.groupName }}\n <ng-container\n *ngTemplateOutlet=\"\n daypartTemplate;\n context: { dayparts: group.dayparts }\n \"\n ></ng-container>\n <span *ngIf=\"!last\">, </span>\n </div>\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue.daypartGroups.isChanged\"\n ></div>\n </div>\n </ng-container>\n </ng-container>\n <ng-container *ngIf=\"!readMode\">\n <ng-container *ngIf=\"aduValue.daypartGroups.daypartGroupList.length === 0\">\n <button\n class=\"anna action-button cancel-button\"\n (click)=\"openDaypartGroupsModal()\"\n >\n Add Groups\n </button>\n </ng-container>\n <ng-container *ngIf=\"aduValue.daypartGroups.daypartGroupList.length > 0\">\n <div class=\"daypart-groups-container\">\n <div *ngFor=\"let group of aduValue.daypartGroups.daypartGroupList\">\n <div class=\"daypart-groups\">\n {{ group.groupName }}\n <ng-container\n *ngTemplateOutlet=\"\n daypartTemplate;\n context: { dayparts: group.dayparts }\n \"\n ></ng-container>\n </div>\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && aduValue.daypartGroups.isChanged\"\n ></div>\n </div>\n\n <div class=\"action-container\">\n <button\n class=\"anna action-button cancel-button\"\n (click)=\"openDaypartGroupsModal()\"\n >\n Manage Groups\n </button>\n <button\n class=\"action-button anna cancel-button\"\n (click)=\"openRemoveGroupingModal()\"\n >\n Remove Grouping\n </button>\n </div>\n </ng-container>\n </ng-container>\n </td>\n </tr>\n <tr>\n <td>5</td>\n <td>\n {{ informationPool.allowedInventory.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedInventory\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <anna-design-priority-dropdowns\n *ngIf=\"aduValue?.allowedInventory?.preApproved\"\n [showNeedBuyerApproval]=\"false\"\n [highPriorityList]=\"aduValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"aduValue?.allowedInventory.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n [differences]=\"[\n highlightChanges && aduValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && aduValue?.allowedInventory?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <anna-design-priority-dropdowns\n *ngIf=\"aduValue?.allowedInventory?.preApproved\"\n [showAutoApproval]=\"false\"\n [highPriorityList]=\"aduValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"aduValue?.allowedInventory.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(aduValue?.allowedInventory); formValueChanged()\"\n [errorInPriorityDropdown]=\"aduValue?.allowedInventory.isInvalid\"\n [differences]=\"[\n highlightChanges && aduValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && aduValue?.allowedInventory?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n <tr>\n <td>6</td>\n <td>\n {{ informationPool.provideMGsOnSpecificWeekdays.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"provideMGsOnSpecificWeekdays\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"\n isDisabled || aduValue?.disableProvideOffersBasedOnSpecificWeekDaysToggle\n \"\n [isToggled]=\"aduValue?.provideOffersBasedOnSpecificWeekDays?.Current\"\n (toggle)=\"provideOffersBasedOnSpecificWeekDaysChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.provideOffersBasedOnSpecificWeekDays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.provideOffersBasedOnSpecificWeekDays?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n <tr>\n <td>7</td>\n <td>\n {{ informationPool.provideAdusForShortestDuration.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"provideAdusForShortestDuration\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"aduValue?.provideAdusForShortestDuration?.Current\"\n (toggle)=\"provideAdusForShortestDurationChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.provideAdusForShortestDuration?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.provideAdusForShortestDuration?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>8</section>\n </td>\n <td>\n <section>\n {{ informationPool.aduTimeWindow.name }}\n </section>\n\n <section class=\"pl-16\">\n {{ informationPool.windowForUDLiability.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"timeWindowForUdLiability\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n\n <section class=\"pl-16\">\n {{ informationPool.windowForProvidingADUs.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"timeWindowForADU\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section></section>\n <section>-</section>\n <section>-</section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n\n <anna-design-priority-dropdowns\n class=\"udLiabilityDropdown\"\n *ngIf=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [showNeedBuyerApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [disableDropdownInEditMode]=\"\n aduValue?.isUdLiabilityOrder && aduValue?.generateAdu.Current\n \"\n [lowPriorityList]=\"aduValue?.timeWindowForUdLiability.relaxed\"\n (highPriorityListChange)=\"\n keepsLowPrioritySameAsHighPriorityForTimeWindowUdLiability();\n checkPriority(aduValue?.timeWindowForUdLiability);\n formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForUdLiability); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForUdLiability?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForUdLiability?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n\n <anna-design-priority-dropdowns\n class=\"aduWindowDropdown\"\n *ngIf=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [showNeedBuyerApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"aduValue?.timeWindowForProvidingAdu.relaxed\"\n (highPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isRelaxedChanged\n ]\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n\n <anna-design-priority-dropdowns\n class=\"udLiabilityDropdown\"\n *ngIf=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [showAutoApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForUdLiability?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [disableDropdownInEditMode]=\"\n aduValue?.isUdLiabilityOrder && aduValue?.generateAdu?.Current\n \"\n [lowPriorityList]=\"aduValue?.timeWindowForUdLiability.relaxed\"\n (highPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForUdLiability); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForUdLiability); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForUdLiability?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForUdLiability?.isRelaxedChanged\n ]\"\n [errorInPriorityDropdown]=\"aduValue?.timeWindowForUdLiability.isInvalid\"\n [disabledLowPriorityOption]=\"aduValue?.timeWindowForUdLiability?.disableEditForRelaxed\"\n >\n </anna-design-priority-dropdowns>\n\n <anna-design-priority-dropdowns\n class=\"aduWindowDropdown\"\n *ngIf=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [showAutoApproval]=\"false\"\n [highPriorityList]=\"aduValue?.timeWindowForProvidingAdu?.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"aduValue?.timeWindowForProvidingAdu.relaxed\"\n (highPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(aduValue?.timeWindowForProvidingAdu); formValueChanged()\n \"\n [differences]=\"[\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isPreApprovedChanged,\n highlightChanges && aduValue?.timeWindowForProvidingAdu?.isRelaxedChanged\n ]\"\n [errorInPriorityDropdown]=\"aduValue?.timeWindowForProvidingAdu.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n\n <tr>\n <td>9</td>\n <td>\n {{ informationPool.allowAduTwoMinutes.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowAduTwoMinutes\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"aduValue?.isTresholdAllowed.Current\"\n (toggle)=\"allowThreshold()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ aduValue?.isTresholdAllowed.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"aduValue?.isTresholdAllowed.IsChanged\"\n ></div>\n </section>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n </ng-container>\n </tbody>\n </table>\n </div>\n</article>\n<ng-template\n #daypartTemplate\n let-dayparts=\"dayparts\"\n >(<ng-container *ngFor=\"let daypart of dayparts; let last = last\"\n ><span>{{ daypart.text }}</span\n ><span *ngIf=\"!last\">, </span> </ng-container\n >)\n</ng-template>\n\n<ng-template\n #addDaypartGroupModal\n let-modal\n>\n <anna-feature-biz-rules-daypart-grouping-popup\n [modalTitle]=\"modalTitleForDpGroups\"\n [daypartGroupsForPopup]=\"daypartRules\"\n (closeModal)=\"closeAddDaypartGroupModal()\"\n (emitSavedDaypartGroups)=\"saveDaypartGroups($event)\"\n >\n </anna-feature-biz-rules-daypart-grouping-popup>\n</ng-template>\n\n<anna-design-confirmation-popup\n #removeGroupingModal\n [config]=\"removeGroupingConfirmationConfig\"\n (confirmClicked)=\"removeGrouping()\"\n>\n</anna-design-confirmation-popup>\n\n<ng-template #aduDiscrepancyTooltip>\n <span>The order type is set to Paid on ANNA where no audience posting is required but has user booked ADUs</span>\n</ng-template>\n\n<ng-template #generateAduTooltip>\n <span [innerHtml]=\"informationPool.generateAdu.tooltip\"></span>\n</ng-template>\n\n<ng-template #minGrp>\n <span [innerHtml]=\"informationPool.minGrp.tooltip\"></span>\n</ng-template>\n\n<ng-template #aduTimeWindow>\n <span [innerHtml]=\"informationPool.aduTimeWindow.tooltip\"></span>\n</ng-template>\n<ng-template #provideMGsOnSpecificWeekdays>\n <span [innerHtml]=\"informationPool.provideMGsOnSpecificWeekdays.tooltip\"></span>\n</ng-template>\n<ng-template #provideAdusForShortestDuration>\n <span [innerHtml]=\"informationPool.provideAdusForShortestDuration.tooltip\"></span>\n</ng-template>\n<ng-template #allowAduTwoMinutes>\n <span [innerHtml]=\"informationPool.allowAduTwoMinutes.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedInventory>\n <span [innerHtml]=\"informationPool.allowedInventory.tooltip\"></span>\n</ng-template>\n<ng-template #timeWindowForUdLiability>\n <span [innerHtml]=\"informationPool.windowForUDLiability.tooltip\"></span>\n</ng-template>\n<ng-template #timeWindowForADU>\n <span [innerHtml]=\"informationPool.windowForProvidingADUs.tooltip\"></span>\n</ng-template>\n<ng-template #daypartGroupingTooltip>\n <span [innerHtml]=\"informationPool.daypart.tooltip\"></span>\n</ng-template>\n<!-- Error message tooltip -->\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <div>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n </div>\n</ng-template>\n\n<ng-template #needBuyerApprovalHasToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n\n<ng-template #commenceAduFormValueRangeError>\n The value has to be greater than or equal to {{ commenceAduForm_MINVALUE }}%.\n</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}:host ::ng-deep mat-radio-group mat-radio-button .mdc-radio__background{width:var(--mat-radio-size);height:var(--mat-radio-size)}:host ::ng-deep mat-radio-group mat-radio-button .mdc-radio__inner-circle{border-width:calc(var(--mat-radio-size) / 2)}:host ::ng-deep mat-radio-group mat-radio-button .mdc-form-field>label{margin:0 0 0 4px;padding:0;top:-2px;position:relative;font-size:var(--radio-button-label-fs)}:host ::ng-deep mat-radio-group mat-radio-button .mdc-radio--disabled+label{color:var(--primary-text-color-dark)!important}:host ::ng-deep mat-radio-group mat-radio-button.mat-mdc-radio-button .mdc-form-field .mdc-radio{padding:0}.daypart-groups-container{display:flex;gap:4px;flex-wrap:wrap}.action-button,.action-button:focus,.action-button:hover{width:150px;height:24px}.read-mode-inputs .daypart-groups-container{margin-bottom:4px;margin-top:4px}:host ::ng-deep .input-difference-icon{margin-bottom:2px}.daypart-grouping-row{padding-top:5px!important;padding-bottom:5px!important}.daypart-groups{border:1px solid #b7b7b7!important;background-color:#bdbdbd80!important;font-size:var(--page-link-fs)!important;font-style:normal!important;color:#4a4a4a!important;padding:5px 8px}.daypart-action-container{background-color:#268bff1f!important;color:#268bff!important;font-family:Roboto;font-size:16px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;padding:7px 20px}.action-container{display:flex;gap:8px;margin-top:8px}::ng-deep .adu-radio-button-group mat-radio-button .mdc-form-field{margin:12px 0!important}::ng-deep .adu-radio-button-group mat-radio-button .mdc-form-field label{font-size:12px!important}.hide-toggle{display:none!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.biz-rule{width:459px;min-width:459px;max-width:459px}table thead tr th.yes-no{width:66px;min-width:66px;max-width:66px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:289px;min-width:289px;max-width:289px}table tbody tr td.dp-groups-row{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}.highlight-changes table thead tr th.biz-rule{width:443px;min-width:443px;max-width:443px}.highlight-changes table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}.table-container::-webkit-scrollbar-track{margin-top:40px}::ng-deep anna-design-priority-dropdowns.udLiabilityDropdown>div{margin-bottom:8.5px}.read-mode-inputs.highlight-changes ::ng-deep anna-design-priority-dropdowns.aduWindowDropdown>div{margin-bottom:5px;margin-top:-3px}.mb-0{margin-bottom:0!important}div.pod-text{margin-left:auto;font-size:12px!important;font-weight:400!important;font-style:italic!important;line-height:normal!important;letter-spacing:normal!important;color:#a7a7a7!important}.biz-rule-adu-discrepancy{font-size:14px;color:#f97b07;margin-left:8px;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: MatRadioModule }, { kind: "directive", type: i5.MatRadioGroup, selector: "mat-radio-group", inputs: ["color", "name", "labelPosition", "value", "selected", "disabled", "required", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioGroup"] }, { kind: "component", type: i5.MatRadioButton, selector: "mat-radio-button", inputs: ["id", "name", "aria-label", "aria-labelledby", "aria-describedby", "disableRipple", "tabIndex", "checked", "value", "labelPosition", "disabled", "required", "color", "disabledInteractive"], outputs: ["change"], exportAs: ["matRadioButton"] }, { kind: "component", type: DaypartGroupingPopupComponent, selector: "anna-feature-biz-rules-daypart-grouping-popup", inputs: ["daypartGroupsForPopup", "modalTitle"], outputs: ["closeModal", "emitSavedDaypartGroups"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "component", type: i2.PriorityDropdownsComponent, selector: "anna-design-priority-dropdowns", inputs: ["highPriorityHeading", "lowPriorityHeading", "isDisabled", "lowPriorityList", "highPriorityList", "differences", "showAutoApproval", "showNeedBuyerApproval", "disableDropdownInEditMode", "disabledPriorityOption", "disabledLowPriorityOption", "errorInPriorityDropdown"], outputs: ["highPriorityListChange", "lowPriorityListChange"] }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "component", type: i2.ConfirmationPopupComponent, selector: "anna-design-confirmation-popup", inputs: ["config"], outputs: ["confirmClicked", "cancelClicked"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "directive", type: i1$3.DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern", "decimalPlaces"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1636
1636
  }
1637
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AduRulesComponent, decorators: [{
1637
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AduRulesComponent, decorators: [{
1638
1638
  type: Component,
1639
1639
  args: [{ selector: "anna-feature-biz-rules-adu-rules", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1640
1640
  MatRadioModule,
@@ -1798,10 +1798,10 @@ class ApprovalConfigService {
1798
1798
  ],
1799
1799
  };
1800
1800
  }
1801
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApprovalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1802
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApprovalConfigService, providedIn: "root" }); }
1801
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ApprovalConfigService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
1802
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ApprovalConfigService, providedIn: "root" }); }
1803
1803
  }
1804
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApprovalConfigService, decorators: [{
1804
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ApprovalConfigService, decorators: [{
1805
1805
  type: Injectable,
1806
1806
  args: [{
1807
1807
  providedIn: "root",
@@ -1966,10 +1966,10 @@ class ApprovalConfigComponent {
1966
1966
  }
1967
1967
  return false;
1968
1968
  }
1969
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApprovalConfigComponent, deps: [{ token: ApprovalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
1970
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ApprovalConfigComponent, isStandalone: true, selector: "anna-feature-biz-rules-approval-config", inputs: { editModeClonedCopy: "editModeClonedCopy", approvalConfig: "approvalConfig", userType: "userType", businessRulePageType: "businessRulePageType", isTrafficAnnaOrder: "isTrafficAnnaOrder", editMode: "editMode" }, outputs: { approvalConfigChanged: "approvalConfigChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"section-header-container\"\n *ngIf=\"\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n \"\n>\n <header>{{ userType | titlecase }} Spots Approval</header>\n <span class=\"horizontal-divider\"></span>\n</div>\n\n<div\n class=\"no-data-message\"\n *ngIf=\"\n !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection &&\n !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection &&\n !approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n \"\n>\n No configurations for spots approval to be set for this\n {{ businessRulePageType === BusinessPageType.ADVERTISER ? \"advertiser\" : \"order\" }}. Access business rules from the\n next tab.\n</div>\n<div\n class=\"seller-buyer-configs\"\n *ngIf=\"\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n \"\n>\n <div\n [ngClass]=\"{ 'hide-section': !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection }\"\n class=\"config-sections\"\n >\n <header class=\"mb-8\">Offered MGs</header>\n <anna-design-radio-buttons\n class=\"config-radio\"\n [horizontalAlignment]=\"false\"\n [config]=\"sellerOrBuyerApprovalOfferedMgsRadioConfig\"\n [selectedValue]=\"approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.selection\"\n (selectionChanged)=\"offeredMgsRadioChanged($event)\"\n [disabled]=\"!editMode\"\n ></anna-design-radio-buttons>\n </div>\n <div\n [ngClass]=\"{ 'hide-section': !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection }\"\n class=\"config-sections\"\n >\n <header class=\"mb-8\">Offered ADUs</header>\n <anna-design-radio-buttons\n class=\"config-radio\"\n [horizontalAlignment]=\"false\"\n [config]=\"sellerOrBuyerApprovalOfferedADUsRadioConfig\"\n [selectedValue]=\"approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.selection\"\n (selectionChanged)=\"offeredADUsRadioChanged($event)\"\n [disabled]=\"!editMode\"\n ></anna-design-radio-buttons>\n </div>\n <div\n [ngClass]=\"{\n 'hide-section': !approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n }\"\n class=\"config-sections\"\n >\n <header class=\"mb-8\">\n Crediting ADUs over 100% delivery\n <i\n class=\"mi mdi-info-outline\"\n [ngbTooltip]=\"\n 'Offers to credit Booked ADUs will only be provided if the order is bound to over-deliver.'\n \"\n >\n </i>\n </header>\n <anna-design-radio-buttons\n class=\"config-radio\"\n [horizontalAlignment]=\"false\"\n [config]=\"sellerOrBuyerApprovalCreditingExtraADUsRadioConfig\"\n [selectedValue]=\"approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.selection\"\n (selectionChanged)=\"creditingExtraAdusChanged($event)\"\n [disabled]=\"!editMode\"\n ></anna-design-radio-buttons>\n </div>\n</div>\n\n<section\n *ngIf=\"userType === UserTypeEnum.SELLER && businessRulePageType !== BusinessPageType.STATION\"\n class=\"buyer-section\"\n>\n <div class=\"section-header-container\">\n <header>Buyer Spots Approval</header>\n <span class=\"horizontal-divider\"></span>\n </div>\n <!-- here disable depends on editModeClonedCopy not editMode because of allowEditForCompletedOrder -->\n <header>Share business rules and order details with the buyer and rep on EOS?</header>\n <anna-design-toggle\n [isDisabled]=\"!editModeClonedCopy\"\n [isToggled]=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerBizRuleApprovalNeeded\"\n (toggle)=\"buyerBizRulesApprovalRequiredInEOSToggleChange()\"\n >\n </anna-design-toggle>\n <div class=\"electronic-and-direct-order-container\">\n <section\n class=\"mt-20\"\n *ngIf=\"showDirectOrderSection\"\n >\n <header class=\"grey-text mb-8 min-w350\">DIRECT ORDERS</header>\n <div class=\"inner-section\">\n <header>Spots approval needed by buyer on EOS?</header>\n <anna-design-toggle\n [isDisabled]=\"!editMode\"\n [isToggled]=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\"\n (toggle)=\"buyerSpotsApprovalRequiredInEOSToggleChange($event)\"\n >\n </anna-design-toggle>\n <ng-container *ngIf=\"!approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\">\n <header class=\"mt-20\">Seller reconfirmation post offline discussion with buyer on ANNA</header>\n <anna-design-toggle\n [isDisabled]=\"true\"\n [isToggled]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.isSellerSpotsReconfirmationNeeded\n \"\n (toggle)=\"sellerSpotsReconfirmationToggleChange($event)\"\n >\n </anna-design-toggle>\n </ng-container>\n <header class=\"mt-20 mb-8 d-flex align-items-center\">\n <ng-container\n *ngIf=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\"\n >\n Buyer approval on EOS required for\n <div\n *ngIf=\"areAllCheckboxesUncheckedForDirectOrder\"\n class=\"error-message\"\n >\n <i class=\"mdi mdi-alert-octagon\"></i>Select atleast one of the options below\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"!approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\"\n >\n Seller reconfirmation on ANNA required for\n <div\n *ngIf=\"\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.offeredMgs.isChecked &&\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.offeredAdus.isChecked &&\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.creditingExtraAdus.isChecked &&\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.offeredBonus.isChecked\n \"\n class=\"error-message\"\n >\n <i class=\"mdi mdi-alert-octagon\"></i>Select atleast one of the options below\n </div>\n </ng-container>\n </header>\n\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.offeredMgs?.isChecked\n \"\n (ngModelChange)=\"updateOfferedMgsChecked($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredMgs.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredMgs.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.offeredAdus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedAdus($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredAdus.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredAdus.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.creditingExtraAdus?.isChecked\n \"\n (ngModelChange)=\"updateCreditingExtraAdusChecked($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .creditingExtraAdus.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .creditingExtraAdus.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.offeredBonus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedBonusChecked($event); approvalConfigValueChanged()\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredBonus.isEnabled\n \"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredBonus.label\n }}</label>\n </div>\n </div>\n </section>\n <section\n class=\"mt-20\"\n *ngIf=\"showElectronicOrderSection\"\n >\n <header class=\"grey-text mb-8\">ELECTRONIC ORDERS</header>\n <div class=\"inner-section\">\n <header>Spots approval needed by buyer on rep tool?</header>\n <anna-design-toggle\n [isDisabled]=\"!editMode\"\n [isToggled]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeededOnRepTool\n \"\n (toggle)=\"buyerSpotsApprovalRequiredOnRepToolToggleChange($event)\"\n >\n </anna-design-toggle>\n <ng-container\n *ngIf=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeededOnRepTool\"\n >\n <header class=\"mb-8\">\n Buyer approval on rep tool required for\n <div\n *ngIf=\"areAllCheckboxesUnCheckedForElectronicOrder\"\n class=\"error-message\"\n >\n <i class=\"mdi mdi-alert-octagon\"></i>Select atleast one of the options below\n </div>\n </header>\n\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n ?.offeredMgs?.isChecked\n \"\n (ngModelChange)=\"updateOffersMgsForReptoolCheckbox($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredMgs.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredMgs.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n ?.offeredAdusAndCreditingExtraAdus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedAdusAndCreditingExtraAdusCheckBox($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredAdusAndCreditingExtraAdus.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredAdusAndCreditingExtraAdus.label\n }}</label>\n\n <label\n class=\"info-italic-msg\"\n *ngIf=\"\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredAdusAndCreditingExtraAdus.isChecked\n \"\n >\n Discrepancy for electronic orders will be considered by excluding ADU and Bonus spots based\n on this selection.\n </label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n ?.offeredBonus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedBonusForReptoolCheckbox($event); approvalConfigValueChanged()\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredBonus.isEnabled\n \"\n />\n\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredBonus.label\n }}</label>\n </div>\n </ng-container>\n </div>\n </section>\n </div>\n</section>\n", styles: [".horizontal-divider{height:1px;flex:1;width:88%;display:flex;background-color:#d4d4d4}header{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;display:flex}header .mdi-info-outline{color:#268bff;font-size:12px;margin-left:4px}.no-data-message{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.error-message{margin-left:4px;color:#f44336;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}.error-message .mdi-alert-octagon{margin-right:4px;font-style:normal}.info-italic-msg{color:#a7a7a7;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal;width:364px;display:block;padding:0!important;font-style:italic!important}.grey-text{color:#c5c5c5!important;margin-bottom:8px!important}.min-w350{min-width:350px}::ng-deep .config-radio .mdc-form-field>label{margin-right:0!important}::ng-deep .config-radio .mdi-info-outline{margin-left:4px}.section-header-container{display:flex;gap:8px;align-items:baseline;margin-bottom:14px}.seller-buyer-configs{display:flex}input[type=checkbox]{cursor:pointer;accent-color:var(--primary-blue-color)}.approval-item label{padding-left:5px;margin-bottom:3px!important;position:relative;bottom:2px;font-family:Roboto;font-size:var(--checkbox-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.mb-8{margin-bottom:8px}.buyer-section{margin-top:30px}anna-design-toggle{margin-top:10px}.mt-20{margin-top:20px}.hide-section{display:none}.config-sections{width:39%}.electronic-and-direct-order-container{display:flex;gap:70px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TitleCasePipe, name: "titlecase" }, { kind: "component", type: RadioButtonsComponent, selector: "anna-design-radio-buttons", inputs: ["config", "disabled", "selectedValue", "horizontalAlignment"], outputs: ["selectionChanged"] }, { kind: "component", type: ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i1$2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1969
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ApprovalConfigComponent, deps: [{ token: ApprovalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
1970
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ApprovalConfigComponent, isStandalone: true, selector: "anna-feature-biz-rules-approval-config", inputs: { editModeClonedCopy: "editModeClonedCopy", approvalConfig: "approvalConfig", userType: "userType", businessRulePageType: "businessRulePageType", isTrafficAnnaOrder: "isTrafficAnnaOrder", editMode: "editMode" }, outputs: { approvalConfigChanged: "approvalConfigChanged" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"section-header-container\"\n *ngIf=\"\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n \"\n>\n <header>{{ userType | titlecase }} Spots Approval</header>\n <span class=\"horizontal-divider\"></span>\n</div>\n\n<div\n class=\"no-data-message\"\n *ngIf=\"\n !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection &&\n !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection &&\n !approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n \"\n>\n No configurations for spots approval to be set for this\n {{ businessRulePageType === BusinessPageType.ADVERTISER ? \"advertiser\" : \"order\" }}. Access business rules from the\n next tab.\n</div>\n<div\n class=\"seller-buyer-configs\"\n *ngIf=\"\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection ||\n approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n \"\n>\n <div\n [ngClass]=\"{ 'hide-section': !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.showSection }\"\n class=\"config-sections\"\n >\n <header class=\"mb-8\">Offered MGs</header>\n <anna-design-radio-buttons\n class=\"config-radio\"\n [horizontalAlignment]=\"false\"\n [config]=\"sellerOrBuyerApprovalOfferedMgsRadioConfig\"\n [selectedValue]=\"approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredMgs.selection\"\n (selectionChanged)=\"offeredMgsRadioChanged($event)\"\n [disabled]=\"!editMode\"\n ></anna-design-radio-buttons>\n </div>\n <div\n [ngClass]=\"{ 'hide-section': !approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.showSection }\"\n class=\"config-sections\"\n >\n <header class=\"mb-8\">Offered ADUs</header>\n <anna-design-radio-buttons\n class=\"config-radio\"\n [horizontalAlignment]=\"false\"\n [config]=\"sellerOrBuyerApprovalOfferedADUsRadioConfig\"\n [selectedValue]=\"approvalConfig?.[sellerOrBuyerApprovalConfig]?.offeredAdus.selection\"\n (selectionChanged)=\"offeredADUsRadioChanged($event)\"\n [disabled]=\"!editMode\"\n ></anna-design-radio-buttons>\n </div>\n <div\n [ngClass]=\"{\n 'hide-section': !approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.showSection\n }\"\n class=\"config-sections\"\n >\n <header class=\"mb-8\">\n Crediting ADUs over 100% delivery\n <i\n class=\"mi mdi-info-outline\"\n [ngbTooltip]=\"\n 'Offers to credit Booked ADUs will only be provided if the order is bound to over-deliver.'\n \"\n >\n </i>\n </header>\n <anna-design-radio-buttons\n class=\"config-radio\"\n [horizontalAlignment]=\"false\"\n [config]=\"sellerOrBuyerApprovalCreditingExtraADUsRadioConfig\"\n [selectedValue]=\"approvalConfig?.[sellerOrBuyerApprovalConfig]?.creditingExtraAdus.selection\"\n (selectionChanged)=\"creditingExtraAdusChanged($event)\"\n [disabled]=\"!editMode\"\n ></anna-design-radio-buttons>\n </div>\n</div>\n\n<section\n *ngIf=\"userType === UserTypeEnum.SELLER && businessRulePageType !== BusinessPageType.STATION\"\n class=\"buyer-section\"\n>\n <div class=\"section-header-container\">\n <header>Buyer Spots Approval</header>\n <span class=\"horizontal-divider\"></span>\n </div>\n <!-- here disable depends on editModeClonedCopy not editMode because of allowEditForCompletedOrder -->\n <header>Share business rules and order details with the buyer and rep on EOS?</header>\n <anna-design-toggle\n [isDisabled]=\"!editModeClonedCopy\"\n [isToggled]=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerBizRuleApprovalNeeded\"\n (toggle)=\"buyerBizRulesApprovalRequiredInEOSToggleChange()\"\n >\n </anna-design-toggle>\n <div class=\"electronic-and-direct-order-container\">\n <section\n class=\"mt-20\"\n *ngIf=\"showDirectOrderSection\"\n >\n <header class=\"grey-text mb-8 min-w350\">DIRECT ORDERS</header>\n <div class=\"inner-section\">\n <header>Spots approval needed by buyer on EOS?</header>\n <anna-design-toggle\n [isDisabled]=\"!editMode\"\n [isToggled]=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\"\n (toggle)=\"buyerSpotsApprovalRequiredInEOSToggleChange($event)\"\n >\n </anna-design-toggle>\n <ng-container *ngIf=\"!approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\">\n <header class=\"mt-20\">Seller reconfirmation post offline discussion with buyer on ANNA</header>\n <anna-design-toggle\n [isDisabled]=\"true\"\n [isToggled]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.isSellerSpotsReconfirmationNeeded\n \"\n (toggle)=\"sellerSpotsReconfirmationToggleChange($event)\"\n >\n </anna-design-toggle>\n </ng-container>\n <header class=\"mt-20 mb-8 d-flex align-items-center\">\n <ng-container\n *ngIf=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\"\n >\n Buyer approval on EOS required for\n <div\n *ngIf=\"areAllCheckboxesUncheckedForDirectOrder\"\n class=\"error-message\"\n >\n <i class=\"mdi mdi-alert-octagon\"></i>Select atleast one of the options below\n </div>\n </ng-container>\n <ng-container\n *ngIf=\"!approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeeded\"\n >\n Seller reconfirmation on ANNA required for\n <div\n *ngIf=\"\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.offeredMgs.isChecked &&\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.offeredAdus.isChecked &&\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.creditingExtraAdus.isChecked &&\n !this.approvalConfig.buyerApprovalConfigurationForSeller\n .buyerOrSellerReconfirmationRequiredFor.offeredBonus.isChecked\n \"\n class=\"error-message\"\n >\n <i class=\"mdi mdi-alert-octagon\"></i>Select atleast one of the options below\n </div>\n </ng-container>\n </header>\n\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.offeredMgs?.isChecked\n \"\n (ngModelChange)=\"updateOfferedMgsChecked($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredMgs.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredMgs.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.offeredAdus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedAdus($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredAdus.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredAdus.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.creditingExtraAdus?.isChecked\n \"\n (ngModelChange)=\"updateCreditingExtraAdusChecked($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .creditingExtraAdus.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .creditingExtraAdus.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n ?.offeredBonus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedBonusChecked($event); approvalConfigValueChanged()\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredBonus.isEnabled\n \"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerOrSellerReconfirmationRequiredFor\n .offeredBonus.label\n }}</label>\n </div>\n </div>\n </section>\n <section\n class=\"mt-20\"\n *ngIf=\"showElectronicOrderSection\"\n >\n <header class=\"grey-text mb-8\">ELECTRONIC ORDERS</header>\n <div class=\"inner-section\">\n <header>Spots approval needed by buyer on rep tool?</header>\n <anna-design-toggle\n [isDisabled]=\"!editMode\"\n [isToggled]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeededOnRepTool\n \"\n (toggle)=\"buyerSpotsApprovalRequiredOnRepToolToggleChange($event)\"\n >\n </anna-design-toggle>\n <ng-container\n *ngIf=\"approvalConfig?.buyerApprovalConfigurationForSeller?.isBuyerSpotsApprovalNeededOnRepTool\"\n >\n <header class=\"mb-8\">\n Buyer approval on rep tool required for\n <div\n *ngIf=\"areAllCheckboxesUnCheckedForElectronicOrder\"\n class=\"error-message\"\n >\n <i class=\"mdi mdi-alert-octagon\"></i>Select atleast one of the options below\n </div>\n </header>\n\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n ?.offeredMgs?.isChecked\n \"\n (ngModelChange)=\"updateOffersMgsForReptoolCheckbox($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredMgs.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredMgs.label\n }}</label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n ?.offeredAdusAndCreditingExtraAdus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedAdusAndCreditingExtraAdusCheckBox($event)\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredAdusAndCreditingExtraAdus.isEnabled\n \"\n (change)=\"approvalConfigValueChanged()\"\n />\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredAdusAndCreditingExtraAdus.label\n }}</label>\n\n <label\n class=\"info-italic-msg\"\n *ngIf=\"\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredAdusAndCreditingExtraAdus.isChecked\n \"\n >\n Discrepancy for electronic orders will be considered by excluding ADU and Bonus spots based\n on this selection.\n </label>\n </div>\n <div class=\"approval-item\">\n <input\n type=\"checkbox\"\n [ngModel]=\"\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n ?.offeredBonus?.isChecked\n \"\n (ngModelChange)=\"updateOfferedBonusForReptoolCheckbox($event); approvalConfigValueChanged()\"\n [disabled]=\"\n !editMode ||\n !approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredBonus.isEnabled\n \"\n />\n\n <label>{{\n approvalConfig?.buyerApprovalConfigurationForSeller?.buyerApprovalOnRepToolRequiredFor\n .offeredBonus.label\n }}</label>\n </div>\n </ng-container>\n </div>\n </section>\n </div>\n</section>\n", styles: [".horizontal-divider{height:1px;flex:1;width:88%;display:flex;background-color:#d4d4d4}header{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;display:flex}header .mdi-info-outline{color:#268bff;font-size:12px;margin-left:4px}.no-data-message{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.error-message{margin-left:4px;color:#f44336;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}.error-message .mdi-alert-octagon{margin-right:4px;font-style:normal}.info-italic-msg{color:#a7a7a7;font-family:Roboto;font-size:14px;font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal;width:364px;display:block;padding:0!important;font-style:italic!important}.grey-text{color:#c5c5c5!important;margin-bottom:8px!important}.min-w350{min-width:350px}::ng-deep .config-radio .mdc-form-field>label{margin-right:0!important}::ng-deep .config-radio .mdi-info-outline{margin-left:4px}.section-header-container{display:flex;gap:8px;align-items:baseline;margin-bottom:14px}.seller-buyer-configs{display:flex}input[type=checkbox]{cursor:pointer;accent-color:var(--primary-blue-color)}.approval-item label{padding-left:5px;margin-bottom:3px!important;position:relative;bottom:2px;font-family:Roboto;font-size:var(--checkbox-label-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.mb-8{margin-bottom:8px}.buyer-section{margin-top:30px}anna-design-toggle{margin-top:10px}.mt-20{margin-top:20px}.hide-section{display:none}.config-sections{width:39%}.electronic-and-direct-order-container{display:flex;gap:70px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.TitleCasePipe, name: "titlecase" }, { kind: "component", type: RadioButtonsComponent, selector: "anna-design-radio-buttons", inputs: ["config", "disabled", "selectedValue", "horizontalAlignment"], outputs: ["selectionChanged"] }, { kind: "component", type: ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "directive", type: i1$2.NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1971
1971
  }
1972
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ApprovalConfigComponent, decorators: [{
1972
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ApprovalConfigComponent, decorators: [{
1973
1973
  type: Component,
1974
1974
  args: [{ selector: "anna-feature-biz-rules-approval-config", imports: [
1975
1975
  CommonModule,
@@ -2003,10 +2003,10 @@ class ReplaceEndPipe {
2003
2003
  return value;
2004
2004
  return value.replace(/(\d{1,2})00 (AM|PM)$/, "$1 $2");
2005
2005
  }
2006
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ReplaceEndPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2007
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.17", ngImport: i0, type: ReplaceEndPipe, isStandalone: true, name: "removeEndZero" }); }
2006
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ReplaceEndPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe }); }
2007
+ static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.18", ngImport: i0, type: ReplaceEndPipe, isStandalone: true, name: "removeEndZero" }); }
2008
2008
  }
2009
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ReplaceEndPipe, decorators: [{
2009
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ReplaceEndPipe, decorators: [{
2010
2010
  type: Pipe,
2011
2011
  args: [{
2012
2012
  name: "removeEndZero",
@@ -2446,10 +2446,10 @@ class DaypartRestrictionsComponent {
2446
2446
  });
2447
2447
  return result;
2448
2448
  }
2449
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DaypartRestrictionsComponent, deps: [{ token: i1$3.AnnaFilterService }, { token: i1$3.AnnaGlobalConfigService }, { token: i1.GenericBusinessRuleCommonSIBILogicService }], target: i0.ɵɵFactoryTarget.Component }); }
2450
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: DaypartRestrictionsComponent, isStandalone: true, selector: "anna-feature-biz-rules-daypart-restrictions", inputs: { data: "data", isDisabled: "isDisabled", highlightChanges: "highlightChanges", noOfHighlightChanges: "noOfHighlightChanges" }, outputs: { dpChanges: "dpChanges" }, usesOnChanges: true, ngImport: i0, template: "<anna-design-message-box\n [messageBoxData]=\"messageForDp\"\n [headerAsBlockElement]=\"false\"\n [showHyphen]=\"false\"\n></anna-design-message-box>\n<div\n *ngIf=\"!isDisabled && data && data.length\"\n class=\"message\"\n>\n Enter restricted timing for the dayparts\n</div>\n\n<div\n class=\"table-container\"\n id=\"scroll-container-dp\"\n [ngClass]=\"{ 'read-mode': isDisabled, 'write-mode': !isDisabled }\"\n (scroll)=\"onContainerScroll()\"\n>\n <table [ngClass]=\"{ 'read-mode-inputs': isDisabled, 'table-with-change-icon': noOfHighlightChanges }\">\n <thead>\n <tr class=\"header-row\">\n <th class=\"daypart\">DAYPART</th>\n <th class=\"makegood\">\n PLACE MG WITHIN\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && data?.length\"\n (click)=\"isDisabled ? null : copyAllMgOrAdu('MG')\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </th>\n <th class=\"adu\">\n PLACE ADU WITHIN\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && data?.length\"\n (click)=\"isDisabled ? null : copyAllMgOrAdu('ADU')\"\n ngbTooltip=\"Copy to MG\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let daypart of data; index as i; trackBy: trackByFn\">\n <!-- <td>\n <div class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && (daypart?.daysSelectedForMg?.daypartChanged || daypart?.daysSelectedForAdu?.daypartChanged)\">\n </div>\n </td> -->\n <td\n annaCoreShowEllipsisTextOnHover\n class=\"daypart\"\n [ngClass]=\"detectChanges.rowNumber === i && tooltip ? 'blue-background' : 'white-background'\"\n >\n {{ daypart.name }}\n </td>\n\n <td>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForMg.weekdays,\n id: daypart.id,\n column: 'MG',\n dayType: 'weekdays',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForMg.saturday,\n id: daypart.id,\n column: 'MG',\n dayType: 'saturday',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForMg.sunday,\n id: daypart.id,\n column: 'MG',\n dayType: 'sunday',\n rowNum: i\n }\"\n >\n </ng-container>\n </td>\n\n <td>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForAdu.weekdays,\n id: daypart.id,\n column: 'ADU',\n dayType: 'weekdays',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForAdu.saturday,\n id: daypart.id,\n column: 'ADU',\n dayType: 'saturday',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForAdu.sunday,\n id: daypart.id,\n column: 'ADU',\n dayType: 'sunday',\n rowNum: i\n }\"\n >\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"!data || !data.length\"\n class=\"no-data-container\"\n >\n <anna-core-no-data-lib\n [width]=\"'50%'\"\n [marginTop]=\"'3.25rem'\"\n ></anna-core-no-data-lib>\n </div>\n</div>\n\n<ng-template\n #daypartCell\n let-data=\"data\"\n let-id=\"id\"\n let-column=\"column\"\n let-dayType=\"dayType\"\n let-rowNum=\"rowNum\"\n>\n <div\n class=\"data-cell\"\n [ngClass]=\"{\n 'blue-background':\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday)),\n 'hover-cell':\n !isDisabled &&\n !(\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday))\n )\n }\"\n >\n <div\n class=\"day-checkboxes\"\n [ngClass]=\"{\n 'blue-border': !isDisabled && data.isDaysEdited\n }\"\n >\n <ng-container *ngIf=\"!isDisabled\">\n <div *ngFor=\"let day of data.days; let i = index\">\n <span class=\"day-checkbox-container\">\n <input\n id=\"{{ day.name + rowNum + column }}\"\n type=\"checkbox\"\n [(ngModel)]=\"day.isSelected\"\n (change)=\"dayCheckboxClicked(data, rowNum, column, dayType)\"\n [disabled]=\"isDisabled\"\n />\n <label for=\"{{ day.name + rowNum + column }}\">{{ day.name }}</label>\n <br *ngIf=\"i === 2\" />\n </span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDisabled\">\n <span class=\"day-checkbox-container\">\n <label for=\"{{ data?.daySelectedString }}\">{{ data?.daySelectedString }}</label>\n </span>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && data?.isDaysChanged\"\n ></div>\n </div>\n <div\n class=\"time-copy-div\"\n [ngClass]=\"{ 'read-mode': isDisabled }\"\n >\n <div\n class=\"time-container\"\n *ngIf=\"!isDisabled\"\n >\n <div\n [ngClass]=\"{\n 'blue-border':\n !isDisabled &&\n (data.isTimeEdited ||\n (detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((column === 'ADU' && detectChanges.isADUSelected) ||\n (column === 'MG' && this.detectChanges.isMGSelected)) &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday)))),\n 'disabled-div': isDisabled || data.isDisabled\n }\"\n class=\"time-selected-div\"\n [ngbTooltip]=\"dateFilterTooltip\"\n placement=\"bottom auto\"\n container=\"body\"\n [autoClose]=\"false\"\n triggers=\"manual\"\n #t2=\"ngbTooltip\"\n (click)=\"bindTheValueToToolTip(t2); onTimeTooltipClicked(rowNum, column, dayType)\"\n >\n <ng-container *ngIf=\"!data.isDisabled\">\n {{ \"1/1/1 \" + data.time[0].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n -\n <ng-container></ng-container>\n {{ \"1/1/1 \" + data.time[1].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n </ng-container>\n <ng-container *ngIf=\"data.isDisabled\">\n <span class=\"select-time-placeholder\">-</span>\n </ng-container>\n\n <ng-container>\n <i\n *ngIf=\"\n !(\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((column === 'ADU' && detectChanges.isADUSelected) ||\n (column === 'MG' && this.detectChanges.isMGSelected)) &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday))\n )\n \"\n class=\"mdi mdi-menu-down icon\"\n ></i>\n <i\n *ngIf=\"\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((column === 'ADU' && detectChanges.isADUSelected) ||\n (column === 'MG' && this.detectChanges.isMGSelected)) &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday))\n \"\n class=\"mdi mdi-menu-up icon\"\n ></i>\n </ng-container>\n </div>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges && (data?.restrictedStartTime.IsChanged || data?.restrictedEndTime.IsChanged)\n \"\n ></div>\n </div>\n\n <div\n class=\"read-mode time-container\"\n *ngIf=\"isDisabled\"\n >\n <ng-container *ngIf=\"!data.isDisabled\">\n {{ \"1/1/1 \" + data.time[0].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n -\n {{ \"1/1/1 \" + data.time[1].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n </ng-container>\n\n <ng-container *ngIf=\"data.isDisabled\"> - </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges && (data?.restrictedStartTime.IsChanged || data?.restrictedEndTime.IsChanged)\n \"\n ></div>\n </div>\n\n <div\n *ngIf=\"column === 'MG'\"\n class=\"copy-icon\"\n >\n <span\n class=\"mdi mdi-content-copy hide\"\n *ngIf=\"!isDisabled\"\n (click)=\"copyDataCell('MG', dayType, id)\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </div>\n <div\n *ngIf=\"column === 'ADU'\"\n class=\"copy-icon\"\n >\n <span\n class=\"mdi mdi-content-copy hide\"\n *ngIf=\"!isDisabled\"\n (click)=\"copyDataCell('ADU', dayType, id)\"\n ngbTooltip=\"Copy to MG\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </div>\n\n <!-- <span class=\"mdi mdi-content-copy hide\"></span> -->\n <ng-template #dateFilterTooltip>\n <anna-core-anna-column-time-filter\n [tableData]=\"data.time\"\n [clonedTableData]=\"data.time\"\n [showClearAllFilter]=\"false\"\n [startFromText]=\"'Start time'\"\n [endToText]=\"'End time'\"\n [filterTabObjects]=\"filterTabObjects\"\n [showAllTimeRangeCheckboxes]=\"false\"\n [isSortAndFilterAbsent]=\"true\"\n (closeTooltip)=\"closeTooltip()\"\n (timeChangedEmitter)=\"dpTimerChanged()\"\n (timeChanges)=\"onSavingTime($event, id, column, dayType)\"\n >\n </anna-core-anna-column-time-filter>\n </ng-template>\n </div>\n</ng-template>\n", styles: [".read-mode::-webkit-scrollbar-track{margin-top:33px!important}.write-mode::-webkit-scrollbar-track{margin-top:36px!important}table thead tr th.daypart{width:120px;min-width:120px;max-width:120px}table thead tr th.makegood{text-align:center!important;width:301px;min-width:301px;max-width:301px}table thead tr th.adu{text-align:center!important;width:300px;min-width:300px;max-width:300px}table{width:100%}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:44px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table thead tr th{height:33px;color:#4a4a4a;padding:12px 8px 8px;text-align:left;background-color:#ededed;z-index:10;position:sticky;top:.1px;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td{font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.33px;border-bottom:1px solid #000}table tbody:nth-of-type(1) tr:nth-of-type(1) td{border-top:1px solid #000}table.table-with-change-icon thead th.change-icon,table.table-with-change-icon tbody tr td.change-icon{background-color:#fff!important;box-shadow:none!important}.mdi.mdi-content-copy{color:#268bff;cursor:pointer}:host ::ng-deep .input-difference-icon{width:18px;font-size:16px;height:18px;margin-left:4px!important}::ng-deep .tooltip{z-index:999!important}.day-checkbox-container{display:flex}.day-checkbox-container label{margin-right:4px!important;color:#000;margin-bottom:0!important}.data-cell{display:flex;border-bottom:1px solid #d4d4d4;max-height:2rem;min-height:2rem;height:2rem;margin-top:-1px;margin-right:-1px}.data-cell .mdi-content-copy{margin-left:auto;margin-right:auto;padding-right:4px}.day-checkboxes{display:flex;flex-wrap:wrap;max-width:37%;padding-top:2px;padding-bottom:2px;width:37%;padding-left:8px;align-items:center}td>div.data-cell:nth-child(3){border-bottom:none!important}.no-data-container{border:1px solid #d4d4d4;height:130px;border-top:none;border-bottom:none}:host ::ng-deep .table-container anna-core-no-data-lib .no-data{margin-right:53%!important;margin-top:50px!important}:host ::ng-deep anna-design-message-box .message-box.dp-table{margin-bottom:8px}.message{font-family:Roboto;font-size:var(--page-message-content-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:18px;letter-spacing:normal;margin-bottom:8px;color:#4a4a4a}.time-selected-div{height:24px;color:#4a4a4a;width:90%;margin-top:.5px;background-color:#fff;border:1px solid #b7b7b7;border-radius:2px;font-size:12px;display:flex;justify-content:space-between;padding:0 8px;align-items:center}.blue-border{border:1px solid #268bff!important}.blue-background{background-color:#e5f1fe!important}.orange-border{border:1px solid #f97b07!important;background:#f9eadd!important}.white-background{background-color:#fff}.mdi-menu-down{color:#000}.day-checkbox-container input[type=checkbox]{cursor:pointer;accent-color:var(--primary-blue-color);height:12px;width:12px}.day-checkbox-container label{margin-left:2.23px;margin-right:8px;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.mdi.mdi-content-copy{color:var(--primary-blue-color);cursor:pointer;font-size:12px}.disabled-div{color:#4a4a4a!important;background:#bdbdbd80;pointer-events:none}.hide{visibility:hidden}.makegood,.adu{text-align:center}.day-checkboxes div:nth-of-type(2){margin-left:3px}td div.data-cell:hover .hide{visibility:visible}td div.hover-cell:hover{background-color:#ebebeb;cursor:pointer}.daypart{padding-left:8px!important;padding-right:4px!important}td.daypart{font-size:.75rem;line-height:.75rem;color:#000}.copy-icon{width:1.5rem;display:flex;align-items:center}.select-time-placeholder{color:#4a4a4a!important}.time-copy-div{display:flex;width:63%;justify-content:space-between}.time-container{width:90%;display:flex;align-items:center;padding-left:12px;border-right:1px solid #d4d4d4;border-left:1px solid #d4d4d4;cursor:pointer}.time-container.read-mode{justify-content:left;padding:0 10px;cursor:default!important;border-right:none;width:fit-content}.read-mode.time-copy-div{justify-content:normal}table.table-with-change-icon .time-selected-div{width:calc(90% - 24px)!important}table.read-mode-inputs .data-cell{max-height:1.375rem;min-height:1.375rem;height:1.375rem}table.read-mode-inputs td{cursor:default!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }, { kind: "directive", type: i1$3.ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "component", type: i1$3.AnnaColumnTimeFilterComponent, selector: "anna-core-anna-column-time-filter", inputs: ["tableData", "clonedTableData", "filterTabObjects", "isLurAndCsrComponent", "showFilterHeaderTabs", "showAllTimeRangeCheckboxes", "gtGeneralConfig", "showClearAllFilter", "startFromText", "endToText", "isSortAndFilterAbsent"], outputs: ["timeChanges", "timeChangedEmitter", "filterAppliedToTable", "sortingAppliedToTable", "getSortType", "closeTooltip"] }, { kind: "pipe", type: i1$3.AnnaDateFormatterPipe, name: "AnnaDateFormatter" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: ReplaceEndPipe, name: "removeEndZero" }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2449
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DaypartRestrictionsComponent, deps: [{ token: i1$3.AnnaFilterService }, { token: i1$3.AnnaGlobalConfigService }, { token: i1.GenericBusinessRuleCommonSIBILogicService }], target: i0.ɵɵFactoryTarget.Component }); }
2450
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: DaypartRestrictionsComponent, isStandalone: true, selector: "anna-feature-biz-rules-daypart-restrictions", inputs: { data: "data", isDisabled: "isDisabled", highlightChanges: "highlightChanges", noOfHighlightChanges: "noOfHighlightChanges" }, outputs: { dpChanges: "dpChanges" }, usesOnChanges: true, ngImport: i0, template: "<anna-design-message-box\n [messageBoxData]=\"messageForDp\"\n [headerAsBlockElement]=\"false\"\n [showHyphen]=\"false\"\n></anna-design-message-box>\n<div\n *ngIf=\"!isDisabled && data && data.length\"\n class=\"message\"\n>\n Enter restricted timing for the dayparts\n</div>\n\n<div\n class=\"table-container\"\n id=\"scroll-container-dp\"\n [ngClass]=\"{ 'read-mode': isDisabled, 'write-mode': !isDisabled }\"\n (scroll)=\"onContainerScroll()\"\n>\n <table [ngClass]=\"{ 'read-mode-inputs': isDisabled, 'table-with-change-icon': noOfHighlightChanges }\">\n <thead>\n <tr class=\"header-row\">\n <th class=\"daypart\">DAYPART</th>\n <th class=\"makegood\">\n PLACE MG WITHIN\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && data?.length\"\n (click)=\"isDisabled ? null : copyAllMgOrAdu('MG')\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </th>\n <th class=\"adu\">\n PLACE ADU WITHIN\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && data?.length\"\n (click)=\"isDisabled ? null : copyAllMgOrAdu('ADU')\"\n ngbTooltip=\"Copy to MG\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let daypart of data; index as i; trackBy: trackByFn\">\n <!-- <td>\n <div class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && (daypart?.daysSelectedForMg?.daypartChanged || daypart?.daysSelectedForAdu?.daypartChanged)\">\n </div>\n </td> -->\n <td\n annaCoreShowEllipsisTextOnHover\n class=\"daypart\"\n [ngClass]=\"detectChanges.rowNumber === i && tooltip ? 'blue-background' : 'white-background'\"\n >\n {{ daypart.name }}\n </td>\n\n <td>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForMg.weekdays,\n id: daypart.id,\n column: 'MG',\n dayType: 'weekdays',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForMg.saturday,\n id: daypart.id,\n column: 'MG',\n dayType: 'saturday',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForMg.sunday,\n id: daypart.id,\n column: 'MG',\n dayType: 'sunday',\n rowNum: i\n }\"\n >\n </ng-container>\n </td>\n\n <td>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForAdu.weekdays,\n id: daypart.id,\n column: 'ADU',\n dayType: 'weekdays',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForAdu.saturday,\n id: daypart.id,\n column: 'ADU',\n dayType: 'saturday',\n rowNum: i\n }\"\n >\n </ng-container>\n <ng-container\n [ngTemplateOutlet]=\"daypartCell\"\n [ngTemplateOutletContext]=\"{\n data: daypart.daysSelectedForAdu.sunday,\n id: daypart.id,\n column: 'ADU',\n dayType: 'sunday',\n rowNum: i\n }\"\n >\n </ng-container>\n </td>\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"!data || !data.length\"\n class=\"no-data-container\"\n >\n <anna-core-no-data-lib\n [width]=\"'50%'\"\n [marginTop]=\"'3.25rem'\"\n ></anna-core-no-data-lib>\n </div>\n</div>\n\n<ng-template\n #daypartCell\n let-data=\"data\"\n let-id=\"id\"\n let-column=\"column\"\n let-dayType=\"dayType\"\n let-rowNum=\"rowNum\"\n>\n <div\n class=\"data-cell\"\n [ngClass]=\"{\n 'blue-background':\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday)),\n 'hover-cell':\n !isDisabled &&\n !(\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday))\n )\n }\"\n >\n <div\n class=\"day-checkboxes\"\n [ngClass]=\"{\n 'blue-border': !isDisabled && data.isDaysEdited\n }\"\n >\n <ng-container *ngIf=\"!isDisabled\">\n <div *ngFor=\"let day of data.days; let i = index\">\n <span class=\"day-checkbox-container\">\n <input\n id=\"{{ day.name + rowNum + column }}\"\n type=\"checkbox\"\n [(ngModel)]=\"day.isSelected\"\n (change)=\"dayCheckboxClicked(data, rowNum, column, dayType)\"\n [disabled]=\"isDisabled\"\n />\n <label for=\"{{ day.name + rowNum + column }}\">{{ day.name }}</label>\n <br *ngIf=\"i === 2\" />\n </span>\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"isDisabled\">\n <span class=\"day-checkbox-container\">\n <label for=\"{{ data?.daySelectedString }}\">{{ data?.daySelectedString }}</label>\n </span>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && data?.isDaysChanged\"\n ></div>\n </div>\n <div\n class=\"time-copy-div\"\n [ngClass]=\"{ 'read-mode': isDisabled }\"\n >\n <div\n class=\"time-container\"\n *ngIf=\"!isDisabled\"\n >\n <div\n [ngClass]=\"{\n 'blue-border':\n !isDisabled &&\n (data.isTimeEdited ||\n (detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((column === 'ADU' && detectChanges.isADUSelected) ||\n (column === 'MG' && this.detectChanges.isMGSelected)) &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday)))),\n 'disabled-div': isDisabled || data.isDisabled\n }\"\n class=\"time-selected-div\"\n [ngbTooltip]=\"dateFilterTooltip\"\n placement=\"bottom auto\"\n container=\"body\"\n [autoClose]=\"false\"\n triggers=\"manual\"\n #t2=\"ngbTooltip\"\n (click)=\"bindTheValueToToolTip(t2); onTimeTooltipClicked(rowNum, column, dayType)\"\n >\n <ng-container *ngIf=\"!data.isDisabled\">\n {{ \"1/1/1 \" + data.time[0].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n -\n <ng-container></ng-container>\n {{ \"1/1/1 \" + data.time[1].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n </ng-container>\n <ng-container *ngIf=\"data.isDisabled\">\n <span class=\"select-time-placeholder\">-</span>\n </ng-container>\n\n <ng-container>\n <i\n *ngIf=\"\n !(\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((column === 'ADU' && detectChanges.isADUSelected) ||\n (column === 'MG' && this.detectChanges.isMGSelected)) &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday))\n )\n \"\n class=\"mdi mdi-menu-down icon\"\n ></i>\n <i\n *ngIf=\"\n detectChanges.rowNumber === rowNum &&\n tooltip &&\n ((column === 'ADU' && detectChanges.isADUSelected) ||\n (column === 'MG' && this.detectChanges.isMGSelected)) &&\n ((dayType === 'weekdays' && detectChanges.weekdays) ||\n (dayType === 'saturday' && detectChanges.saturday) ||\n (dayType === 'sunday' && detectChanges.sunday))\n \"\n class=\"mdi mdi-menu-up icon\"\n ></i>\n </ng-container>\n </div>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges && (data?.restrictedStartTime.IsChanged || data?.restrictedEndTime.IsChanged)\n \"\n ></div>\n </div>\n\n <div\n class=\"read-mode time-container\"\n *ngIf=\"isDisabled\"\n >\n <ng-container *ngIf=\"!data.isDisabled\">\n {{ \"1/1/1 \" + data.time[0].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n -\n {{ \"1/1/1 \" + data.time[1].time | AnnaDateFormatter: TIME_FORMAT_HTML | removeEndZero }}\n </ng-container>\n\n <ng-container *ngIf=\"data.isDisabled\"> - </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges && (data?.restrictedStartTime.IsChanged || data?.restrictedEndTime.IsChanged)\n \"\n ></div>\n </div>\n\n <div\n *ngIf=\"column === 'MG'\"\n class=\"copy-icon\"\n >\n <span\n class=\"mdi mdi-content-copy hide\"\n *ngIf=\"!isDisabled\"\n (click)=\"copyDataCell('MG', dayType, id)\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </div>\n <div\n *ngIf=\"column === 'ADU'\"\n class=\"copy-icon\"\n >\n <span\n class=\"mdi mdi-content-copy hide\"\n *ngIf=\"!isDisabled\"\n (click)=\"copyDataCell('ADU', dayType, id)\"\n ngbTooltip=\"Copy to MG\"\n placement=\"auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </div>\n\n <!-- <span class=\"mdi mdi-content-copy hide\"></span> -->\n <ng-template #dateFilterTooltip>\n <anna-core-anna-column-time-filter\n [tableData]=\"data.time\"\n [clonedTableData]=\"data.time\"\n [showClearAllFilter]=\"false\"\n [startFromText]=\"'Start time'\"\n [endToText]=\"'End time'\"\n [filterTabObjects]=\"filterTabObjects\"\n [showAllTimeRangeCheckboxes]=\"false\"\n [isSortAndFilterAbsent]=\"true\"\n (closeTooltip)=\"closeTooltip()\"\n (timeChangedEmitter)=\"dpTimerChanged()\"\n (timeChanges)=\"onSavingTime($event, id, column, dayType)\"\n >\n </anna-core-anna-column-time-filter>\n </ng-template>\n </div>\n</ng-template>\n", styles: [".read-mode::-webkit-scrollbar-track{margin-top:33px!important}.write-mode::-webkit-scrollbar-track{margin-top:36px!important}table thead tr th.daypart{width:120px;min-width:120px;max-width:120px}table thead tr th.makegood{text-align:center!important;width:301px;min-width:301px;max-width:301px}table thead tr th.adu{text-align:center!important;width:300px;min-width:300px;max-width:300px}table{width:100%}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:44px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table thead tr th{height:33px;color:#4a4a4a;padding:12px 8px 8px;text-align:left;background-color:#ededed;z-index:10;position:sticky;top:.1px;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td{font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.33px;border-bottom:1px solid #000}table tbody:nth-of-type(1) tr:nth-of-type(1) td{border-top:1px solid #000}table.table-with-change-icon thead th.change-icon,table.table-with-change-icon tbody tr td.change-icon{background-color:#fff!important;box-shadow:none!important}.mdi.mdi-content-copy{color:#268bff;cursor:pointer}:host ::ng-deep .input-difference-icon{width:18px;font-size:16px;height:18px;margin-left:4px!important}::ng-deep .tooltip{z-index:999!important}.day-checkbox-container{display:flex}.day-checkbox-container label{margin-right:4px!important;color:#000;margin-bottom:0!important}.data-cell{display:flex;border-bottom:1px solid #d4d4d4;max-height:2rem;min-height:2rem;height:2rem;margin-top:-1px;margin-right:-1px}.data-cell .mdi-content-copy{margin-left:auto;margin-right:auto;padding-right:4px}.day-checkboxes{display:flex;flex-wrap:wrap;max-width:37%;padding-top:2px;padding-bottom:2px;width:37%;padding-left:8px;align-items:center}td>div.data-cell:nth-child(3){border-bottom:none!important}.no-data-container{border:1px solid #d4d4d4;height:130px;border-top:none;border-bottom:none}:host ::ng-deep .table-container anna-core-no-data-lib .no-data{margin-right:53%!important;margin-top:50px!important}:host ::ng-deep anna-design-message-box .message-box.dp-table{margin-bottom:8px}.message{font-family:Roboto;font-size:var(--page-message-content-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:18px;letter-spacing:normal;margin-bottom:8px;color:#4a4a4a}.time-selected-div{height:24px;color:#4a4a4a;width:90%;margin-top:.5px;background-color:#fff;border:1px solid #b7b7b7;border-radius:2px;font-size:12px;display:flex;justify-content:space-between;padding:0 8px;align-items:center}.blue-border{border:1px solid #268bff!important}.blue-background{background-color:#e5f1fe!important}.orange-border{border:1px solid #f97b07!important;background:#f9eadd!important}.white-background{background-color:#fff}.mdi-menu-down{color:#000}.day-checkbox-container input[type=checkbox]{cursor:pointer;accent-color:var(--primary-blue-color);height:12px;width:12px}.day-checkbox-container label{margin-left:2.23px;margin-right:8px;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.mdi.mdi-content-copy{color:var(--primary-blue-color);cursor:pointer;font-size:12px}.disabled-div{color:#4a4a4a!important;background:#bdbdbd80;pointer-events:none}.hide{visibility:hidden}.makegood,.adu{text-align:center}.day-checkboxes div:nth-of-type(2){margin-left:3px}td div.data-cell:hover .hide{visibility:visible}td div.hover-cell:hover{background-color:#ebebeb;cursor:pointer}.daypart{padding-left:8px!important;padding-right:4px!important}td.daypart{font-size:.75rem;line-height:.75rem;color:#000}.copy-icon{width:1.5rem;display:flex;align-items:center}.select-time-placeholder{color:#4a4a4a!important}.time-copy-div{display:flex;width:63%;justify-content:space-between}.time-container{width:90%;display:flex;align-items:center;padding-left:12px;border-right:1px solid #d4d4d4;border-left:1px solid #d4d4d4;cursor:pointer}.time-container.read-mode{justify-content:left;padding:0 10px;cursor:default!important;border-right:none;width:fit-content}.read-mode.time-copy-div{justify-content:normal}table.table-with-change-icon .time-selected-div{width:calc(90% - 24px)!important}table.read-mode-inputs .data-cell{max-height:1.375rem;min-height:1.375rem;height:1.375rem}table.read-mode-inputs td{cursor:default!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }, { kind: "directive", type: i1$3.ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "component", type: i1$3.AnnaColumnTimeFilterComponent, selector: "anna-core-anna-column-time-filter", inputs: ["tableData", "clonedTableData", "filterTabObjects", "isLurAndCsrComponent", "showFilterHeaderTabs", "showAllTimeRangeCheckboxes", "gtGeneralConfig", "showClearAllFilter", "startFromText", "endToText", "isSortAndFilterAbsent"], outputs: ["timeChanges", "timeChangedEmitter", "filterAppliedToTable", "sortingAppliedToTable", "getSortType", "closeTooltip"] }, { kind: "pipe", type: i1$3.AnnaDateFormatterPipe, name: "AnnaDateFormatter" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: ReplaceEndPipe, name: "removeEndZero" }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2451
2451
  }
2452
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: DaypartRestrictionsComponent, decorators: [{
2452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: DaypartRestrictionsComponent, decorators: [{
2453
2453
  type: Component,
2454
2454
  args: [{ selector: "anna-feature-biz-rules-daypart-restrictions", changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [
2455
2455
  NgIf,
@@ -2749,10 +2749,10 @@ class EquivalentAndHigherDaypartComponent {
2749
2749
  elements[0].remove();
2750
2750
  }
2751
2751
  }
2752
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EquivalentAndHigherDaypartComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2753
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: EquivalentAndHigherDaypartComponent, isStandalone: true, selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", inputs: { daypartEquivalenceRules: "daypartEquivalenceRules", isDisabled: "isDisabled", highlightChanges: "highlightChanges", noOfHighlightChanges: "noOfHighlightChanges", hideInfoMessage: "hideInfoMessage" }, outputs: { equivalencyRulesChanges: "equivalencyRulesChanges" }, ngImport: i0, template: "<div>\n <anna-design-message-box\n class=\"equivalent-and-higher-daypart-message-box\"\n *ngIf=\"!hideInfoMessage\"\n [messageBoxData]=\"dayPartInfoMessage\"\n >\n </anna-design-message-box>\n\n <div\n class=\"dp-equivalence-table-container table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table\n class=\"daypart-table equivalence-table\"\n [ngClass]=\"{ 'read-mode-inputs': isDisabled, 'table-with-change-icon': noOfHighlightChanges }\"\n >\n <thead>\n <tr>\n <th\n class=\"daypart\"\n rowspan=\"2\"\n >\n ORIGINAL DAYPART\n </th>\n <th\n class=\"makegood\"\n [attr.colspan]=\"2\"\n >\n MAKEGOOD\n <!-- <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && daypartEquivalenceRules && daypartEquivalenceRules?.length\"\n (click)=\"copyEntireMgOrAdu('MG')\"\n ngbTooltip=\"Copy to ADU\"\n container=\"body\"\n placement=\"bottom\"\n triggers=\"hover\"\n ></span> -->\n </th>\n <!-- <th\n class=\"adu\"\n [attr.colspan]=\"isDisabled ? 2 : 3\"\n >\n ADU\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && daypartEquivalenceRules && daypartEquivalenceRules?.length\"\n (click)=\"copyEntireMgOrAdu('ADU')\"\n ngbTooltip=\"Copy to MG\"\n container=\"body\"\n placement=\"bottom\"\n triggers=\"hover\"\n ></span>\n </th> -->\n </tr>\n <tr class=\"align-right-icon\">\n <th class=\"equivalent-mg\">EQUIVALENT</th>\n <th class=\"higher-mg\">HIGHER</th>\n <!-- <th\n class=\"copy-icon-header\"\n *ngIf=\"!isDisabled\"\n ></th>\n <th class=\"equivalent-adu\">EQUIVALENT</th>\n <th class=\"higher-adu\">HIGHER</th>\n <th\n class=\"copy-icon-header\"\n *ngIf=\"!isDisabled\"\n ></th> -->\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let daypart of daypartEquivalenceRules; let i = index\"\n [ngClass]=\"{\n rowUnderEdit: i === rowIndexUnderEdit,\n disableRow: daypart?.disableForEdit && !isDisabled\n }\"\n >\n <td\n annaCoreShowEllipsisTextOnHover\n class=\"daypart-text\"\n >\n {{ daypart.originalDaypart.text }}\n </td>\n <!-- MAKEGOOD -->\n\n <td\n class=\"equivalent-mg\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.equivalentDaypartsForMg | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n <!-- <ng-container *ngFor=\"let name of daypart?.selectedEquivalentDaypartNamesForMg;let last=last\">\n {{name}}<ng-container *ngIf=\"!last\">, </ng-container>\n </ng-container>\n <ng-container *ngIf=\"daypart?.selectedEquivalentDaypartNamesForMg?.length ==0\">-</ng-container> -->\n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isEquivalentDpForMgSelected || daypart?.isEquivalentEditedForMg\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.equivalentDaypartsForMg\"\n [showAdditionalDataInSelectedText]=\"true\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled || daypart?.disableForEdit\"\n [disableOptionsEnabled]=\"true\"\n [isEquivalentHigherDpComponent]=\"true\"\n [hideDropdownArrow]=\"daypart?.disableForEdit\"\n [hideOptionsEnabled]=\"false\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'MG', 'EQUIVALENT')\"\n (dropdownClosedEvent)=\"equivalentDaypartSelectionChangedForMg($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isEquivalentChangedForMg\"\n ></div>\n </td>\n <td\n class=\"higher-mg\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.higherDaypartsForMg | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n <!-- <ng-container *ngFor=\"let name of daypart?.selectedHigherDaypartNamesForMg;let last=last\">\n {{name}}<ng-container *ngIf=\"!last\">, </ng-container>\n </ng-container>\n <ng-container *ngIf=\"daypart?.selectedHigherDaypartNamesForMg?.length ==0\">-</ng-container> -->\n </div>\n\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isHigherDpForMgSelected || daypart.isHigherEditedForMg\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.higherDaypartsForMg\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled || daypart?.disableForEdit\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'MG', 'HIGHER')\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [hideDropdownArrow]=\"daypart?.disableForEdit\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownClosedEvent)=\"higherDaypartSelectionChangedForMg($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isHigherChangedForMg\"\n ></div>\n </td>\n <!-- <td\n class=\"copy-mg\"\n *ngIf=\"!isDisabled\"\n (mouseenter)=\"changeBackground($event)\"\n (mouseleave)=\"resetBackground($event)\"\n >\n <div class=\"copy-icon\">\n <span\n class=\"mdi mdi-content-copy hide\"\n (click)=\"copyDataCell('MG', daypart)\"\n container=\"body\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"bottom auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </td> -->\n <!-- ADU -->\n <!-- <td\n class=\"equivalent-adu\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.equivalentDaypartsForAdu | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n \n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isEquivalentDpForAduSelected || daypart?.isEquivalentEditedForAdu\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.equivalentDaypartsForAdu\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'ADU', 'EQUIVALENT')\"\n (dropdownClosedEvent)=\"equivalentDaypartSelectionChangedForAdu($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isEquivalentChangedForAdu\"\n ></div>\n </td>\n <td\n class=\"higher-adu\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.higherDaypartsForAdu | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n \n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isHigherDpForAduSelected || daypart.isHigherEditedForAdu\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.higherDaypartsForAdu\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'ADU', 'HIGHER')\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownClosedEvent)=\"higherDaypartSelectionChangedForAdu($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart.isHigherChangedForAdu\"\n ></div>\n </td>\n <td\n class=\"copy-adu\"\n *ngIf=\"!isDisabled\"\n (mouseenter)=\"changeBackground($event)\"\n (mouseleave)=\"resetBackground($event)\"\n >\n <div class=\"copy-icon\">\n <span\n class=\"mdi mdi-content-copy hide\"\n (click)=\"copyDataCell('ADU', daypart)\"\n ngbTooltip=\"Copy to MG\"\n container=\"body\"\n placement=\"bottom auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </td> -->\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"!daypartEquivalenceRules || !daypartEquivalenceRules.length\"\n class=\"no-data-container\"\n >\n <anna-core-no-data-lib\n [width]=\"'50%'\"\n [marginTop]=\"'3.25rem'\"\n ></anna-core-no-data-lib>\n </div>\n </div>\n</div>\n", styles: [".mdi.mdi-content-copy{color:#268bff;cursor:pointer}:host ::ng-deep anna-design-message-box .message-box.eq-higher-dp{margin:0 0 8px!important;max-height:50px}:host ::ng-deep anna-design-message-box .message-box.eq-higher-dp ul{padding-left:35px!important}:host .input-difference-icon{font-size:11px;display:inline-flex;vertical-align:middle}.dp-equivalence-table-container{margin:8px 0 0;max-height:calc(100vh - 379px);overflow-y:auto}.dp-equivalence-table-container::-webkit-scrollbar-track{margin-top:69px}td.hoverable:hover{cursor:pointer}tr td:nth-of-type(1):hover,td:nth-of-type(2):hover{cursor:default!important}.hide{visibility:hidden}td:hover .hide{visibility:visible}::ng-deep anna-design-multi-select.blue-border button#dropdown-trigger{background-color:#e5f1ff!important;border-color:#268bff!important;opacity:1!important}::ng-deep anna-design-multi-select.blue-border-highlight button#dropdown-trigger{border-color:#268bff!important}table thead tr th{height:35px}table thead tr th.daypart{width:140px;min-width:140px;max-width:140px}table thead tr th.makegood,table thead tr th.adu{text-align:center!important;width:302px;min-width:302px;max-width:302px}table thead tr th.equivalent-mg{width:151px;min-width:151px;max-width:151px}table thead tr th.equivalent-adu{width:150px;min-width:150px;max-width:150px}table thead tr th.higher-mg{width:151px;min-width:151px;max-width:151px}table thead tr th.higher-adu{width:150px;min-width:150px;max-width:150px}table thead tr th.copy-icon-header{width:24px;min-width:24px;max-width:24px}table{width:100%}table .table-container::-webkit-scrollbar-track{margin-top:42px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:44px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(6){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(7){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(6){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(7){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(6){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(7){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr.disableRow td{background:#f3f3f3!important}table thead tr th{color:#4a4a4a;padding:12px 8px 8px;text-align:left;background-color:#e9e9e9;z-index:10;position:sticky;top:0;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table thead tr th:last-child{box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4}table thead tr th.daypart{top:.1px!important;box-shadow:inset 1px 1px #d4d4d4,inset 0 -1px #d4d4d4,inset 0 0 #d4d4d4!important}table thead tr:nth-of-type(1) th.makegood{top:.1px!important;box-shadow:inset 1px 1px #d4d4d4,inset -1px 0 #d4d4d4!important}table thead tr:nth-of-type(2) th{box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset 0 0 #d4d4d4,inset -1px 1px #d4d4d4!important;top:35.1px}table thead tr:nth-of-type(2) th:last-of-type{box-shadow:inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4,inset -1px 1px #d4d4d4!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset -1px 0 #fff!important;border-right:1px solid #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr{height:31px}table tbody tr td .disabled-text{display:inline-block;padding:2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table tbody tr td.blue-border{box-shadow:inset 0 0 0 1px #268bff!important}table tbody tr.rowUnderEdit td{background-color:#e5f1fe!important}table tbody tr td{padding:0 8px 2px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.33px}table.table-with-change-icon thead th.change-icon,table.table-with-change-icon tbody tr td.change-icon{background-color:#fff!important;box-shadow:none!important}table.table-with-change-icon ::ng-deep anna-design-multi-select{width:calc(100% - 24px)!important;display:inline-block}table.read-mode-inputs .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table.read-mode-inputs .header-row{background:#ededed}table.read-mode-inputs .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table.read-mode-inputs .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table.read-mode-inputs .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table.read-mode-inputs .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table.read-mode-inputs .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table.read-mode-inputs .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table.read-mode-inputs .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table.read-mode-inputs .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .table-container.no-data-table>div{height:142px!important}table.read-mode-inputs .table-container.no-data-table>div tr td{filter:none!important}table.read-mode-inputs tbody tr.no-border-tr{height:44px!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table.read-mode-inputs .input-difference-icon{vertical-align:unset}table.read-mode-inputs tbody tr{height:22px!important}table.read-mode-inputs tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table.read-mode-inputs tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table.read-mode-inputs tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table.read-mode-inputs tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td{cursor:default!important;padding:0 8px}table.read-mode-inputs tbody tr td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:last-of-type{box-shadow:inset -1px 0 #fff!important;border-right:1px solid #d4d4d4!important}.orange-border{border:1px solid #f97b07!important;background:#f9eadd!important}.copy-icon{display:flex;justify-content:center}.no-data-container{border:1px solid #d4d4d4;height:130px;border-top:none;border-bottom:none}:host ::ng-deep anna-core-no-data-lib div.no-data{position:static;transform:translate(75%);padding-top:3.25rem;margin-top:0!important}::ng-deep .equivalent-and-higher-daypart-message-box .message-box .div-icon .mi{top:-1px!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "component", type: i2.MultiSelectComponent, selector: "anna-design-multi-select", inputs: ["items", "loading", "hideOptionsEnabled", "hideDropdownArrow", "showAdditionalDataInSelectedText", "config", "disabled", "borderbottomObject", "disableOptionsEnabled", "defaultDropdownHeight", "isEquivalentHigherDpComponent"], outputs: ["valueChanged", "selectionChangedEmitAllItems", "dropdownClosedEvent", "dropdownOpenedEvent"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }, { kind: "directive", type: i1$3.ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "pipe", type: i1$3.AnnaConvertArrayToCommaSeperatedValue, name: "annaConvertArrayToCSV" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2752
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EquivalentAndHigherDaypartComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
2753
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: EquivalentAndHigherDaypartComponent, isStandalone: true, selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", inputs: { daypartEquivalenceRules: "daypartEquivalenceRules", isDisabled: "isDisabled", highlightChanges: "highlightChanges", noOfHighlightChanges: "noOfHighlightChanges", hideInfoMessage: "hideInfoMessage" }, outputs: { equivalencyRulesChanges: "equivalencyRulesChanges" }, ngImport: i0, template: "<div>\n <anna-design-message-box\n class=\"equivalent-and-higher-daypart-message-box\"\n *ngIf=\"!hideInfoMessage\"\n [messageBoxData]=\"dayPartInfoMessage\"\n >\n </anna-design-message-box>\n\n <div\n class=\"dp-equivalence-table-container table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table\n class=\"daypart-table equivalence-table\"\n [ngClass]=\"{ 'read-mode-inputs': isDisabled, 'table-with-change-icon': noOfHighlightChanges }\"\n >\n <thead>\n <tr>\n <th\n class=\"daypart\"\n rowspan=\"2\"\n >\n ORIGINAL DAYPART\n </th>\n <th\n class=\"makegood\"\n [attr.colspan]=\"2\"\n >\n MAKEGOOD\n <!-- <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && daypartEquivalenceRules && daypartEquivalenceRules?.length\"\n (click)=\"copyEntireMgOrAdu('MG')\"\n ngbTooltip=\"Copy to ADU\"\n container=\"body\"\n placement=\"bottom\"\n triggers=\"hover\"\n ></span> -->\n </th>\n <!-- <th\n class=\"adu\"\n [attr.colspan]=\"isDisabled ? 2 : 3\"\n >\n ADU\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && daypartEquivalenceRules && daypartEquivalenceRules?.length\"\n (click)=\"copyEntireMgOrAdu('ADU')\"\n ngbTooltip=\"Copy to MG\"\n container=\"body\"\n placement=\"bottom\"\n triggers=\"hover\"\n ></span>\n </th> -->\n </tr>\n <tr class=\"align-right-icon\">\n <th class=\"equivalent-mg\">EQUIVALENT</th>\n <th class=\"higher-mg\">HIGHER</th>\n <!-- <th\n class=\"copy-icon-header\"\n *ngIf=\"!isDisabled\"\n ></th>\n <th class=\"equivalent-adu\">EQUIVALENT</th>\n <th class=\"higher-adu\">HIGHER</th>\n <th\n class=\"copy-icon-header\"\n *ngIf=\"!isDisabled\"\n ></th> -->\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let daypart of daypartEquivalenceRules; let i = index\"\n [ngClass]=\"{\n rowUnderEdit: i === rowIndexUnderEdit,\n disableRow: daypart?.disableForEdit && !isDisabled\n }\"\n >\n <td\n annaCoreShowEllipsisTextOnHover\n class=\"daypart-text\"\n >\n {{ daypart.originalDaypart.text }}\n </td>\n <!-- MAKEGOOD -->\n\n <td\n class=\"equivalent-mg\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.equivalentDaypartsForMg | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n <!-- <ng-container *ngFor=\"let name of daypart?.selectedEquivalentDaypartNamesForMg;let last=last\">\n {{name}}<ng-container *ngIf=\"!last\">, </ng-container>\n </ng-container>\n <ng-container *ngIf=\"daypart?.selectedEquivalentDaypartNamesForMg?.length ==0\">-</ng-container> -->\n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isEquivalentDpForMgSelected || daypart?.isEquivalentEditedForMg\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.equivalentDaypartsForMg\"\n [showAdditionalDataInSelectedText]=\"true\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled || daypart?.disableForEdit\"\n [disableOptionsEnabled]=\"true\"\n [isEquivalentHigherDpComponent]=\"true\"\n [hideDropdownArrow]=\"daypart?.disableForEdit\"\n [hideOptionsEnabled]=\"false\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'MG', 'EQUIVALENT')\"\n (dropdownClosedEvent)=\"equivalentDaypartSelectionChangedForMg($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isEquivalentChangedForMg\"\n ></div>\n </td>\n <td\n class=\"higher-mg\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.higherDaypartsForMg | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n <!-- <ng-container *ngFor=\"let name of daypart?.selectedHigherDaypartNamesForMg;let last=last\">\n {{name}}<ng-container *ngIf=\"!last\">, </ng-container>\n </ng-container>\n <ng-container *ngIf=\"daypart?.selectedHigherDaypartNamesForMg?.length ==0\">-</ng-container> -->\n </div>\n\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isHigherDpForMgSelected || daypart.isHigherEditedForMg\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.higherDaypartsForMg\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled || daypart?.disableForEdit\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'MG', 'HIGHER')\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [hideDropdownArrow]=\"daypart?.disableForEdit\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownClosedEvent)=\"higherDaypartSelectionChangedForMg($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isHigherChangedForMg\"\n ></div>\n </td>\n <!-- <td\n class=\"copy-mg\"\n *ngIf=\"!isDisabled\"\n (mouseenter)=\"changeBackground($event)\"\n (mouseleave)=\"resetBackground($event)\"\n >\n <div class=\"copy-icon\">\n <span\n class=\"mdi mdi-content-copy hide\"\n (click)=\"copyDataCell('MG', daypart)\"\n container=\"body\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"bottom auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </td> -->\n <!-- ADU -->\n <!-- <td\n class=\"equivalent-adu\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.equivalentDaypartsForAdu | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n \n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isEquivalentDpForAduSelected || daypart?.isEquivalentEditedForAdu\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.equivalentDaypartsForAdu\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'ADU', 'EQUIVALENT')\"\n (dropdownClosedEvent)=\"equivalentDaypartSelectionChangedForAdu($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isEquivalentChangedForAdu\"\n ></div>\n </td>\n <td\n class=\"higher-adu\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.higherDaypartsForAdu | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n \n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isHigherDpForAduSelected || daypart.isHigherEditedForAdu\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.higherDaypartsForAdu\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'ADU', 'HIGHER')\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownClosedEvent)=\"higherDaypartSelectionChangedForAdu($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart.isHigherChangedForAdu\"\n ></div>\n </td>\n <td\n class=\"copy-adu\"\n *ngIf=\"!isDisabled\"\n (mouseenter)=\"changeBackground($event)\"\n (mouseleave)=\"resetBackground($event)\"\n >\n <div class=\"copy-icon\">\n <span\n class=\"mdi mdi-content-copy hide\"\n (click)=\"copyDataCell('ADU', daypart)\"\n ngbTooltip=\"Copy to MG\"\n container=\"body\"\n placement=\"bottom auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </td> -->\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"!daypartEquivalenceRules || !daypartEquivalenceRules.length\"\n class=\"no-data-container\"\n >\n <anna-core-no-data-lib\n [width]=\"'50%'\"\n [marginTop]=\"'3.25rem'\"\n ></anna-core-no-data-lib>\n </div>\n </div>\n</div>\n", styles: [".mdi.mdi-content-copy{color:#268bff;cursor:pointer}:host ::ng-deep anna-design-message-box .message-box.eq-higher-dp{margin:0 0 8px!important;max-height:50px}:host ::ng-deep anna-design-message-box .message-box.eq-higher-dp ul{padding-left:35px!important}:host .input-difference-icon{font-size:11px;display:inline-flex;vertical-align:middle}.dp-equivalence-table-container{margin:8px 0 0;max-height:calc(100vh - 379px);overflow-y:auto}.dp-equivalence-table-container::-webkit-scrollbar-track{margin-top:69px}td.hoverable:hover{cursor:pointer}tr td:nth-of-type(1):hover,td:nth-of-type(2):hover{cursor:default!important}.hide{visibility:hidden}td:hover .hide{visibility:visible}::ng-deep anna-design-multi-select.blue-border button#dropdown-trigger{background-color:#e5f1ff!important;border-color:#268bff!important;opacity:1!important}::ng-deep anna-design-multi-select.blue-border-highlight button#dropdown-trigger{border-color:#268bff!important}table thead tr th{height:35px}table thead tr th.daypart{width:140px;min-width:140px;max-width:140px}table thead tr th.makegood,table thead tr th.adu{text-align:center!important;width:302px;min-width:302px;max-width:302px}table thead tr th.equivalent-mg{width:151px;min-width:151px;max-width:151px}table thead tr th.equivalent-adu{width:150px;min-width:150px;max-width:150px}table thead tr th.higher-mg{width:151px;min-width:151px;max-width:151px}table thead tr th.higher-adu{width:150px;min-width:150px;max-width:150px}table thead tr th.copy-icon-header{width:24px;min-width:24px;max-width:24px}table{width:100%}table .table-container::-webkit-scrollbar-track{margin-top:42px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:44px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(6){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(7){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(6){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(7){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(6){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(7){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr.disableRow td{background:#f3f3f3!important}table thead tr th{color:#4a4a4a;padding:12px 8px 8px;text-align:left;background-color:#e9e9e9;z-index:10;position:sticky;top:0;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table thead tr th:last-child{box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4}table thead tr th.daypart{top:.1px!important;box-shadow:inset 1px 1px #d4d4d4,inset 0 -1px #d4d4d4,inset 0 0 #d4d4d4!important}table thead tr:nth-of-type(1) th.makegood{top:.1px!important;box-shadow:inset 1px 1px #d4d4d4,inset -1px 0 #d4d4d4!important}table thead tr:nth-of-type(2) th{box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset 0 0 #d4d4d4,inset -1px 1px #d4d4d4!important;top:35.1px}table thead tr:nth-of-type(2) th:last-of-type{box-shadow:inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4,inset -1px 1px #d4d4d4!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset -1px 0 #fff!important;border-right:1px solid #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr{height:31px}table tbody tr td .disabled-text{display:inline-block;padding:2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table tbody tr td.blue-border{box-shadow:inset 0 0 0 1px #268bff!important}table tbody tr.rowUnderEdit td{background-color:#e5f1fe!important}table tbody tr td{padding:0 8px 2px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.33px}table.table-with-change-icon thead th.change-icon,table.table-with-change-icon tbody tr td.change-icon{background-color:#fff!important;box-shadow:none!important}table.table-with-change-icon ::ng-deep anna-design-multi-select{width:calc(100% - 24px)!important;display:inline-block}table.read-mode-inputs .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table.read-mode-inputs .header-row{background:#ededed}table.read-mode-inputs .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table.read-mode-inputs .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table.read-mode-inputs .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table.read-mode-inputs .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table.read-mode-inputs .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table.read-mode-inputs .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table.read-mode-inputs .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table.read-mode-inputs .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .table-container.no-data-table>div{height:142px!important}table.read-mode-inputs .table-container.no-data-table>div tr td{filter:none!important}table.read-mode-inputs tbody tr.no-border-tr{height:44px!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table.read-mode-inputs .input-difference-icon{vertical-align:unset}table.read-mode-inputs tbody tr{height:22px!important}table.read-mode-inputs tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table.read-mode-inputs tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table.read-mode-inputs tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table.read-mode-inputs tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td{cursor:default!important;padding:0 8px}table.read-mode-inputs tbody tr td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:last-of-type{box-shadow:inset -1px 0 #fff!important;border-right:1px solid #d4d4d4!important}.orange-border{border:1px solid #f97b07!important;background:#f9eadd!important}.copy-icon{display:flex;justify-content:center}.no-data-container{border:1px solid #d4d4d4;height:130px;border-top:none;border-bottom:none}:host ::ng-deep anna-core-no-data-lib div.no-data{position:static;transform:translate(75%);padding-top:3.25rem;margin-top:0!important}::ng-deep .equivalent-and-higher-daypart-message-box .message-box .div-icon .mi{top:-1px!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "component", type: i2.MultiSelectComponent, selector: "anna-design-multi-select", inputs: ["items", "loading", "hideOptionsEnabled", "hideDropdownArrow", "showAdditionalDataInSelectedText", "config", "disabled", "borderbottomObject", "disableOptionsEnabled", "defaultDropdownHeight", "isEquivalentHigherDpComponent"], outputs: ["applied", "valueChanged", "selectionApplied", "selectionChangedEmitAllItems", "dropdownClosedEvent", "dropdownOpenedEvent"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }, { kind: "directive", type: i1$3.ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "pipe", type: i1$3.AnnaConvertArrayToCommaSeperatedValue, name: "annaConvertArrayToCSV" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
2754
2754
  }
2755
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: EquivalentAndHigherDaypartComponent, decorators: [{
2755
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: EquivalentAndHigherDaypartComponent, decorators: [{
2756
2756
  type: Component,
2757
2757
  args: [{ selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AnnaDesignComponentsLibModule, NgClass, NgbTooltip, NgFor, AnnaCoreModule], template: "<div>\n <anna-design-message-box\n class=\"equivalent-and-higher-daypart-message-box\"\n *ngIf=\"!hideInfoMessage\"\n [messageBoxData]=\"dayPartInfoMessage\"\n >\n </anna-design-message-box>\n\n <div\n class=\"dp-equivalence-table-container table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table\n class=\"daypart-table equivalence-table\"\n [ngClass]=\"{ 'read-mode-inputs': isDisabled, 'table-with-change-icon': noOfHighlightChanges }\"\n >\n <thead>\n <tr>\n <th\n class=\"daypart\"\n rowspan=\"2\"\n >\n ORIGINAL DAYPART\n </th>\n <th\n class=\"makegood\"\n [attr.colspan]=\"2\"\n >\n MAKEGOOD\n <!-- <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && daypartEquivalenceRules && daypartEquivalenceRules?.length\"\n (click)=\"copyEntireMgOrAdu('MG')\"\n ngbTooltip=\"Copy to ADU\"\n container=\"body\"\n placement=\"bottom\"\n triggers=\"hover\"\n ></span> -->\n </th>\n <!-- <th\n class=\"adu\"\n [attr.colspan]=\"isDisabled ? 2 : 3\"\n >\n ADU\n <span\n class=\"mdi mdi-content-copy\"\n *ngIf=\"!isDisabled && daypartEquivalenceRules && daypartEquivalenceRules?.length\"\n (click)=\"copyEntireMgOrAdu('ADU')\"\n ngbTooltip=\"Copy to MG\"\n container=\"body\"\n placement=\"bottom\"\n triggers=\"hover\"\n ></span>\n </th> -->\n </tr>\n <tr class=\"align-right-icon\">\n <th class=\"equivalent-mg\">EQUIVALENT</th>\n <th class=\"higher-mg\">HIGHER</th>\n <!-- <th\n class=\"copy-icon-header\"\n *ngIf=\"!isDisabled\"\n ></th>\n <th class=\"equivalent-adu\">EQUIVALENT</th>\n <th class=\"higher-adu\">HIGHER</th>\n <th\n class=\"copy-icon-header\"\n *ngIf=\"!isDisabled\"\n ></th> -->\n </tr>\n </thead>\n <tbody>\n <tr\n *ngFor=\"let daypart of daypartEquivalenceRules; let i = index\"\n [ngClass]=\"{\n rowUnderEdit: i === rowIndexUnderEdit,\n disableRow: daypart?.disableForEdit && !isDisabled\n }\"\n >\n <td\n annaCoreShowEllipsisTextOnHover\n class=\"daypart-text\"\n >\n {{ daypart.originalDaypart.text }}\n </td>\n <!-- MAKEGOOD -->\n\n <td\n class=\"equivalent-mg\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.equivalentDaypartsForMg | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n <!-- <ng-container *ngFor=\"let name of daypart?.selectedEquivalentDaypartNamesForMg;let last=last\">\n {{name}}<ng-container *ngIf=\"!last\">, </ng-container>\n </ng-container>\n <ng-container *ngIf=\"daypart?.selectedEquivalentDaypartNamesForMg?.length ==0\">-</ng-container> -->\n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isEquivalentDpForMgSelected || daypart?.isEquivalentEditedForMg\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.equivalentDaypartsForMg\"\n [showAdditionalDataInSelectedText]=\"true\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled || daypart?.disableForEdit\"\n [disableOptionsEnabled]=\"true\"\n [isEquivalentHigherDpComponent]=\"true\"\n [hideDropdownArrow]=\"daypart?.disableForEdit\"\n [hideOptionsEnabled]=\"false\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'MG', 'EQUIVALENT')\"\n (dropdownClosedEvent)=\"equivalentDaypartSelectionChangedForMg($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isEquivalentChangedForMg\"\n ></div>\n </td>\n <td\n class=\"higher-mg\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.higherDaypartsForMg | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n <!-- <ng-container *ngFor=\"let name of daypart?.selectedHigherDaypartNamesForMg;let last=last\">\n {{name}}<ng-container *ngIf=\"!last\">, </ng-container>\n </ng-container>\n <ng-container *ngIf=\"daypart?.selectedHigherDaypartNamesForMg?.length ==0\">-</ng-container> -->\n </div>\n\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isHigherDpForMgSelected || daypart.isHigherEditedForMg\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.higherDaypartsForMg\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled || daypart?.disableForEdit\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'MG', 'HIGHER')\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [hideDropdownArrow]=\"daypart?.disableForEdit\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownClosedEvent)=\"higherDaypartSelectionChangedForMg($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isHigherChangedForMg\"\n ></div>\n </td>\n <!-- <td\n class=\"copy-mg\"\n *ngIf=\"!isDisabled\"\n (mouseenter)=\"changeBackground($event)\"\n (mouseleave)=\"resetBackground($event)\"\n >\n <div class=\"copy-icon\">\n <span\n class=\"mdi mdi-content-copy hide\"\n (click)=\"copyDataCell('MG', daypart)\"\n container=\"body\"\n ngbTooltip=\"Copy to ADU\"\n placement=\"bottom auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </td> -->\n <!-- ADU -->\n <!-- <td\n class=\"equivalent-adu\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.equivalentDaypartsForAdu | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n \n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isEquivalentDpForAduSelected || daypart?.isEquivalentEditedForAdu\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.equivalentDaypartsForAdu\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'ADU', 'EQUIVALENT')\"\n (dropdownClosedEvent)=\"equivalentDaypartSelectionChangedForAdu($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart?.isEquivalentChangedForAdu\"\n ></div>\n </td>\n <td\n class=\"higher-adu\"\n [ngClass]=\"{ hoverable: !isDisabled }\"\n >\n <div\n *ngIf=\"isDisabled\"\n class=\"disabled-text\"\n annaCoreShowEllipsisTextOnHover\n >\n {{ daypart?.higherDaypartsForAdu | annaConvertArrayToCSV: \"text\" : \"isSelected\" }}\n \n </div>\n <ng-container *ngIf=\"!isDisabled\">\n <anna-design-multi-select\n class=\"daypart-dropdown\"\n [ngClass]=\"{\n 'blue-border-highlight':\n daypart?.isHigherDpForAduSelected || daypart.isHigherEditedForAdu\n }\"\n [loading]=\"false\"\n [items]=\"daypart?.higherDaypartsForAdu\"\n [showAdditionalDataInSelectedText]=\"false\"\n [config]=\"dropdownConfig\"\n [disabled]=\"isDisabled\"\n (dropdownOpenedEvent)=\"dropdownOpened(daypart, 'ADU', 'HIGHER')\"\n [disableOptionsEnabled]=\"true\"\n [hideOptionsEnabled]=\"false\"\n [isEquivalentHigherDpComponent]=\"true\"\n (dropdownClosedEvent)=\"higherDaypartSelectionChangedForAdu($event, daypart)\"\n >\n </anna-design-multi-select>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && daypart.isHigherChangedForAdu\"\n ></div>\n </td>\n <td\n class=\"copy-adu\"\n *ngIf=\"!isDisabled\"\n (mouseenter)=\"changeBackground($event)\"\n (mouseleave)=\"resetBackground($event)\"\n >\n <div class=\"copy-icon\">\n <span\n class=\"mdi mdi-content-copy hide\"\n (click)=\"copyDataCell('ADU', daypart)\"\n ngbTooltip=\"Copy to MG\"\n container=\"body\"\n placement=\"bottom auto\"\n triggers=\"hover\"\n ></span>\n </div>\n </td> -->\n </tr>\n </tbody>\n </table>\n <div\n *ngIf=\"!daypartEquivalenceRules || !daypartEquivalenceRules.length\"\n class=\"no-data-container\"\n >\n <anna-core-no-data-lib\n [width]=\"'50%'\"\n [marginTop]=\"'3.25rem'\"\n ></anna-core-no-data-lib>\n </div>\n </div>\n</div>\n", styles: [".mdi.mdi-content-copy{color:#268bff;cursor:pointer}:host ::ng-deep anna-design-message-box .message-box.eq-higher-dp{margin:0 0 8px!important;max-height:50px}:host ::ng-deep anna-design-message-box .message-box.eq-higher-dp ul{padding-left:35px!important}:host .input-difference-icon{font-size:11px;display:inline-flex;vertical-align:middle}.dp-equivalence-table-container{margin:8px 0 0;max-height:calc(100vh - 379px);overflow-y:auto}.dp-equivalence-table-container::-webkit-scrollbar-track{margin-top:69px}td.hoverable:hover{cursor:pointer}tr td:nth-of-type(1):hover,td:nth-of-type(2):hover{cursor:default!important}.hide{visibility:hidden}td:hover .hide{visibility:visible}::ng-deep anna-design-multi-select.blue-border button#dropdown-trigger{background-color:#e5f1ff!important;border-color:#268bff!important;opacity:1!important}::ng-deep anna-design-multi-select.blue-border-highlight button#dropdown-trigger{border-color:#268bff!important}table thead tr th{height:35px}table thead tr th.daypart{width:140px;min-width:140px;max-width:140px}table thead tr th.makegood,table thead tr th.adu{text-align:center!important;width:302px;min-width:302px;max-width:302px}table thead tr th.equivalent-mg{width:151px;min-width:151px;max-width:151px}table thead tr th.equivalent-adu{width:150px;min-width:150px;max-width:150px}table thead tr th.higher-mg{width:151px;min-width:151px;max-width:151px}table thead tr th.higher-adu{width:150px;min-width:150px;max-width:150px}table thead tr th.copy-icon-header{width:24px;min-width:24px;max-width:24px}table{width:100%}table .table-container::-webkit-scrollbar-track{margin-top:42px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:44px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(6){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(7){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(6){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(7){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(6){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(7){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr.disableRow td{background:#f3f3f3!important}table thead tr th{color:#4a4a4a;padding:12px 8px 8px;text-align:left;background-color:#e9e9e9;z-index:10;position:sticky;top:0;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table thead tr th:last-child{box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4}table thead tr th.daypart{top:.1px!important;box-shadow:inset 1px 1px #d4d4d4,inset 0 -1px #d4d4d4,inset 0 0 #d4d4d4!important}table thead tr:nth-of-type(1) th.makegood{top:.1px!important;box-shadow:inset 1px 1px #d4d4d4,inset -1px 0 #d4d4d4!important}table thead tr:nth-of-type(2) th{box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset 0 0 #d4d4d4,inset -1px 1px #d4d4d4!important;top:35.1px}table thead tr:nth-of-type(2) th:last-of-type{box-shadow:inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4,inset -1px 1px #d4d4d4!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset -1px 0 #fff!important;border-right:1px solid #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr{height:31px}table tbody tr td .disabled-text{display:inline-block;padding:2px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}table tbody tr td.blue-border{box-shadow:inset 0 0 0 1px #268bff!important}table tbody tr.rowUnderEdit td{background-color:#e5f1fe!important}table tbody tr td{padding:0 8px 2px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.33px}table.table-with-change-icon thead th.change-icon,table.table-with-change-icon tbody tr td.change-icon{background-color:#fff!important;box-shadow:none!important}table.table-with-change-icon ::ng-deep anna-design-multi-select{width:calc(100% - 24px)!important;display:inline-block}table.read-mode-inputs .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table.read-mode-inputs .header-row{background:#ededed}table.read-mode-inputs .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table.read-mode-inputs .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table.read-mode-inputs .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table.read-mode-inputs .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table.read-mode-inputs .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table.read-mode-inputs .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table.read-mode-inputs .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table.read-mode-inputs .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs .table-container.no-data-table>div{height:142px!important}table.read-mode-inputs .table-container.no-data-table>div tr td{filter:none!important}table.read-mode-inputs tbody tr.no-border-tr{height:44px!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table.read-mode-inputs tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table.read-mode-inputs .input-difference-icon{vertical-align:unset}table.read-mode-inputs tbody tr{height:22px!important}table.read-mode-inputs tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table.read-mode-inputs tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table.read-mode-inputs tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table.read-mode-inputs tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table.read-mode-inputs tbody tr td{cursor:default!important;padding:0 8px}table.read-mode-inputs tbody tr td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}table.read-mode-inputs tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4!important}table.read-mode-inputs tbody tr:last-of-type td:last-of-type{box-shadow:inset -1px 0 #fff!important;border-right:1px solid #d4d4d4!important}.orange-border{border:1px solid #f97b07!important;background:#f9eadd!important}.copy-icon{display:flex;justify-content:center}.no-data-container{border:1px solid #d4d4d4;height:130px;border-top:none;border-bottom:none}:host ::ng-deep anna-core-no-data-lib div.no-data{position:static;transform:translate(75%);padding-top:3.25rem;margin-top:0!important}::ng-deep .equivalent-and-higher-daypart-message-box .message-box .div-icon .mi{top:-1px!important}\n"] }]
2758
2758
  }], ctorParameters: () => [{ type: i1$3.AnnaGlobalConfigService }], propDecorators: { daypartEquivalenceRules: [{
@@ -3035,10 +3035,10 @@ class ExcludedOrSpecialProgramComponent {
3035
3035
  this.updateTotalRow();
3036
3036
  this.changeSelectedInventories();
3037
3037
  }
3038
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ExcludedOrSpecialProgramComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }, { token: i1$3.AnnaFilterService }, { token: i1$3.AnnaSortService }, { token: i1$3.AnnaGtHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
3039
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: ExcludedOrSpecialProgramComponent, isStandalone: true, selector: "anna-feature-biz-rules-excluded-or-special-program", inputs: { tableHeaders: "tableHeaders", nonSelectedInventories: "nonSelectedInventories", selectedInventories: "selectedInventories", componentName: "componentName", noOfHighlightChanges: "noOfHighlightChanges", editMode: "editMode", isHistoryPage: "isHistoryPage", showTotalRow: "showTotalRow" }, outputs: { inventoriesSelected: "inventoriesSelected", inventoriesNotSelected: "inventoriesNotSelected", modalClose: "modalClose" }, viewQueries: [{ propertyName: "nonEditableGTComponent", first: true, predicate: AnnaNonEditableGenericTableComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<anna-design-message-box\n *ngIf=\"!isHistoryPage\"\n [messageBoxData]=\"messageForProgram\"\n [headerAsBlockElement]=\"false\"\n [showHyphen]=\"false\"\n></anna-design-message-box>\n\n<ng-container *ngIf=\"tableDisplayData && tableDisplayData?.length; else noData\">\n <div class=\"count-reset-container\">\n <span class=\"info-text\">\n {{ selectedICCount }}/{{ tableDisplayData.length }}\n selected\n </span>\n\n <button\n class=\"clear-all-btn\"\n (click)=\"clearAllFilter()\"\n [disabled]=\"disableClearAllBtn\"\n >\n Reset all filters\n </button>\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [tableBorderBottomClassRequired]=\"false\"\n [clickableRow]=\"false\"\n [ngClass]=\"{ 'inventory-table-with-change-icon': noOfHighlightChanges, 'read-mode': !editMode }\"\n [showSkeletonLoading]=\"false\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"tableDisplayData\"\n [clonedTableData]=\"tableAllDataWithoutAnyColumnFilter\"\n [totalRowInfo]=\"totalRowInfo\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (totalRowIconClicked)=\"totalRowIconClicked($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (toggleCheckbox)=\"toggleCheckbox($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n</ng-container>\n\n<ng-template #noData>\n <div class=\"empty-table-div\">\n <ng-container *ngIf=\"editMode\">\n {{ componentName === \"EXCLUDED\" ? \"No Programs to exclude\" : \"No Special Programs to select\" }}\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{\n componentName === \"EXCLUDED\"\n ? \"No Programs are excluded\"\n : \"No Special\n Programs are selected\"\n }}\n </ng-container>\n </div>\n</ng-template>\n", styles: [".info-text{color:#767676;font-family:Roboto;font-size:var(--page-message-content-fs);font-weight:500;font-stretch:normal;font-style:normal;line-height:.8788rem;letter-spacing:normal}:host ::ng-deep anna-design-message-box .message-box.excluded-programs{margin:0 0 8px!important;max-height:60px}:host ::ng-deep anna-design-message-box .message-box.excluded-programs ul{padding-left:35px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:61px;margin-left:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) .total-row td:nth-of-type(0){filter:drop-shadow(2px 0 2px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{top:40px!important;padding:2px 8px;background:#fff;position:sticky;position:-webkit-sticky}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .upper-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .lower-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-top:-3px}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td br{display:block;content:\"\";margin-top:-6px}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){box-shadow:inset 1px 0 #000000bf,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(3){box-shadow:inset -1px 0 #000000bf,inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) td:nth-of-type(7){filter:drop-shadow(2px 0 1px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:157px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(6){box-shadow:inset -1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{padding:0 8px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .check-box{cursor:pointer!important;top:2px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(6){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:default!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-design-message-box .message-box.program-table{margin:0 0 8px!important;max-height:50px}:host ::ng-deep anna-design-message-box .message-box.program-table ul{padding-left:30px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .mat-column-aduSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib .mat-column-makeGoodSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib span.material-icons.custom-column-checkbox-checked,:host ::ng-deep anna-core-non-editable-generic-table-lib span.material-icons.custom-column-checkbox-unchecked,:host ::ng-deep anna-core-non-editable-generic-table-lib .check-box{display:inline!important}:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .mat-column-aduSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .mat-column-makeGoodSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .custom-column-checkbox-checked,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .custom-column-checkbox-unchecked,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .check-box{cursor:default!important;color:#dedede!important;pointer-events:none!important}:host ::ng-deep .input-difference-icon{height:16px;width:16px;pointer-events:none!important;position:relative;top:1.3px}.empty-table-div{display:flex;justify-content:center;align-items:center;height:100px;color:#000;margin-right:75px;font-family:Roboto;font-size:var(--page-link-fs);font-weight:500;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:normal}.count-reset-container{display:flex;justify-content:space-between;padding-bottom:4px}button.clear-all-btn{padding:0;border:none;display:block;text-align:right;margin-left:auto;width:fit-content;background-color:transparent;text-decoration:underline;color:#268bff;line-height:1!important;font-size:var(--reset-all-filter-fs)!important;letter-spacing:normal!important;font-weight:400!important}button.clear-all-btn:hover:enabled{color:#268bff}button.clear-all-btn:disabled{color:#4a4a4a;opacity:.5;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3038
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ExcludedOrSpecialProgramComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }, { token: i1$3.AnnaFilterService }, { token: i1$3.AnnaSortService }, { token: i1$3.AnnaGtHelperService }], target: i0.ɵɵFactoryTarget.Component }); }
3039
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: ExcludedOrSpecialProgramComponent, isStandalone: true, selector: "anna-feature-biz-rules-excluded-or-special-program", inputs: { tableHeaders: "tableHeaders", nonSelectedInventories: "nonSelectedInventories", selectedInventories: "selectedInventories", componentName: "componentName", noOfHighlightChanges: "noOfHighlightChanges", editMode: "editMode", isHistoryPage: "isHistoryPage", showTotalRow: "showTotalRow" }, outputs: { inventoriesSelected: "inventoriesSelected", inventoriesNotSelected: "inventoriesNotSelected", modalClose: "modalClose" }, viewQueries: [{ propertyName: "nonEditableGTComponent", first: true, predicate: AnnaNonEditableGenericTableComponent, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<anna-design-message-box\n *ngIf=\"!isHistoryPage\"\n [messageBoxData]=\"messageForProgram\"\n [headerAsBlockElement]=\"false\"\n [showHyphen]=\"false\"\n></anna-design-message-box>\n\n<ng-container *ngIf=\"tableDisplayData && tableDisplayData?.length; else noData\">\n <div class=\"count-reset-container\">\n <span class=\"info-text\">\n {{ selectedICCount }}/{{ tableDisplayData.length }}\n selected\n </span>\n\n <button\n class=\"clear-all-btn\"\n (click)=\"clearAllFilter()\"\n [disabled]=\"disableClearAllBtn\"\n >\n Reset all filters\n </button>\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [tableBorderBottomClassRequired]=\"false\"\n [clickableRow]=\"false\"\n [ngClass]=\"{ 'inventory-table-with-change-icon': noOfHighlightChanges, 'read-mode': !editMode }\"\n [showSkeletonLoading]=\"false\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"tableDisplayData\"\n [clonedTableData]=\"tableAllDataWithoutAnyColumnFilter\"\n [totalRowInfo]=\"totalRowInfo\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (totalRowIconClicked)=\"totalRowIconClicked($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (toggleCheckbox)=\"toggleCheckbox($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n</ng-container>\n\n<ng-template #noData>\n <div class=\"empty-table-div\">\n <ng-container *ngIf=\"editMode\">\n {{ componentName === \"EXCLUDED\" ? \"No Programs to exclude\" : \"No Special Programs to select\" }}\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{\n componentName === \"EXCLUDED\"\n ? \"No Programs are excluded\"\n : \"No Special\n Programs are selected\"\n }}\n </ng-container>\n </div>\n</ng-template>\n", styles: [".info-text{color:#767676;font-family:Roboto;font-size:var(--page-message-content-fs);font-weight:500;font-stretch:normal;font-style:normal;line-height:.8788rem;letter-spacing:normal}:host ::ng-deep anna-design-message-box .message-box.excluded-programs{margin:0 0 8px!important;max-height:60px}:host ::ng-deep anna-design-message-box .message-box.excluded-programs ul{padding-left:35px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:61px;margin-left:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) .total-row td:nth-of-type(0){filter:drop-shadow(2px 0 2px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{top:40px!important;padding:2px 8px;background:#fff;position:sticky;position:-webkit-sticky}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .upper-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .lower-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-top:-3px}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td br{display:block;content:\"\";margin-top:-6px}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){box-shadow:inset 1px 0 #000000bf,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(3){box-shadow:inset -1px 0 #000000bf,inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) td:nth-of-type(7){filter:drop-shadow(2px 0 1px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:157px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(6){box-shadow:inset -1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{padding:0 8px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .check-box{cursor:pointer!important;top:2px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(6){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:default!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-design-message-box .message-box.program-table{margin:0 0 8px!important;max-height:50px}:host ::ng-deep anna-design-message-box .message-box.program-table ul{padding-left:30px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .mat-column-aduSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib .mat-column-makeGoodSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib span.material-icons.custom-column-checkbox-checked,:host ::ng-deep anna-core-non-editable-generic-table-lib span.material-icons.custom-column-checkbox-unchecked,:host ::ng-deep anna-core-non-editable-generic-table-lib .check-box{display:inline!important}:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .mat-column-aduSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .mat-column-makeGoodSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .custom-column-checkbox-checked,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .custom-column-checkbox-unchecked,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .check-box{cursor:default!important;color:#dedede!important;pointer-events:none!important}:host ::ng-deep .input-difference-icon{height:16px;width:16px;pointer-events:none!important;position:relative;top:1.3px}.empty-table-div{display:flex;justify-content:center;align-items:center;height:100px;color:#000;margin-right:75px;font-family:Roboto;font-size:var(--page-link-fs);font-weight:500;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:normal}.count-reset-container{display:flex;justify-content:space-between;padding-bottom:4px}button.clear-all-btn{padding:0;border:none;display:block;text-align:right;margin-left:auto;width:fit-content;background-color:transparent;text-decoration:underline;color:#268bff;line-height:1!important;font-size:var(--reset-all-filter-fs)!important;letter-spacing:normal!important;font-weight:400!important}button.clear-all-btn:hover:enabled{color:#268bff}button.clear-all-btn:disabled{color:#4a4a4a;opacity:.5;cursor:not-allowed}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3040
3040
  }
3041
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: ExcludedOrSpecialProgramComponent, decorators: [{
3041
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: ExcludedOrSpecialProgramComponent, decorators: [{
3042
3042
  type: Component,
3043
3043
  args: [{ selector: "anna-feature-biz-rules-excluded-or-special-program", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AnnaDesignComponentsLibModule, AnnaCoreModule, NgClass], template: "<anna-design-message-box\n *ngIf=\"!isHistoryPage\"\n [messageBoxData]=\"messageForProgram\"\n [headerAsBlockElement]=\"false\"\n [showHyphen]=\"false\"\n></anna-design-message-box>\n\n<ng-container *ngIf=\"tableDisplayData && tableDisplayData?.length; else noData\">\n <div class=\"count-reset-container\">\n <span class=\"info-text\">\n {{ selectedICCount }}/{{ tableDisplayData.length }}\n selected\n </span>\n\n <button\n class=\"clear-all-btn\"\n (click)=\"clearAllFilter()\"\n [disabled]=\"disableClearAllBtn\"\n >\n Reset all filters\n </button>\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [tableBorderBottomClassRequired]=\"false\"\n [clickableRow]=\"false\"\n [ngClass]=\"{ 'inventory-table-with-change-icon': noOfHighlightChanges, 'read-mode': !editMode }\"\n [showSkeletonLoading]=\"false\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"tableDisplayData\"\n [clonedTableData]=\"tableAllDataWithoutAnyColumnFilter\"\n [totalRowInfo]=\"totalRowInfo\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (totalRowIconClicked)=\"totalRowIconClicked($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (toggleCheckbox)=\"toggleCheckbox($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n</ng-container>\n\n<ng-template #noData>\n <div class=\"empty-table-div\">\n <ng-container *ngIf=\"editMode\">\n {{ componentName === \"EXCLUDED\" ? \"No Programs to exclude\" : \"No Special Programs to select\" }}\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{\n componentName === \"EXCLUDED\"\n ? \"No Programs are excluded\"\n : \"No Special\n Programs are selected\"\n }}\n </ng-container>\n </div>\n</ng-template>\n", styles: [".info-text{color:#767676;font-family:Roboto;font-size:var(--page-message-content-fs);font-weight:500;font-stretch:normal;font-style:normal;line-height:.8788rem;letter-spacing:normal}:host ::ng-deep anna-design-message-box .message-box.excluded-programs{margin:0 0 8px!important;max-height:60px}:host ::ng-deep anna-design-message-box .message-box.excluded-programs ul{padding-left:35px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:61px;margin-left:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) .total-row td:nth-of-type(0){filter:drop-shadow(2px 0 2px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{top:40px!important;padding:2px 8px;background:#fff;position:sticky;position:-webkit-sticky}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .upper-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .lower-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-top:-3px}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td br{display:block;content:\"\";margin-top:-6px}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){box-shadow:inset 1px 0 #000000bf,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(3){box-shadow:inset -1px 0 #000000bf,inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) td:nth-of-type(7){filter:drop-shadow(2px 0 1px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:157px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(6){box-shadow:inset -1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{padding:0 8px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .check-box{cursor:pointer!important;top:2px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(6){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:default!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-design-message-box .message-box.program-table{margin:0 0 8px!important;max-height:50px}:host ::ng-deep anna-design-message-box .message-box.program-table ul{padding-left:30px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .mat-column-aduSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib .mat-column-makeGoodSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib span.material-icons.custom-column-checkbox-checked,:host ::ng-deep anna-core-non-editable-generic-table-lib span.material-icons.custom-column-checkbox-unchecked,:host ::ng-deep anna-core-non-editable-generic-table-lib .check-box{display:inline!important}:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .mat-column-aduSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .mat-column-makeGoodSelected .material-icons,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .custom-column-checkbox-checked,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .custom-column-checkbox-unchecked,:host ::ng-deep anna-core-non-editable-generic-table-lib.read-mode .check-box{cursor:default!important;color:#dedede!important;pointer-events:none!important}:host ::ng-deep .input-difference-icon{height:16px;width:16px;pointer-events:none!important;position:relative;top:1.3px}.empty-table-div{display:flex;justify-content:center;align-items:center;height:100px;color:#000;margin-right:75px;font-family:Roboto;font-size:var(--page-link-fs);font-weight:500;font-stretch:normal;font-style:normal;line-height:1.5;letter-spacing:normal}.count-reset-container{display:flex;justify-content:space-between;padding-bottom:4px}button.clear-all-btn{padding:0;border:none;display:block;text-align:right;margin-left:auto;width:fit-content;background-color:transparent;text-decoration:underline;color:#268bff;line-height:1!important;font-size:var(--reset-all-filter-fs)!important;letter-spacing:normal!important;font-weight:400!important}button.clear-all-btn:hover:enabled{color:#268bff}button.clear-all-btn:disabled{color:#4a4a4a;opacity:.5;cursor:not-allowed}\n"] }]
3044
3044
  }], ctorParameters: () => [{ type: i1$3.AnnaGlobalConfigService }, { type: i1$3.AnnaFilterService }, { type: i1$3.AnnaSortService }, { type: i1$3.AnnaGtHelperService }], propDecorators: { tableHeaders: [{
@@ -3638,10 +3638,10 @@ class GeneralRulesComponent {
3638
3638
  return null;
3639
3639
  };
3640
3640
  }
3641
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: GeneralRulesComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
3642
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: GeneralRulesComponent, isStandalone: true, selector: "anna-feature-biz-rules-general-rules", inputs: { disableAdvertiserSeparation: "disableAdvertiserSeparation", advertiserSeparationClonedValue: "advertiserSeparationClonedValue", generalRules: "generalRules", highlightChanges: "highlightChanges", editMode: "editMode" }, outputs: { generalRuleChange: "generalRuleChange" }, usesOnChanges: true, ngImport: i0, template: "<section\n [ngClass]=\"{\n 'highlight-changes': highlightChanges,\n 'read-mode-inputs': !editMode,\n 'edit-mode-inputs': editMode\n }\"\n>\n <anna-design-message-box [messageBoxData]=\"generalRulesMessageBoxData\"></anna-design-message-box>\n <div\n id=\"scroll-container-general\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">{{ GeneralRulesTableHeader.RULE_NUMBER }}</th>\n <th class=\"biz-rule\">{{ GeneralRulesTableHeader.BUSINESS_RULES }}</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">{{ GeneralRulesTableHeader.STANDARD_RULE }}</th>\n <th class=\"relaxed-rule\">{{ GeneralRulesTableHeader.RELAXED_RULE }}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class=\"valign-top\">\n <section>1</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.measurementAgency }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"measurementAgencyTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td></td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.measurementAgencyBizRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"measurementAgencyDropdownConfig\"\n [disabled]=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n [items]=\"generalRules.measurementAgencyBizRule.measurementAgencyDropdownData\"\n [selectedItem]=\"selectedMeasurementAgency\"\n (valueChanged)=\"onMeasurementAgencyChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedMeasurementAgency?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.measurementAgencyBizRule?.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>2</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.postingType }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"postingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td></td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.postingTypeBusinessRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"postingTypeDropdownConfig\"\n [disabled]=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n [items]=\"generalRules.postingTypeBusinessRule.postingTypesDropdownData\"\n [selectedItem]=\"selectedPostedType\"\n (valueChanged)=\"onPostingTypeChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedPostedType?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.postingTypeBusinessRule.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr class=\"advertiser-separation-row\">\n <td>3</td>\n <td>\n <section>\n {{ GeneralBusinessRulesConstant.advertiserSeparation }}\n <i\n class=\"mdi mdi-information-outline biz-rule-icon\"\n [ngbTooltip]=\"advertiserSeparationTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>\n <section>\n <anna-design-toggle\n *ngIf=\"editMode\"\n [isToggled]=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n (toggle)=\"isAdvertiserSeparationNeededChanged()\"\n [isDisabled]=\"disableAdvertiserSeparation\"\n >\n </anna-design-toggle>\n <ng-container *ngIf=\"!editMode\">\n {{\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\n ? \"Yes\"\n : \"No\"\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.IsChanged\n \"\n ></div>\n </section>\n </td>\n <td colspan=\"2\">\n <section>\n <div\n class=\"d-flex\"\n *ngIf=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n >\n <ng-container *ngIf=\"editMode\">\n <div\n #timepickerContainer\n class=\"min-time-container\"\n [ngClass]=\"{\n 'input-error': minSeperationTimeControl.invalid\n }\"\n (click)=\"focusOnHourValue()\"\n >\n <ngb-timepicker\n #timepicker\n class=\"min-time\"\n [ngModel]=\"selectedMinSeparationTime\"\n [seconds]=\"true\"\n [spinners]=\"false\"\n [size]=\"'small'\"\n [readonlyInputs]=\"disableAdvertiserSeparation\"\n (ngModelChange)=\"updateMinSeparationTime($event)\"\n />\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules?.advertiserSeperation?.advertiserSeparationValue?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.advertiserSeparationValue?.IsChanged\n \"\n ></div>\n </div>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>4</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInOTO\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td></td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.preApproved.errors ||\n maxSpotsPerHalfAnHourInOto.controls.preApproved.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTOPreapprovedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTORRelaxedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current }}\n </ng-container>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.relaxedValidation ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.required ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr class=\"grey-bg\">\n <td class=\"valign-top\">\n <section>4a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span\n >Max spots allowed <b>per OTO Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i\n ></span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.twoHoursToThreeHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanThreeHourDuration }}\n </section>\n </td>\n <td></td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>5</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInStrip\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td></td>\n <td>\n <section class=\"half-hour-strip-section\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyPreApprovedChanged($event)\n \"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyPreApprovedChanged(\n $event\n )\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td>\n <section>\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{ generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed.Current\n }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n !maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n <tr class=\"white-bg\">\n <td class=\"valign-top\">\n <section>5a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span>\n Max spots allowed <b>per Strip Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i>\n </span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <div\n *ngIf=\"editMode\"\n class=\"empty-block-header\"\n ></div>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanTwoHoursDuration }}\n </section>\n </td>\n <td></td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 2 &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value != null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value\n .preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n !maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n !maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n !maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</section>\n\n<ng-template #halfHourRuleTooltip>\n <ul>\n <li>The values set here will determine the default limits for various program durations.</li>\n <li>\n A buffer period of up to 7 minutes is allowed in the program duration limit. For example, if a program\u2019s\n length is 1:07:00, it will be restricted to spots specified for the duration 30 min - 1 hour.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #programLimitTooltip>\n Customize max spots for various program durations to prioritize your preferences over the default half hour rule.\n</ng-template>\n\n<ng-template #disableMeasurementAgencyAndPostingTypeTooltip>\n This business rule is locked for edits because the order is no longer in the upcoming state. The selected setting\n will remain in effect for the entire flight period.\n</ng-template>\n<ng-template #valueExceedsDefaultHalfHourRule> The value exceeds the equivalent half-hour rule. </ng-template>\n\n<ng-template #needRelaxedRuleToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n</ng-template>\n\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n<ng-template #measurementAgencyTooltip>\n Specifies the audience reporting agency for posted data. The posted data and audience estimates will be mapped to\n all applicable orders and spots based on the chosen agency.\n</ng-template>\n<ng-template #postingTypeTooltip>\n <ul>\n <li>\n Live + Same Day, Live + 1, Live + 3 and Live + 7 are all ways Nielsen measures time-shifted viewing. They\n represent different windows of time after the original broadcast when Nielsen considers a viewer's\n engagement with a program to still count towards its overall audience numbers.\n </li>\n <li>\n If you choose \"Live + 1\", ANNA will consider only Live + 1 posted data for all offers, posted information\n and reports.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #advertiserSeparationTooltip>\n Specifies the minimum separation between two spots of the same advertiser.\n</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}table thead tr th.biz-rule{width:520px;min-width:520px;max-width:538px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:210px;min-width:288px;max-width:288px}::ng-deep .grey-text{color:#a7a7a7}.pt-15{margin-top:10px}.table-container::-webkit-scrollbar-track{margin-top:40px}table .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5),table tbody tr td.single-block{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}.sub-rule-info-icon{top:3px!important}.daily-weekly-container{display:flex;flex-direction:row}.daily-weekly-container div span{color:#666!important;font-size:12px!important}.read-mode-inputs .table-container table tbody tr td section{height:22px!important}.read-mode-inputs .table-container table tbody tr:last-of-type{height:82px!important}.empty-block-header{margin-top:15px}.daily-weekly-header{display:flex;flex-direction:row;gap:89px}.daily-weekly-header b{color:#4a4a4a;font-size:14px!important}.warning{border-color:#ffb300!important}.warning-icon{color:#ffb300!important;font-size:14px;margin-left:4px;cursor:pointer}input.input-error.warning{border-color:red!important}.read-mode-inputs .warning-icon{display:none!important}.read-mode-inputs .daily-weekly-header{gap:30px!important}.read-mode-inputs .pt-15{margin-top:5px!important}.read-mode-inputs .daily-weekly-container{gap:15px!important}::ng-deep .posting-type-general-rule-dropdown #dropdown-trigger{width:280px!important}.edit-mode-inputs .daily-container{width:120px}:host ::ng-deep .input-difference-icon{height:14px!important;width:14px!important}table tbody tr td div:nth-child(2){color:unset!important;font-weight:400!important;letter-spacing:normal!important}.daily-container{min-width:52px}::ng-deep .orange-background #dropdown-trigger{background-color:#f9eadd!important;border-color:#f97b07!important}table tbody tr.grey-bg td{background-color:#ededed!important}table tbody tr.white-bg td{background-color:#fff!important}@media only screen and (max-width: 1440px){.read-mode-inputs .table-container table tbody tr td section.max-spots-header{height:34px!important}}.edit-mode-inputs .table-container table tbody tr td section.half-hour-strip-section{height:46px!important}.pt-0{padding-top:0!important}.min-seperation-time-input{width:100px;display:inline-flex}.min-seperation-time-input:placeholder{color:var(--placeholder-color)}.error-icon{margin-left:4px;cursor:pointer;font-size:14px;display:inline-block}::ng-deep .min-time-container{border-radius:2px;border:1px solid #b7b7b7;height:24px;width:120px!important}::ng-deep .min-time-container.disabled{background:#d8d8d8}::ng-deep .min-time-container.disabled input{background:#d8d8d8!important}::ng-deep .min-time-container.error{border:1px solid #f44336}::ng-deep .min-time-container.error input::placeholder{color:#f44336}::ng-deep .min-time-container.error .ngb-tp-spacer{color:#f44336}::ng-deep .min-time .ngb-tp-spacer{position:relative;bottom:1px;width:3px;font-size:15px}::ng-deep .min-time .ngb-tp-input-container{width:2em;height:24px!important}::ng-deep .min-time .ngb-tp-input-container input{border:none;height:18px;min-height:18px;padding-block:0;color:#4a4a4a;padding-inline:0}::ng-deep .min-time .ngb-tp-input-container input:focus{box-shadow:none}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "component", type: i2.SingleSelectComponent, selector: "anna-design-single-select", inputs: ["config", "loading", "showAdditionalDataInSelectedText", "disabled", "items", "selectedItem", "keyToUseForDisplay", "keyToUseForCheckingSelectedItem", "hideDropdownArrow", "borderbottomObject", "defaultDropdownHeight", "itemsToHideInDropdownIds", "showClearSelection"], outputs: ["valueChanged", "dropdownClosedEvent", "dropdownOpenedEvent", "clearSelectionClickedEvent"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"], exportAs: ["ngbTimepicker"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "directive", type: i1$3.DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern", "decimalPlaces"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
3641
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GeneralRulesComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
3642
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: GeneralRulesComponent, isStandalone: true, selector: "anna-feature-biz-rules-general-rules", inputs: { disableAdvertiserSeparation: "disableAdvertiserSeparation", advertiserSeparationClonedValue: "advertiserSeparationClonedValue", generalRules: "generalRules", highlightChanges: "highlightChanges", editMode: "editMode" }, outputs: { generalRuleChange: "generalRuleChange" }, usesOnChanges: true, ngImport: i0, template: "<section\n [ngClass]=\"{\n 'highlight-changes': highlightChanges,\n 'read-mode-inputs': !editMode,\n 'edit-mode-inputs': editMode\n }\"\n>\n <anna-design-message-box [messageBoxData]=\"generalRulesMessageBoxData\"></anna-design-message-box>\n <div\n id=\"scroll-container-general\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">{{ GeneralRulesTableHeader.RULE_NUMBER }}</th>\n <th class=\"biz-rule\">{{ GeneralRulesTableHeader.BUSINESS_RULES }}</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">{{ GeneralRulesTableHeader.STANDARD_RULE }}</th>\n <th class=\"relaxed-rule\">{{ GeneralRulesTableHeader.RELAXED_RULE }}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class=\"valign-top\">\n <section>1</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.measurementAgency }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"measurementAgencyTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.measurementAgencyBizRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"measurementAgencyDropdownConfig\"\n [disabled]=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n [items]=\"generalRules.measurementAgencyBizRule.measurementAgencyDropdownData\"\n [selectedItem]=\"selectedMeasurementAgency\"\n (valueChanged)=\"onMeasurementAgencyChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedMeasurementAgency?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.measurementAgencyBizRule?.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>2</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.postingType }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"postingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.postingTypeBusinessRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"postingTypeDropdownConfig\"\n [disabled]=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n [items]=\"generalRules.postingTypeBusinessRule.postingTypesDropdownData\"\n [selectedItem]=\"selectedPostedType\"\n (valueChanged)=\"onPostingTypeChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedPostedType?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.postingTypeBusinessRule.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr class=\"advertiser-separation-row\">\n <td>3</td>\n <td>\n <section>\n {{ GeneralBusinessRulesConstant.advertiserSeparation }}\n <i\n class=\"mdi mdi-information-outline biz-rule-icon\"\n [ngbTooltip]=\"advertiserSeparationTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>\n <section>\n <anna-design-toggle\n *ngIf=\"editMode\"\n [isToggled]=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n (toggle)=\"isAdvertiserSeparationNeededChanged()\"\n [isDisabled]=\"disableAdvertiserSeparation\"\n >\n </anna-design-toggle>\n <ng-container *ngIf=\"!editMode\">\n {{\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\n ? \"Yes\"\n : \"No\"\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.IsChanged\n \"\n ></div>\n </section>\n </td>\n <td colspan=\"2\">\n <section>\n <div\n class=\"d-flex\"\n *ngIf=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n >\n <ng-container *ngIf=\"editMode\">\n <div\n #timepickerContainer\n class=\"min-time-container\"\n [ngClass]=\"{\n 'input-error': minSeperationTimeControl.invalid\n }\"\n (click)=\"focusOnHourValue()\"\n >\n <ngb-timepicker\n #timepicker\n class=\"min-time\"\n [ngModel]=\"selectedMinSeparationTime\"\n [seconds]=\"true\"\n [spinners]=\"false\"\n [size]=\"'small'\"\n [readonlyInputs]=\"disableAdvertiserSeparation\"\n (ngModelChange)=\"updateMinSeparationTime($event)\"\n />\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules?.advertiserSeperation?.advertiserSeparationValue?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.advertiserSeparationValue?.IsChanged\n \"\n ></div>\n </div>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>4</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInOTO\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.preApproved.errors ||\n maxSpotsPerHalfAnHourInOto.controls.preApproved.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTOPreapprovedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTORRelaxedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current }}\n </ng-container>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.relaxedValidation ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.required ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr class=\"grey-bg\">\n <td class=\"valign-top\">\n <section>4a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span\n >Max spots allowed <b>per OTO Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i\n ></span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.twoHoursToThreeHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanThreeHourDuration }}\n </section>\n </td>\n <td>-</td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>5</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInStrip\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td>\n <section class=\"half-hour-strip-section\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyPreApprovedChanged($event)\n \"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyPreApprovedChanged(\n $event\n )\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td>\n <section>\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{ generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed.Current\n }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n !maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n <tr class=\"white-bg\">\n <td class=\"valign-top\">\n <section>5a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span>\n Max spots allowed <b>per Strip Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i>\n </span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <div\n *ngIf=\"editMode\"\n class=\"empty-block-header\"\n ></div>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanTwoHoursDuration }}\n </section>\n </td>\n <td>-</td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 2 &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value != null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value\n .preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n !maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n !maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n !maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</section>\n\n<ng-template #halfHourRuleTooltip>\n <ul>\n <li>The values set here will determine the default limits for various program durations.</li>\n <li>\n A buffer period of up to 7 minutes is allowed in the program duration limit. For example, if a program\u2019s\n length is 1:07:00, it will be restricted to spots specified for the duration 30 min - 1 hour.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #programLimitTooltip>\n Customize max spots for various program durations to prioritize your preferences over the default half hour rule.\n</ng-template>\n\n<ng-template #disableMeasurementAgencyAndPostingTypeTooltip>\n This business rule is locked for edits because the order is no longer in the upcoming state. The selected setting\n will remain in effect for the entire flight period.\n</ng-template>\n<ng-template #valueExceedsDefaultHalfHourRule> The value exceeds the equivalent half-hour rule. </ng-template>\n\n<ng-template #needRelaxedRuleToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n</ng-template>\n\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n<ng-template #measurementAgencyTooltip>\n Specifies the audience reporting agency for posted data. The posted data and audience estimates will be mapped to\n all applicable orders and spots based on the chosen agency.\n</ng-template>\n<ng-template #postingTypeTooltip>\n <ul>\n <li>\n Live + Same Day, Live + 1, Live + 3 and Live + 7 are all ways Nielsen measures time-shifted viewing. They\n represent different windows of time after the original broadcast when Nielsen considers a viewer's\n engagement with a program to still count towards its overall audience numbers.\n </li>\n <li>\n If you choose \"Live + 1\", ANNA will consider only Live + 1 posted data for all offers, posted information\n and reports.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #advertiserSeparationTooltip>\n Specifies the minimum separation between two spots of the same advertiser.\n</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}table thead tr th.biz-rule{width:520px;min-width:520px;max-width:538px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:210px;min-width:288px;max-width:288px}::ng-deep .grey-text{color:#a7a7a7}.pt-15{margin-top:10px}.table-container::-webkit-scrollbar-track{margin-top:40px}table .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5),table tbody tr td.single-block{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}.sub-rule-info-icon{top:3px!important}.daily-weekly-container{display:flex;flex-direction:row}.daily-weekly-container div span{color:#666!important;font-size:12px!important}.read-mode-inputs .table-container table tbody tr td section{height:22px!important}.read-mode-inputs .table-container table tbody tr:last-of-type{height:82px!important}.empty-block-header{margin-top:15px}.daily-weekly-header{display:flex;flex-direction:row;gap:89px}.daily-weekly-header b{color:#4a4a4a;font-size:14px!important}.warning{border-color:#ffb300!important}.warning-icon{color:#ffb300!important;font-size:14px;margin-left:4px;cursor:pointer}input.input-error.warning{border-color:red!important}.read-mode-inputs .warning-icon{display:none!important}.read-mode-inputs .daily-weekly-header{gap:30px!important}.read-mode-inputs .pt-15{margin-top:5px!important}.read-mode-inputs .daily-weekly-container{gap:15px!important}::ng-deep .posting-type-general-rule-dropdown #dropdown-trigger{width:280px!important}.edit-mode-inputs .daily-container{width:120px}:host ::ng-deep .input-difference-icon{height:14px!important;width:14px!important}table tbody tr td div:nth-child(2){color:unset!important;font-weight:400!important;letter-spacing:normal!important}.daily-container{min-width:52px}::ng-deep .orange-background #dropdown-trigger{background-color:#f9eadd!important;border-color:#f97b07!important}table tbody tr.grey-bg td{background-color:#ededed!important}table tbody tr.white-bg td{background-color:#fff!important}@media only screen and (max-width: 1440px){.read-mode-inputs .table-container table tbody tr td section.max-spots-header{height:34px!important}}.edit-mode-inputs .table-container table tbody tr td section.half-hour-strip-section{height:46px!important}.pt-0{padding-top:0!important}.min-seperation-time-input{width:100px;display:inline-flex}.min-seperation-time-input:placeholder{color:var(--placeholder-color)}.error-icon{margin-left:4px;cursor:pointer;font-size:14px;display:inline-block}::ng-deep .min-time-container{border-radius:2px;border:1px solid #b7b7b7;height:24px;width:120px!important}::ng-deep .min-time-container.disabled{background:#d8d8d8}::ng-deep .min-time-container.disabled input{background:#d8d8d8!important}::ng-deep .min-time-container.error{border:1px solid #f44336}::ng-deep .min-time-container.error input::placeholder{color:#f44336}::ng-deep .min-time-container.error .ngb-tp-spacer{color:#f44336}::ng-deep .min-time .ngb-tp-spacer{position:relative;bottom:1px;width:3px;font-size:15px}::ng-deep .min-time .ngb-tp-input-container{width:2em;height:24px!important}::ng-deep .min-time .ngb-tp-input-container input{border:none;height:18px;min-height:18px;padding-block:0;color:#4a4a4a;padding-inline:0}::ng-deep .min-time .ngb-tp-input-container input:focus{box-shadow:none}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "component", type: i2.SingleSelectComponent, selector: "anna-design-single-select", inputs: ["config", "loading", "showAdditionalDataInSelectedText", "disabled", "items", "selectedItem", "keyToUseForDisplay", "keyToUseForCheckingSelectedItem", "hideDropdownArrow", "borderbottomObject", "defaultDropdownHeight", "itemsToHideInDropdownIds", "showClearSelection"], outputs: ["valueChanged", "dropdownClosedEvent", "dropdownOpenedEvent", "clearSelectionClickedEvent"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "component", type: NgbTimepicker, selector: "ngb-timepicker", inputs: ["meridian", "spinners", "seconds", "hourStep", "minuteStep", "secondStep", "readonlyInputs", "size"], exportAs: ["ngbTimepicker"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "directive", type: i1$3.DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern", "decimalPlaces"] }], changeDetection: i0.ChangeDetectionStrategy.Default }); }
3643
3643
  }
3644
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: GeneralRulesComponent, decorators: [{
3644
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: GeneralRulesComponent, decorators: [{
3645
3645
  type: Component,
3646
3646
  args: [{ selector: "anna-feature-biz-rules-general-rules", changeDetection: ChangeDetectionStrategy.Default, imports: [
3647
3647
  NgClass,
@@ -3654,7 +3654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImpo
3654
3654
  FormsModule,
3655
3655
  ReactiveFormsModule,
3656
3656
  AnnaCoreModule,
3657
- ], template: "<section\n [ngClass]=\"{\n 'highlight-changes': highlightChanges,\n 'read-mode-inputs': !editMode,\n 'edit-mode-inputs': editMode\n }\"\n>\n <anna-design-message-box [messageBoxData]=\"generalRulesMessageBoxData\"></anna-design-message-box>\n <div\n id=\"scroll-container-general\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">{{ GeneralRulesTableHeader.RULE_NUMBER }}</th>\n <th class=\"biz-rule\">{{ GeneralRulesTableHeader.BUSINESS_RULES }}</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">{{ GeneralRulesTableHeader.STANDARD_RULE }}</th>\n <th class=\"relaxed-rule\">{{ GeneralRulesTableHeader.RELAXED_RULE }}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class=\"valign-top\">\n <section>1</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.measurementAgency }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"measurementAgencyTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td></td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.measurementAgencyBizRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"measurementAgencyDropdownConfig\"\n [disabled]=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n [items]=\"generalRules.measurementAgencyBizRule.measurementAgencyDropdownData\"\n [selectedItem]=\"selectedMeasurementAgency\"\n (valueChanged)=\"onMeasurementAgencyChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedMeasurementAgency?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.measurementAgencyBizRule?.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>2</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.postingType }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"postingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td></td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.postingTypeBusinessRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"postingTypeDropdownConfig\"\n [disabled]=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n [items]=\"generalRules.postingTypeBusinessRule.postingTypesDropdownData\"\n [selectedItem]=\"selectedPostedType\"\n (valueChanged)=\"onPostingTypeChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedPostedType?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.postingTypeBusinessRule.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr class=\"advertiser-separation-row\">\n <td>3</td>\n <td>\n <section>\n {{ GeneralBusinessRulesConstant.advertiserSeparation }}\n <i\n class=\"mdi mdi-information-outline biz-rule-icon\"\n [ngbTooltip]=\"advertiserSeparationTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>\n <section>\n <anna-design-toggle\n *ngIf=\"editMode\"\n [isToggled]=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n (toggle)=\"isAdvertiserSeparationNeededChanged()\"\n [isDisabled]=\"disableAdvertiserSeparation\"\n >\n </anna-design-toggle>\n <ng-container *ngIf=\"!editMode\">\n {{\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\n ? \"Yes\"\n : \"No\"\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.IsChanged\n \"\n ></div>\n </section>\n </td>\n <td colspan=\"2\">\n <section>\n <div\n class=\"d-flex\"\n *ngIf=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n >\n <ng-container *ngIf=\"editMode\">\n <div\n #timepickerContainer\n class=\"min-time-container\"\n [ngClass]=\"{\n 'input-error': minSeperationTimeControl.invalid\n }\"\n (click)=\"focusOnHourValue()\"\n >\n <ngb-timepicker\n #timepicker\n class=\"min-time\"\n [ngModel]=\"selectedMinSeparationTime\"\n [seconds]=\"true\"\n [spinners]=\"false\"\n [size]=\"'small'\"\n [readonlyInputs]=\"disableAdvertiserSeparation\"\n (ngModelChange)=\"updateMinSeparationTime($event)\"\n />\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules?.advertiserSeperation?.advertiserSeparationValue?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.advertiserSeparationValue?.IsChanged\n \"\n ></div>\n </div>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>4</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInOTO\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td></td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.preApproved.errors ||\n maxSpotsPerHalfAnHourInOto.controls.preApproved.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTOPreapprovedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTORRelaxedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current }}\n </ng-container>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.relaxedValidation ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.required ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr class=\"grey-bg\">\n <td class=\"valign-top\">\n <section>4a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span\n >Max spots allowed <b>per OTO Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i\n ></span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.twoHoursToThreeHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanThreeHourDuration }}\n </section>\n </td>\n <td></td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>5</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInStrip\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td></td>\n <td>\n <section class=\"half-hour-strip-section\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyPreApprovedChanged($event)\n \"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyPreApprovedChanged(\n $event\n )\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td>\n <section>\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{ generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed.Current\n }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n !maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n <tr class=\"white-bg\">\n <td class=\"valign-top\">\n <section>5a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span>\n Max spots allowed <b>per Strip Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i>\n </span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <div\n *ngIf=\"editMode\"\n class=\"empty-block-header\"\n ></div>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanTwoHoursDuration }}\n </section>\n </td>\n <td></td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 2 &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value != null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value\n .preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n !maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n !maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n !maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</section>\n\n<ng-template #halfHourRuleTooltip>\n <ul>\n <li>The values set here will determine the default limits for various program durations.</li>\n <li>\n A buffer period of up to 7 minutes is allowed in the program duration limit. For example, if a program\u2019s\n length is 1:07:00, it will be restricted to spots specified for the duration 30 min - 1 hour.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #programLimitTooltip>\n Customize max spots for various program durations to prioritize your preferences over the default half hour rule.\n</ng-template>\n\n<ng-template #disableMeasurementAgencyAndPostingTypeTooltip>\n This business rule is locked for edits because the order is no longer in the upcoming state. The selected setting\n will remain in effect for the entire flight period.\n</ng-template>\n<ng-template #valueExceedsDefaultHalfHourRule> The value exceeds the equivalent half-hour rule. </ng-template>\n\n<ng-template #needRelaxedRuleToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n</ng-template>\n\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n<ng-template #measurementAgencyTooltip>\n Specifies the audience reporting agency for posted data. The posted data and audience estimates will be mapped to\n all applicable orders and spots based on the chosen agency.\n</ng-template>\n<ng-template #postingTypeTooltip>\n <ul>\n <li>\n Live + Same Day, Live + 1, Live + 3 and Live + 7 are all ways Nielsen measures time-shifted viewing. They\n represent different windows of time after the original broadcast when Nielsen considers a viewer's\n engagement with a program to still count towards its overall audience numbers.\n </li>\n <li>\n If you choose \"Live + 1\", ANNA will consider only Live + 1 posted data for all offers, posted information\n and reports.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #advertiserSeparationTooltip>\n Specifies the minimum separation between two spots of the same advertiser.\n</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}table thead tr th.biz-rule{width:520px;min-width:520px;max-width:538px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:210px;min-width:288px;max-width:288px}::ng-deep .grey-text{color:#a7a7a7}.pt-15{margin-top:10px}.table-container::-webkit-scrollbar-track{margin-top:40px}table .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5),table tbody tr td.single-block{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}.sub-rule-info-icon{top:3px!important}.daily-weekly-container{display:flex;flex-direction:row}.daily-weekly-container div span{color:#666!important;font-size:12px!important}.read-mode-inputs .table-container table tbody tr td section{height:22px!important}.read-mode-inputs .table-container table tbody tr:last-of-type{height:82px!important}.empty-block-header{margin-top:15px}.daily-weekly-header{display:flex;flex-direction:row;gap:89px}.daily-weekly-header b{color:#4a4a4a;font-size:14px!important}.warning{border-color:#ffb300!important}.warning-icon{color:#ffb300!important;font-size:14px;margin-left:4px;cursor:pointer}input.input-error.warning{border-color:red!important}.read-mode-inputs .warning-icon{display:none!important}.read-mode-inputs .daily-weekly-header{gap:30px!important}.read-mode-inputs .pt-15{margin-top:5px!important}.read-mode-inputs .daily-weekly-container{gap:15px!important}::ng-deep .posting-type-general-rule-dropdown #dropdown-trigger{width:280px!important}.edit-mode-inputs .daily-container{width:120px}:host ::ng-deep .input-difference-icon{height:14px!important;width:14px!important}table tbody tr td div:nth-child(2){color:unset!important;font-weight:400!important;letter-spacing:normal!important}.daily-container{min-width:52px}::ng-deep .orange-background #dropdown-trigger{background-color:#f9eadd!important;border-color:#f97b07!important}table tbody tr.grey-bg td{background-color:#ededed!important}table tbody tr.white-bg td{background-color:#fff!important}@media only screen and (max-width: 1440px){.read-mode-inputs .table-container table tbody tr td section.max-spots-header{height:34px!important}}.edit-mode-inputs .table-container table tbody tr td section.half-hour-strip-section{height:46px!important}.pt-0{padding-top:0!important}.min-seperation-time-input{width:100px;display:inline-flex}.min-seperation-time-input:placeholder{color:var(--placeholder-color)}.error-icon{margin-left:4px;cursor:pointer;font-size:14px;display:inline-block}::ng-deep .min-time-container{border-radius:2px;border:1px solid #b7b7b7;height:24px;width:120px!important}::ng-deep .min-time-container.disabled{background:#d8d8d8}::ng-deep .min-time-container.disabled input{background:#d8d8d8!important}::ng-deep .min-time-container.error{border:1px solid #f44336}::ng-deep .min-time-container.error input::placeholder{color:#f44336}::ng-deep .min-time-container.error .ngb-tp-spacer{color:#f44336}::ng-deep .min-time .ngb-tp-spacer{position:relative;bottom:1px;width:3px;font-size:15px}::ng-deep .min-time .ngb-tp-input-container{width:2em;height:24px!important}::ng-deep .min-time .ngb-tp-input-container input{border:none;height:18px;min-height:18px;padding-block:0;color:#4a4a4a;padding-inline:0}::ng-deep .min-time .ngb-tp-input-container input:focus{box-shadow:none}\n"] }]
3657
+ ], template: "<section\n [ngClass]=\"{\n 'highlight-changes': highlightChanges,\n 'read-mode-inputs': !editMode,\n 'edit-mode-inputs': editMode\n }\"\n>\n <anna-design-message-box [messageBoxData]=\"generalRulesMessageBoxData\"></anna-design-message-box>\n <div\n id=\"scroll-container-general\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">{{ GeneralRulesTableHeader.RULE_NUMBER }}</th>\n <th class=\"biz-rule\">{{ GeneralRulesTableHeader.BUSINESS_RULES }}</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">{{ GeneralRulesTableHeader.STANDARD_RULE }}</th>\n <th class=\"relaxed-rule\">{{ GeneralRulesTableHeader.RELAXED_RULE }}</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td class=\"valign-top\">\n <section>1</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.measurementAgency }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"measurementAgencyTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.measurementAgencyBizRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"measurementAgencyDropdownConfig\"\n [disabled]=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n [items]=\"generalRules.measurementAgencyBizRule.measurementAgencyDropdownData\"\n [selectedItem]=\"selectedMeasurementAgency\"\n (valueChanged)=\"onMeasurementAgencyChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.measurementAgencyBizRule.disableMeasurementAgencyDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedMeasurementAgency?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.measurementAgencyBizRule?.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>2</section>\n </td>\n <td class=\"valign-top\">\n <section>\n {{ GeneralBusinessRulesConstant.postingType }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"postingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td\n class=\"valign-top\"\n colspan=\"2\"\n class=\"single-block\"\n >\n <section>\n <ng-container *ngIf=\"editMode\">\n <anna-design-single-select\n [ngClass]=\"{\n 'orange-background':\n highlightChanges && generalRules.postingTypeBusinessRule.isChanged\n }\"\n class=\"posting-type-general-rule-dropdown\"\n [config]=\"postingTypeDropdownConfig\"\n [disabled]=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n [items]=\"generalRules.postingTypeBusinessRule.postingTypesDropdownData\"\n [selectedItem]=\"selectedPostedType\"\n (valueChanged)=\"onPostingTypeChanged($event)\"\n ></anna-design-single-select>\n <i\n *ngIf=\"generalRules.postingTypeBusinessRule.disablePostingTypeDropdown\"\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"disableMeasurementAgencyAndPostingTypeTooltip\"\n placement=\"auto\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ selectedPostedType?.text }}\n </ng-container>\n <ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"highlightChanges && generalRules.postingTypeBusinessRule.isChanged\"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n <tr class=\"advertiser-separation-row\">\n <td>3</td>\n <td>\n <section>\n {{ GeneralBusinessRulesConstant.advertiserSeparation }}\n <i\n class=\"mdi mdi-information-outline biz-rule-icon\"\n [ngbTooltip]=\"advertiserSeparationTooltip\"\n placement=\"auto\"\n ></i>\n </section>\n </td>\n <td>\n <section>\n <anna-design-toggle\n *ngIf=\"editMode\"\n [isToggled]=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n (toggle)=\"isAdvertiserSeparationNeededChanged()\"\n [isDisabled]=\"disableAdvertiserSeparation\"\n >\n </anna-design-toggle>\n <ng-container *ngIf=\"!editMode\">\n {{\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\n ? \"Yes\"\n : \"No\"\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.IsChanged\n \"\n ></div>\n </section>\n </td>\n <td colspan=\"2\">\n <section>\n <div\n class=\"d-flex\"\n *ngIf=\"generalRules?.advertiserSeperation?.isAdvertiserSeparationNeeded?.Current\"\n >\n <ng-container *ngIf=\"editMode\">\n <div\n #timepickerContainer\n class=\"min-time-container\"\n [ngClass]=\"{\n 'input-error': minSeperationTimeControl.invalid\n }\"\n (click)=\"focusOnHourValue()\"\n >\n <ngb-timepicker\n #timepicker\n class=\"min-time\"\n [ngModel]=\"selectedMinSeparationTime\"\n [seconds]=\"true\"\n [spinners]=\"false\"\n [size]=\"'small'\"\n [readonlyInputs]=\"disableAdvertiserSeparation\"\n (ngModelChange)=\"updateMinSeparationTime($event)\"\n />\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules?.advertiserSeperation?.advertiserSeparationValue?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules?.advertiserSeperation?.advertiserSeparationValue?.IsChanged\n \"\n ></div>\n </div>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>4</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInOTO\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.preApproved.errors ||\n maxSpotsPerHalfAnHourInOto.controls.preApproved.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTOPreapprovedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td>\n <section>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInOto\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n (input)=\"onMaxSpotsAllowedPerHalfAnHourInOTORRelaxedChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current }}\n </ng-container>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.relaxedValidation ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.required ||\n maxSpotsPerHalfAnHourInOto.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr class=\"grey-bg\">\n <td class=\"valign-top\">\n <section>4a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span\n >Max spots allowed <b>per OTO Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i\n ></span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.twoHoursToThreeHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanThreeHourDuration }}\n </section>\n </td>\n <td>-</td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved\n .Current *\n 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.preApproved.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.preApproved.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n <td class=\"valign-top\">\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForHalfHourToOneHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForHalfHourToOneHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.halfHourToOneHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForOneHourToTwoHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForOneHourToTwoHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.oneHourToTwoHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForTwoHoursToThreeHours\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed\n .IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value ==\n null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForTwoHoursToThreeHours.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.twoHoursToThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n <section class=\"pt-15\">\n <form [formGroup]=\"maxSpotsPerOTOProgForMoreThanThreeHour\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value == null,\n warning:\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n {{ generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.Current >\n generalRules.maxSpotsAllowedInOTO.perHalfAnHour.relaxed.Current * 8\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.required ||\n maxSpotsPerOTOProgForMoreThanThreeHour.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"needRelaxedRuleToBeGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInOTO.moreThanThreeHours.relaxed.IsChanged\n \"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>5</section>\n </td>\n\n <td class=\"valign-top\">\n <section>\n <span [innerHTML]=\"GeneralBusinessRulesConstant.maxSpotsPerHalfHourInStrip\"></span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"halfHourRuleTooltip\"\n placement=\"top\"\n ></i>\n </section>\n </td>\n <td>-</td>\n <td>\n <section class=\"half-hour-strip-section\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyPreApprovedChanged($event)\n \"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.preApproved\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyPreApprovedChanged(\n $event\n )\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current\n }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily?.value.preApproved >\n maxSpotsPerHalfAnHourInStripProgramWeekly?.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td>\n <section>\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <span *ngIf=\"editMode\">Daily</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripDailyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed\n .value == null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{ generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.Current }}\n </ng-container>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerHalfAnHourInStripProgramDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed.IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <span *ngIf=\"editMode\">Weekly</span>\n <form [formGroup]=\"maxSpotsPerHalfAnHourInStripProgramWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n class=\"form-control\"\n type=\"number\"\n (input)=\"\n onMaxSpotsAllowedPerHalfAnHourInStripWeeklyRelaxedChanged($event)\n \"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged,\n 'input-error':\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .errors ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed.Current\n }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n !maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerHalfAnHourInStripProgramDaily.value.relaxed >\n maxSpotsPerHalfAnHourInStripProgramWeekly.value.relaxed &&\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerHalfAnHourInStripProgramWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n <tr class=\"white-bg\">\n <td class=\"valign-top\">\n <section>5a.</section>\n </td>\n\n <td class=\"valign-top\">\n <section class=\"max-spots-header\">\n <span>\n Max spots allowed <b>per Strip Program</b> for the following durations\n <span class=\"grey-text\">(includes booked spots, MG and ADU offers)</span>\n <i\n class=\"mi mdi-info-outline biz-rule-icon sub-rule-info-icon\"\n [ngbTooltip]=\"programLimitTooltip\"\n placement=\"top\"\n ></i>\n </span>\n </section>\n </td>\n <td></td>\n <td\n colspan=\"2\"\n class=\"single-block\"\n >\n <section class=\"empty-block\"></section>\n </td>\n </tr>\n <tr>\n <td>\n <section class=\"empty-block\"></section>\n </td>\n\n <td class=\"valign-top\">\n <div\n *ngIf=\"editMode\"\n class=\"empty-block-header\"\n ></div>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.thirtyMinToOneHourDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.oneHourToTwoHoursDuration }}\n </section>\n <section class=\"pl-16 pt-15\">\n {{ GeneralBusinessRulesConstant.moreThanTwoHoursDuration }}\n </section>\n </td>\n <td>-</td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.IsChanged,\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 2 &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved\n .value != null\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current\n }}\n </ng-container>\n\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.preApproved >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value\n .preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.preApproved >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .preApproved.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .preApproved.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.preApproved.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.preApproved\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.preApproved >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.preApproved\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.preApproved\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n </div>\n </section>\n </td>\n <td class=\"pt-0\">\n <div\n *ngIf=\"editMode\"\n class=\"daily-weekly-header\"\n >\n <b>Daily</b>\n <b>Weekly</b>\n </div>\n\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForHalfHourToOneHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForHalfHourToOneHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripHalfHourToOneHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 2\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 2\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.halfHourToOneHour.relaxed\n .IsChanged\n \"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n !maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForHalfHourToOneHourDaily.value.relaxed >\n maxSpotsPerStripHalfHourToOneHourWeekly.value.relaxed &&\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripHalfHourToOneHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForOneHourToTwoHoursWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 4\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 4\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.oneHourToTwoHour.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n !maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForOneHourToTwoHoursDaily.value.relaxed >\n maxSpotsPerStripForOneHourToTwoHoursWeekly.value.relaxed &&\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.min ||\n maxSpotsPerStripForOneHourToTwoHoursWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n <section class=\"pt-15\">\n <div class=\"daily-weekly-container\">\n <div class=\"daily-container\">\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourDaily\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed\n .value == null,\n warning:\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Daily:\n {{\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripDaily.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.relaxedValidation ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors\n ?.required ||\n maxSpotsPerStripForMoreThanTwoHourDaily.controls.relaxed.errors?.min\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"dailyBuyerApprovalGreater\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripDaily.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n </form>\n </div>\n <div>\n <form [formGroup]=\"maxSpotsPerStripForMoreThanTwoHourWeekly\">\n <ng-container *ngIf=\"editMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n class=\"form-control\"\n type=\"number\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.IsChanged,\n\n 'input-error':\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .errors ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed\n .value == null ||\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed,\n warning:\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours\n .relaxed.Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour\n .relaxed.Current *\n 6\n }\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"!editMode\">\n Weekly:\n {{\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current\n }}\n </ng-container>\n <i\n class=\"mdi warning-icon mdi-alert\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.value &&\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .Current >\n generalRules.maxSpotsAllowedInStripWeekly.perHalfAnHour.relaxed\n .Current *\n 6\n \"\n placement=\"top auto\"\n container=\"body\"\n [ngbTooltip]=\"valueExceedsDefaultHalfHourRule\"\n ></i>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n highlightChanges &&\n generalRules.maxSpotsAllowedInStripWeekly.moreThanTwoHours.relaxed\n .IsChanged\n \"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n !maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation\n \"\n [ngbTooltip]=\"weeklyValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation &&\n !(\n maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed\n )\n \"\n [ngbTooltip]=\"weeklyNeedBuyerApprovalValueGreaterThanDaily\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n (maxSpotsPerStripForMoreThanTwoHourDaily.value.relaxed >\n maxSpotsPerStripForMoreThanTwoHourWeekly.value.relaxed &&\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.relaxedValidation) ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors?.min ||\n maxSpotsPerStripForMoreThanTwoHourWeekly.controls.relaxed.errors\n ?.required\n \"\n [ngbTooltip]=\"\n weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily\n \"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </div>\n </div>\n </section>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</section>\n\n<ng-template #halfHourRuleTooltip>\n <ul>\n <li>The values set here will determine the default limits for various program durations.</li>\n <li>\n A buffer period of up to 7 minutes is allowed in the program duration limit. For example, if a program\u2019s\n length is 1:07:00, it will be restricted to spots specified for the duration 30 min - 1 hour.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #programLimitTooltip>\n Customize max spots for various program durations to prioritize your preferences over the default half hour rule.\n</ng-template>\n\n<ng-template #disableMeasurementAgencyAndPostingTypeTooltip>\n This business rule is locked for edits because the order is no longer in the upcoming state. The selected setting\n will remain in effect for the entire flight period.\n</ng-template>\n<ng-template #valueExceedsDefaultHalfHourRule> The value exceeds the equivalent half-hour rule. </ng-template>\n\n<ng-template #needRelaxedRuleToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n</ng-template>\n\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n<ng-template #measurementAgencyTooltip>\n Specifies the audience reporting agency for posted data. The posted data and audience estimates will be mapped to\n all applicable orders and spots based on the chosen agency.\n</ng-template>\n<ng-template #postingTypeTooltip>\n <ul>\n <li>\n Live + Same Day, Live + 1, Live + 3 and Live + 7 are all ways Nielsen measures time-shifted viewing. They\n represent different windows of time after the original broadcast when Nielsen considers a viewer's\n engagement with a program to still count towards its overall audience numbers.\n </li>\n <li>\n If you choose \"Live + 1\", ANNA will consider only Live + 1 posted data for all offers, posted information\n and reports.\n </li>\n </ul>\n</ng-template>\n\n<ng-template #advertiserSeparationTooltip>\n Specifies the minimum separation between two spots of the same advertiser.\n</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}table thead tr th.biz-rule{width:520px;min-width:520px;max-width:538px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:210px;min-width:288px;max-width:288px}::ng-deep .grey-text{color:#a7a7a7}.pt-15{margin-top:10px}.table-container::-webkit-scrollbar-track{margin-top:40px}table .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5),table tbody tr td.single-block{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}.sub-rule-info-icon{top:3px!important}.daily-weekly-container{display:flex;flex-direction:row}.daily-weekly-container div span{color:#666!important;font-size:12px!important}.read-mode-inputs .table-container table tbody tr td section{height:22px!important}.read-mode-inputs .table-container table tbody tr:last-of-type{height:82px!important}.empty-block-header{margin-top:15px}.daily-weekly-header{display:flex;flex-direction:row;gap:89px}.daily-weekly-header b{color:#4a4a4a;font-size:14px!important}.warning{border-color:#ffb300!important}.warning-icon{color:#ffb300!important;font-size:14px;margin-left:4px;cursor:pointer}input.input-error.warning{border-color:red!important}.read-mode-inputs .warning-icon{display:none!important}.read-mode-inputs .daily-weekly-header{gap:30px!important}.read-mode-inputs .pt-15{margin-top:5px!important}.read-mode-inputs .daily-weekly-container{gap:15px!important}::ng-deep .posting-type-general-rule-dropdown #dropdown-trigger{width:280px!important}.edit-mode-inputs .daily-container{width:120px}:host ::ng-deep .input-difference-icon{height:14px!important;width:14px!important}table tbody tr td div:nth-child(2){color:unset!important;font-weight:400!important;letter-spacing:normal!important}.daily-container{min-width:52px}::ng-deep .orange-background #dropdown-trigger{background-color:#f9eadd!important;border-color:#f97b07!important}table tbody tr.grey-bg td{background-color:#ededed!important}table tbody tr.white-bg td{background-color:#fff!important}@media only screen and (max-width: 1440px){.read-mode-inputs .table-container table tbody tr td section.max-spots-header{height:34px!important}}.edit-mode-inputs .table-container table tbody tr td section.half-hour-strip-section{height:46px!important}.pt-0{padding-top:0!important}.min-seperation-time-input{width:100px;display:inline-flex}.min-seperation-time-input:placeholder{color:var(--placeholder-color)}.error-icon{margin-left:4px;cursor:pointer;font-size:14px;display:inline-block}::ng-deep .min-time-container{border-radius:2px;border:1px solid #b7b7b7;height:24px;width:120px!important}::ng-deep .min-time-container.disabled{background:#d8d8d8}::ng-deep .min-time-container.disabled input{background:#d8d8d8!important}::ng-deep .min-time-container.error{border:1px solid #f44336}::ng-deep .min-time-container.error input::placeholder{color:#f44336}::ng-deep .min-time-container.error .ngb-tp-spacer{color:#f44336}::ng-deep .min-time .ngb-tp-spacer{position:relative;bottom:1px;width:3px;font-size:15px}::ng-deep .min-time .ngb-tp-input-container{width:2em;height:24px!important}::ng-deep .min-time .ngb-tp-input-container input{border:none;height:18px;min-height:18px;padding-block:0;color:#4a4a4a;padding-inline:0}::ng-deep .min-time .ngb-tp-input-container input:focus{box-shadow:none}\n"] }]
3658
3658
  }], ctorParameters: () => [{ type: i1$3.AnnaGlobalConfigService }], propDecorators: { disableAdvertiserSeparation: [{
3659
3659
  type: Input
3660
3660
  }], advertiserSeparationClonedValue: [{
@@ -4070,10 +4070,10 @@ class MakeGoodRulesComponent {
4070
4070
  elements[0].remove();
4071
4071
  }
4072
4072
  }
4073
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: MakeGoodRulesComponent, deps: [{ token: i1$1.FormBuilder }, { token: BusinessRuleCommonSIBILogicService }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4074
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: MakeGoodRulesComponent, isStandalone: true, selector: "anna-feature-biz-rules-make-good-rules", inputs: { makeGoodValue: "makeGoodValue", isDisabled: "isDisabled", highlightChanges: "highlightChanges", editMode: "editMode", hideRulesTooltipInfo: "hideRulesTooltipInfo", mgTabSelected: "mgTabSelected", minimumSeparation: "minimumSeparation", businessRulePageType: "businessRulePageType", isTrafficAnnaOrder: "isTrafficAnnaOrder", showMinimumSeparationInMessage: "showMinimumSeparationInMessage" }, outputs: { makeGoodValueChange: "makeGoodValueChange" }, usesOnChanges: true, ngImport: i0, template: "<article\n [ngClass]=\"{\n 'read-mode-inputs': readMode,\n 'edit-mode-inputs': !readMode,\n 'highlight-changes': highlightChanges,\n 'disable-highlight-changes': !highlightChanges,\n 'hide-tooltip': hideRulesTooltipInfo\n }\"\n>\n <!-- WILL SHOW input-difference-icon only if highlightChanges is true -->\n\n <anna-design-message-box\n *ngIf=\"!hideRulesTooltipInfo\"\n [messageBoxData]=\"aduAndMgMessageData\"\n ></anna-design-message-box>\n <div\n id=\"scroll-container-mg\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">RULE#</th>\n <th class=\"biz-rule\">BUSINESS RULES</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">STANDARD RULE</th>\n <th class=\"relaxed-rule\">RELAXED RULE</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>1</td>\n <td>\n {{ informationPool.generateMGsForUnresolvedSpots.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"informationPool?.generateMGsForUnresolvedSpots.tooltip\"\n #t=\"ngbTooltip\"\n container=\"body\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled || makeGoodValue?.disableGenerateMgsForUnresolvedSpotsToggle\"\n [isToggled]=\"makeGoodValue?.generateMgsForUnresolvedSpots?.Current\"\n (toggle)=\"generateMgsForUnresolvedSpots()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.generateMgsForUnresolvedSpots?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.generateMgsForUnresolvedSpots?.IsChanged\"\n ></div>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n\n <tr>\n <td>2</td>\n <td id=\"mg-table-first-row\">\n {{ informationPool.allowedMg.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedMg\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.allowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.allowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.allowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.allowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\"\n [errorInPriorityDropdown]=\"makeGoodValue?.allowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n\n <tr>\n <td>3</td>\n <td>\n {{ informationPool.mgTimeWindow.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"mgTimeWindow\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n *ngIf=\"makeGoodValue?.timeWindow.preApproved\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.timeWindow?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.timeWindow?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.timeWindow.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"makeGoodValue?.timeWindow?.relaxed\"\n (highPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n *ngIf=\"makeGoodValue?.timeWindow.preApproved\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.timeWindow?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.timeWindow?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.timeWindow.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"makeGoodValue?.timeWindow?.relaxed\"\n (highPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n [errorInPriorityDropdown]=\"makeGoodValue?.timeWindow.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n\n <tr>\n <td class=\"valign-top\">\n <section>4</section>\n </td>\n <td>\n <section>Allowed days for MGs</section>\n <section class=\"pl-16\">\n {{ informationPool.allowedDays1.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedDays1\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section class=\"pl-16\">\n {{ informationPool.allowedDays2.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedDays2\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isWeekdayAllowedOnWeekends?.Current\"\n (toggle)=\"allowWeekdayOnWeekends($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isWeekdayAllowedOnWeekends?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isWeekdayAllowedOnWeekends?.IsChanged\"\n ></div>\n </section>\n\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isWeekdendAllowedOnWeekdays?.Current\"\n (toggle)=\"allowWeekendOnWeekdays($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isWeekdendAllowedOnWeekdays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isWeekdendAllowedOnWeekdays?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>5</section>\n </td>\n <td>\n <section>Specific days for MGs</section>\n <section class=\"pl-16\">\n {{ informationPool.allowMgForSpecificDaysOfPE.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowMgForSpecificDaysOfPE\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section class=\"pl-16\">\n {{ informationPool.allowMgForSpecificDaysEachWeek.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowMgForSpecificDaysEachWeek\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.provideOffersBasedOnPreemptionDays?.Current\"\n (toggle)=\"provideOffersBasedOnPreemptionDaysChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.provideOffersBasedOnPreemptionDays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.provideOffersBasedOnPreemptionDays?.IsChanged\"\n ></div>\n </section>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"\n isDisabled || makeGoodValue?.disableProvideOffersBasedOnSpecificWeekDaysToggle\n \"\n [isToggled]=\"makeGoodValue?.provideOffersBasedOnSpecificWeekDays?.Current\"\n (toggle)=\"provideOffersBasedOnSpecificWeekDaysChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.provideOffersBasedOnSpecificWeekDays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.provideOffersBasedOnSpecificWeekDays?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\"><section>6</section></td>\n <td>\n <section>\n {{ informationPool.enableGrouping.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"enableGrouping\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section\n class=\"pl-16\"\n *ngIf=\"makeGoodValue?.enableGrouping?.Current\"\n >\n {{ informationPool.maxNoOfPESpotsForGrouping.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"informationPool.maxNoOfPESpotsForGrouping.tooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td class=\"valign-top\">\n <form [formGroup]=\"minRatingForm\">\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.enableGrouping?.Current\"\n (toggle)=\"enableGroupingForMg()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.enableGrouping?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.enableGrouping?.IsChanged\"\n ></div>\n </form>\n </td>\n <td>\n <section>-</section>\n <section *ngIf=\"makeGoodValue?.enableGrouping?.Current\">\n <form [formGroup]=\"maxPESpotsToBeGroupedForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.maxSpotsToBeGrouped?.IsChanged,\n 'input-error':\n maxPESpotsToBeGroupedForm.controls.preApproved.errors?.min ||\n maxPESpotsToBeGroupedForm.controls.preApproved.errors?.max ||\n maxPESpotsToBeGroupedForm.controls.preApproved.errors?.required\n }\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsToBeGrouped?.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsToBeGrouped?.IsChanged\"\n ></div>\n </form>\n </section>\n </td>\n <td>\n <section>-</section>\n <section *ngIf=\"makeGoodValue?.enableGrouping?.Current\">\n <form [formGroup]=\"maxPESpotsToBeGroupedForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.maxSpotsToBeGroupedRelaxed?.IsChanged,\n 'input-error':\n maxPESpotsToBeGroupedForm.controls.relaxed.errors?.min ||\n maxPESpotsToBeGroupedForm.controls.relaxed.errors?.max ||\n maxPESpotsToBeGroupedForm.controls.relaxed.errors?.required\n }\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsToBeGroupedRelaxed?.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsToBeGroupedRelaxed?.IsChanged\"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n\n <tr>\n <td>7</td>\n <td>\n {{ informationPool.allowMgTwoMinutes.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowMgTwoMinutes\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <form [formGroup]=\"minRatingForm\">\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isTresholdAllowed?.Current\"\n (toggle)=\"allowThreshold()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isTresholdAllowed?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isTresholdAllowed?.IsChanged\"\n ></div>\n </form>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n\n <tr>\n <td>8</td>\n <td>\n {{ informationPool.sportsAndSpecials.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"sportsAndSpecials\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\"\n (toggle)=\"mgAllowedForSpecialDaypart()\"\n >\n </anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>\n <div [ngClass]=\"{ 'd-flex': readMode }\">\n <ng-container *ngIf=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n *ngIf=\"makeGoodValue?.specialDaypartAllowedInventory?.preApproved\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isPreApprovedChanged,\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n\n <ng-container *ngIf=\"!makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n -\n </ng-container>\n </div>\n </td>\n <td>\n <div [ngClass]=\"{ 'd-flex': readMode }\">\n <ng-container *ngIf=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n *ngIf=\"makeGoodValue?.specialDaypartAllowedInventory?.relaxed\"\n [showAutoApproval]=\"false\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isPreApprovedChanged,\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n [errorInPriorityDropdown]=\"makeGoodValue?.specialDaypartAllowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n <ng-container *ngIf=\"!makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n -\n </ng-container>\n </div>\n </td>\n </tr>\n\n <tr>\n <td class=\"valign-top\">\n <section>9</section>\n </td>\n <td>\n <section>\n {{ informationPool.programmingChangesTooltip.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"programmingChangesTooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section\n *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\"\n class=\"pl-16\"\n >\n {{ informationPool.allowedRatingForMg.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedRatingForMg\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section>-</section>\n <section *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\">\n -\n </section>\n </td>\n <td>\n <div [ngClass]=\"{ 'd-flex': readMode }\">\n <ng-container *ngIf=\"!readMode\">\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n *ngIf=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.programChangeAllowedInventory?.isPreApprovedChanged,\n highlightChanges &&\n makeGoodValue?.programChangeAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory);\n programmingRelaxedValueChanged()\n \"\n [errorInPriorityDropdown]=\"makeGoodValue?.programChangeAllowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n\n <ng-container *ngIf=\"readMode\">\n <div annaCoreShowEllipsisTextOnHover>\n {{ selectedProgrammingChangesPreApproved?.inventoryText }}\n </div>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"readMode && makeGoodValue?.programChangeAllowedInventory?.isPreApprovedChanged\"\n ></div>\n </div>\n <section\n *ngIf=\"\n editMode &&\n selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\n \"\n class=\"empty-block-for-prime\"\n ></section>\n\n <section *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\">\n -\n </section>\n </td>\n <td>\n <ng-container *ngIf=\"!readMode\">\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n *ngIf=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.programChangeAllowedInventory?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.programChangeAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory);\n programmingRelaxedValueChanged()\n \"\n [errorInPriorityDropdown]=\"makeGoodValue?.programChangeAllowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n <div>{{ selectedProgrammingChangesRelaxed?.inventoryText }}</div>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.programChangeAllowedInventory?.isRelaxedChanged\"\n ></div>\n <section\n *ngIf=\"\n editMode &&\n selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\n \"\n class=\"empty-block-for-prime\"\n ></section>\n\n <section *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\">\n <ng-container *ngIf=\"!readMode\">\n <form [formGroup]=\"ratingRangeForMg\">\n <input\n annaCoreDigitOnly\n inputmode=\"numeric\"\n formControlName=\"minimum\"\n class=\"form-control\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged\n }\"\n pattern=\"[0-9]*\"\n [min]=\"-25\"\n [max]=\"0\"\n type=\"number\"\n step=\"5\"\n onkeydown=\"return false\"\n />\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges &&\n makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged,\n 'input-icon':\n !highlightChanges ||\n !makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged\n }\"\n >\n %\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged\"\n ></div>\n\n <span class=\"plr-4\">to</span>\n <span\n *ngIf=\"ratingRangeForMg.get('maximum').value !== 0\"\n class=\"signed-input\"\n >\n +\n </span>\n <span\n *ngIf=\"ratingRangeForMg.get('maximum').value === 0\"\n class=\"signed-input empty\"\n ></span>\n <input\n annaCoreDigitOnly\n inputmode=\"numeric\"\n formControlName=\"maximum\"\n class=\"form-control text-indent\"\n [ngClass]=\"{\n 'no-text-indentation': ratingRangeForMg.get('maximum').value === 0\n }\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\n }\"\n pattern=\"[0-9]*\"\n [min]=\"0\"\n [max]=\"25\"\n type=\"number\"\n step=\"5\"\n onkeydown=\"return false\"\n />\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges &&\n makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged,\n 'input-icon':\n !highlightChanges ||\n !makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\n }\"\n >\n %\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\"\n ></div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.lowerLimitPercentageForProgramChange?.Current }}% to\n {{ makeGoodValue?.upperLimitPercentageForProgramChange?.Current }}%\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged ||\n makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\n \"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n\n <tr>\n <td>10</td>\n <td>\n {{ informationPool.maxMg.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"maxMg\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <form [formGroup]=\"maxGrpForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.maxSpotsAllowedForEachSpot?.IsChanged,\n 'input-error':\n maxGrpForm.controls.preApproved.errors?.min ||\n maxGrpForm.controls.preApproved.errors?.max ||\n maxGrpForm.controls.preApproved.errors?.required\n }\"\n name=\"maxSpotsOto\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"preApproved\"\n (ngModelChange)=\"maxGRPFormPreapprovedValuChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsAllowedForEachSpot?.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsAllowedForEachSpot?.IsChanged\"\n ></div>\n </form>\n </td>\n <td>\n <form [formGroup]=\"maxGrpForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed?.IsChanged,\n 'input-error':\n maxGrpForm.controls.relaxed.errors?.min ||\n maxGrpForm.controls.relaxed.errors?.max ||\n maxGrpForm.controls.relaxed.errors?.relaxedValidation ||\n maxGrpForm.controls.relaxed.errors?.required ||\n maxGrpForm.controls.relaxed.value == null\n }\"\n name=\"maxSpotsOto\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"mg-value form-control\"\n type=\"number\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed?.IsChanged\"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxGrpForm.controls.relaxed.errors?.min ||\n maxGrpForm.controls.relaxed.errors?.relaxedValidation ||\n maxGrpForm.controls.relaxed.errors?.required\n \"\n [ngbTooltip]=\"needBuyerApprovalHasToBeGreater\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n </tr>\n\n <tr>\n <td>11</td>\n <td>\n {{ informationPool.minPercentageOfPreempted.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"minPercentageOfPreempted\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <form [formGroup]=\"minRatingForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.minPercentageRating.IsChanged,\n 'input-error-perct-field':\n minRatingForm.controls.preApproved.errors?.required ||\n minRatingForm.controls.preApproved.errors?.min ||\n minRatingForm.controls.preApproved.errors?.max ||\n Math.floor(100 / this.maxGrpForm.value.preApproved) <\n minRatingForm?.value?.preApproved\n }\"\n name=\"maxSpotsOto\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"preApproved\"\n step=\"1\"\n />\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges && makeGoodValue?.minPercentageRating.IsChanged,\n 'input-icon':\n !highlightChanges || !makeGoodValue?.minPercentageRating.IsChanged,\n 'input-icon-perct-error':\n minRatingForm.controls.preApproved.errors?.required ||\n minRatingForm.controls.preApproved.errors?.min ||\n minRatingForm.controls.preApproved.errors?.max ||\n Math.floor(100 / this.maxGrpForm.value.preApproved) <\n minRatingForm?.value?.preApproved\n }\"\n >\n %\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.minPercentageRating.Current }}%\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.minPercentageRating.IsChanged\"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n Math.floor(100 / maxGrpForm?.value?.preApproved) < minRatingForm?.value?.preApproved\n \"\n [ngbTooltip]=\"percentageValueToBeSetBasedOnPreviousValueInStandard\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mi mdi-info-outline biz-rule-icon standard-value-icon\"\n *ngIf=\"showWarningIconOfSettingMinPercentRating && !isDisabled\"\n [ngbTooltip]=\"standardValueSetTo100\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n <td>\n <form [formGroup]=\"minRatingForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.minPercentageRatingRelaxed.IsChanged,\n 'input-error-perct-field':\n minRatingForm.controls.relaxed.errors?.required ||\n minRatingForm.controls.relaxed.errors?.min ||\n minRatingForm.controls.relaxed.errors?.max ||\n Math.floor(100 / maxGrpForm?.value?.relaxed) < minRatingForm?.value?.relaxed\n }\"\n name=\"maxSpotsOto\"\n class=\"mg-value form-control\"\n type=\"number\"\n formControlName=\"relaxed\"\n step=\"1\"\n />\n\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges && makeGoodValue?.minPercentageRatingRelaxed.IsChanged,\n 'input-icon-perct-error':\n minRatingForm.controls.relaxed.errors?.required ||\n minRatingForm.controls.relaxed.errors?.min ||\n minRatingForm.controls.relaxed.errors?.max ||\n Math.floor(100 / maxGrpForm?.value?.relaxed) <\n minRatingForm?.value?.relaxed,\n 'input-icon':\n !highlightChanges || !makeGoodValue?.minPercentageRatingRelaxed.IsChanged\n }\"\n >\n %\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.minPercentageRatingRelaxed?.Current }}%\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.minPercentageRatingRelaxed.IsChanged\"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"Math.floor(100 / maxGrpForm?.value?.relaxed) < minRatingForm?.value?.relaxed\"\n [ngbTooltip]=\"percentageValueToBeSetBasedOnPreviousValueInRelaxed\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</article>\n\n<ng-template #maxSpotsOTO>\n <span [innerHtml]=\"informationPool.maxSpotsOTO.tooltip\"></span>\n</ng-template>\n\n<ng-template #maxSpotsStrip>\n <span [innerHtml]=\"informationPool.maxSpotsStrip.tooltip\"></span>\n</ng-template>\n\n<ng-template #maxGrp>\n <span [innerHtml]=\"informationPool.maxGrp.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedMg>\n <span [innerHtml]=\"informationPool.allowedMg.tooltip\"></span>\n</ng-template>\n\n<ng-template #sportsAndSpecials>\n <span [innerHtml]=\"informationPool.sportsAndSpecials.tooltip\"></span>\n</ng-template>\n\n<ng-template #mgTimeWindow>\n <span [innerHtml]=\"informationPool.mgTimeWindow.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowMgTwoMinutes>\n <span [innerHtml]=\"informationPool.allowMgTwoMinutes.tooltip\"></span>\n</ng-template>\n\n<ng-template #maxMg>\n <span [innerHtml]=\"informationPool.maxMg.tooltip\"></span>\n</ng-template>\n\n<ng-template #minPercentageOfPreempted>\n <span [innerHtml]=\"informationPool.minPercentageOfPreempted.tooltip\"></span>\n</ng-template>\n\n<ng-template #enableGrouping>\n <span [innerHtml]=\"informationPool.enableGrouping.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedDays1>\n {{ informationPool.allowedDays1.tooltip }}\n</ng-template>\n\n<ng-template #allowedDays2>\n {{ informationPool.allowedDays2.tooltip }}\n</ng-template>\n\n<ng-template #allowMgForSpecificDaysEachWeek>\n <span [innerHtml]=\"informationPool.allowMgForSpecificDaysEachWeek.tooltip\"></span>\n</ng-template>\n<ng-template #allowMgForSpecificDaysOfPE>\n <span [innerHtml]=\"informationPool.allowMgForSpecificDaysOfPE.tooltip\"></span>\n</ng-template>\n<ng-template #programmingChangesTooltip>\n <span [innerHtml]=\"informationPool.programmingChangesTooltip.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedRatingForMg>\n <span [innerHtml]=\"informationPool.allowedRatingForMg.tooltip\"></span>\n</ng-template>\n\n<!-- Error message tooltip -->\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #needBuyerApprovalHasToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n</ng-template>\n\n<ng-template #percentageValueToBeSetBasedOnPreviousValueInRelaxed>\n The Relaxed value has to be lesser than or equal to {{ Math.floor(100 / maxGrpForm.value.relaxed) }}% as the Relaxed\n value in #10 is set to {{ makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed.Current }}.\n</ng-template>\n\n<ng-template #percentageValueToBeSetBasedOnPreviousValueInStandard>\n The Standard value has to be lesser than or equal to\n {{ Math.floor(100 / maxGrpForm?.value?.preApproved) }}% as the Standard value in #10 is set to\n {{ makeGoodValue?.maxSpotsAllowedForEachSpot.Current }}.\n</ng-template>\n<ng-template #standardValueSetTo100>The Standard value is set to 100 since #10 = 1.</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}.input-with-extra-symbol input{border-right:none!important;border-radius:0!important}.input-with-extra-symbol span{display:flex;align-items:center}:host ::ng-deep .input-difference-icon{position:relative;margin-bottom:2px}::ng-deep .mg-tooltip .tooltip-inner{width:900px!important}.hide-toggle{display:none!important}::ng-deep .programming-mg-dropdown cdk-virtual-scroll-viewport{height:111px!important}.signed-input{position:relative;left:16px}.signed-input.empty{width:8px}.text-indent{text-indent:8px}.no-text-indentation{text-indent:0!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.biz-rule{width:395px;min-width:395px;max-width:395px}table thead tr th.yes-no{width:80px;min-width:80px;max-width:80px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:268px;min-width:268px;max-width:268px}.highlight-changes table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}.table-container::-webkit-scrollbar-track{margin-top:40px}.empty-block-for-prime{height:8px!important;width:2px;background-color:transparent}.mdi-information{color:#ffb300!important}.standard-value-icon{position:static!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "component", type: i2.PriorityDropdownsComponent, selector: "anna-design-priority-dropdowns", inputs: ["highPriorityHeading", "lowPriorityHeading", "isDisabled", "lowPriorityList", "highPriorityList", "differences", "showAutoApproval", "showNeedBuyerApproval", "disableDropdownInEditMode", "disabledPriorityOption", "disabledLowPriorityOption", "errorInPriorityDropdown"], outputs: ["highPriorityListChange", "lowPriorityListChange"] }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "directive", type: i1$3.ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "directive", type: i1$3.DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern", "decimalPlaces"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4073
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MakeGoodRulesComponent, deps: [{ token: i1$1.FormBuilder }, { token: BusinessRuleCommonSIBILogicService }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4074
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: MakeGoodRulesComponent, isStandalone: true, selector: "anna-feature-biz-rules-make-good-rules", inputs: { makeGoodValue: "makeGoodValue", isDisabled: "isDisabled", highlightChanges: "highlightChanges", editMode: "editMode", hideRulesTooltipInfo: "hideRulesTooltipInfo", mgTabSelected: "mgTabSelected", minimumSeparation: "minimumSeparation", businessRulePageType: "businessRulePageType", isTrafficAnnaOrder: "isTrafficAnnaOrder", showMinimumSeparationInMessage: "showMinimumSeparationInMessage" }, outputs: { makeGoodValueChange: "makeGoodValueChange" }, usesOnChanges: true, ngImport: i0, template: "<article\n [ngClass]=\"{\n 'read-mode-inputs': readMode,\n 'edit-mode-inputs': !readMode,\n 'highlight-changes': highlightChanges,\n 'disable-highlight-changes': !highlightChanges,\n 'hide-tooltip': hideRulesTooltipInfo\n }\"\n>\n <!-- WILL SHOW input-difference-icon only if highlightChanges is true -->\n\n <anna-design-message-box\n *ngIf=\"!hideRulesTooltipInfo\"\n [messageBoxData]=\"aduAndMgMessageData\"\n ></anna-design-message-box>\n <div\n id=\"scroll-container-mg\"\n class=\"table-container\"\n (scroll)=\"onContainerScroll()\"\n >\n <table>\n <thead>\n <tr class=\"header-row\">\n <th class=\"rule-no\">RULE#</th>\n <th class=\"biz-rule\">BUSINESS RULES</th>\n <th class=\"yes-no\">YES/NO</th>\n <th class=\"standard-rule\">STANDARD RULE</th>\n <th class=\"relaxed-rule\">RELAXED RULE</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <td>1</td>\n <td>\n {{ informationPool.generateMGsForUnresolvedSpots.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"informationPool?.generateMGsForUnresolvedSpots.tooltip\"\n #t=\"ngbTooltip\"\n container=\"body\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled || makeGoodValue?.disableGenerateMgsForUnresolvedSpotsToggle\"\n [isToggled]=\"makeGoodValue?.generateMgsForUnresolvedSpots?.Current\"\n (toggle)=\"generateMgsForUnresolvedSpots()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.generateMgsForUnresolvedSpots?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.generateMgsForUnresolvedSpots?.IsChanged\"\n ></div>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n\n <tr>\n <td>2</td>\n <td id=\"mg-table-first-row\">\n {{ informationPool.allowedMg.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedMg\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.allowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.allowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.allowedInventory?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.allowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.allowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.allowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.allowedInventory); formValueChanged()\"\n [errorInPriorityDropdown]=\"makeGoodValue?.allowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n\n <tr>\n <td>3</td>\n <td>\n {{ informationPool.mgTimeWindow.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"mgTimeWindow\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n *ngIf=\"makeGoodValue?.timeWindow.preApproved\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.timeWindow?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.timeWindow?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.timeWindow.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"makeGoodValue?.timeWindow?.relaxed\"\n (highPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n >\n </anna-design-priority-dropdowns>\n </td>\n <td>\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n *ngIf=\"makeGoodValue?.timeWindow.preApproved\"\n [differences]=\"[\n highlightChanges && makeGoodValue?.timeWindow?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.timeWindow?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.timeWindow.preApproved\"\n [isDisabled]=\"isDisabled\"\n [lowPriorityList]=\"makeGoodValue?.timeWindow?.relaxed\"\n (highPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n (lowPriorityListChange)=\"checkPriority(makeGoodValue?.timeWindow); formValueChanged()\"\n [errorInPriorityDropdown]=\"makeGoodValue?.timeWindow.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </td>\n </tr>\n\n <tr>\n <td class=\"valign-top\">\n <section>4</section>\n </td>\n <td>\n <section>Allowed days for MGs</section>\n <section class=\"pl-16\">\n {{ informationPool.allowedDays1.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedDays1\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section class=\"pl-16\">\n {{ informationPool.allowedDays2.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedDays2\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isWeekdayAllowedOnWeekends?.Current\"\n (toggle)=\"allowWeekdayOnWeekends($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isWeekdayAllowedOnWeekends?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isWeekdayAllowedOnWeekends?.IsChanged\"\n ></div>\n </section>\n\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isWeekdendAllowedOnWeekdays?.Current\"\n (toggle)=\"allowWeekendOnWeekdays($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isWeekdendAllowedOnWeekdays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isWeekdendAllowedOnWeekdays?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\">\n <section>5</section>\n </td>\n <td>\n <section>Specific days for MGs</section>\n <section class=\"pl-16\">\n {{ informationPool.allowMgForSpecificDaysOfPE.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowMgForSpecificDaysOfPE\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section class=\"pl-16\">\n {{ informationPool.allowMgForSpecificDaysEachWeek.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowMgForSpecificDaysEachWeek\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.provideOffersBasedOnPreemptionDays?.Current\"\n (toggle)=\"provideOffersBasedOnPreemptionDaysChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.provideOffersBasedOnPreemptionDays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.provideOffersBasedOnPreemptionDays?.IsChanged\"\n ></div>\n </section>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"\n isDisabled || makeGoodValue?.disableProvideOffersBasedOnSpecificWeekDaysToggle\n \"\n [isToggled]=\"makeGoodValue?.provideOffersBasedOnSpecificWeekDays?.Current\"\n (toggle)=\"provideOffersBasedOnSpecificWeekDaysChanged($event)\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.provideOffersBasedOnSpecificWeekDays?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.provideOffersBasedOnSpecificWeekDays?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n <td>\n <section class=\"empty-block\"></section>\n <section>-</section>\n <section>-</section>\n </td>\n </tr>\n <tr>\n <td class=\"valign-top\"><section>6</section></td>\n <td>\n <section>\n {{ informationPool.enableGrouping.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"enableGrouping\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section\n class=\"pl-16\"\n *ngIf=\"makeGoodValue?.enableGrouping?.Current\"\n >\n {{ informationPool.maxNoOfPESpotsForGrouping.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"informationPool.maxNoOfPESpotsForGrouping.tooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td class=\"valign-top\">\n <form [formGroup]=\"minRatingForm\">\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.enableGrouping?.Current\"\n (toggle)=\"enableGroupingForMg()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.enableGrouping?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.enableGrouping?.IsChanged\"\n ></div>\n </form>\n </td>\n <td>\n <section>-</section>\n <section *ngIf=\"makeGoodValue?.enableGrouping?.Current\">\n <form [formGroup]=\"maxPESpotsToBeGroupedForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.maxSpotsToBeGrouped?.IsChanged,\n 'input-error':\n maxPESpotsToBeGroupedForm.controls.preApproved.errors?.min ||\n maxPESpotsToBeGroupedForm.controls.preApproved.errors?.max ||\n maxPESpotsToBeGroupedForm.controls.preApproved.errors?.required\n }\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"preApproved\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsToBeGrouped?.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsToBeGrouped?.IsChanged\"\n ></div>\n </form>\n </section>\n </td>\n <td>\n <section>-</section>\n <section *ngIf=\"makeGoodValue?.enableGrouping?.Current\">\n <form [formGroup]=\"maxPESpotsToBeGroupedForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.maxSpotsToBeGroupedRelaxed?.IsChanged,\n 'input-error':\n maxPESpotsToBeGroupedForm.controls.relaxed.errors?.min ||\n maxPESpotsToBeGroupedForm.controls.relaxed.errors?.max ||\n maxPESpotsToBeGroupedForm.controls.relaxed.errors?.required\n }\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsToBeGroupedRelaxed?.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsToBeGroupedRelaxed?.IsChanged\"\n ></div>\n </form>\n </section>\n </td>\n </tr>\n\n <tr>\n <td>7</td>\n <td>\n {{ informationPool.allowMgTwoMinutes.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowMgTwoMinutes\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <form [formGroup]=\"minRatingForm\">\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isTresholdAllowed?.Current\"\n (toggle)=\"allowThreshold()\"\n ></anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isTresholdAllowed?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isTresholdAllowed?.IsChanged\"\n ></div>\n </form>\n </td>\n <td>-</td>\n <td>-</td>\n </tr>\n\n <tr>\n <td>8</td>\n <td>\n {{ informationPool.sportsAndSpecials.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"sportsAndSpecials\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>\n <section>\n <div [ngClass]=\"{ 'hide-toggle': readMode }\">\n <anna-design-toggle\n [isDisabled]=\"isDisabled\"\n [isToggled]=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\"\n (toggle)=\"mgAllowedForSpecialDaypart()\"\n >\n </anna-design-toggle>\n </div>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current ? \"Yes\" : \"No\" }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.IsChanged\"\n ></div>\n </section>\n </td>\n <td>\n <div [ngClass]=\"{ 'd-flex': readMode }\">\n <ng-container *ngIf=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n *ngIf=\"makeGoodValue?.specialDaypartAllowedInventory?.preApproved\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isPreApprovedChanged,\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n\n <ng-container *ngIf=\"!makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n -\n </ng-container>\n </div>\n </td>\n <td>\n <div [ngClass]=\"{ 'd-flex': readMode }\">\n <ng-container *ngIf=\"makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n *ngIf=\"makeGoodValue?.specialDaypartAllowedInventory?.relaxed\"\n [showAutoApproval]=\"false\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isPreApprovedChanged,\n highlightChanges &&\n makeGoodValue?.specialDaypartAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.specialDaypartAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.specialDaypartAllowedInventory); formValueChanged()\n \"\n [errorInPriorityDropdown]=\"makeGoodValue?.specialDaypartAllowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n <ng-container *ngIf=\"!makeGoodValue?.isMakeGoodAllowedForSpecialDayparts?.Current\">\n -\n </ng-container>\n </div>\n </td>\n </tr>\n\n <tr>\n <td class=\"valign-top\">\n <section>9</section>\n </td>\n <td>\n <section>\n {{ informationPool.programmingChangesTooltip.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"programmingChangesTooltip\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n <section\n *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\"\n class=\"pl-16\"\n >\n {{ informationPool.allowedRatingForMg.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"allowedRatingForMg\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </section>\n </td>\n <td>\n <section>-</section>\n <section *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\">\n -\n </section>\n </td>\n <td>\n <div [ngClass]=\"{ 'd-flex': readMode }\">\n <ng-container *ngIf=\"!readMode\">\n <anna-design-priority-dropdowns\n [showNeedBuyerApproval]=\"false\"\n *ngIf=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.programChangeAllowedInventory?.isPreApprovedChanged,\n highlightChanges &&\n makeGoodValue?.programChangeAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory);\n programmingRelaxedValueChanged()\n \"\n [errorInPriorityDropdown]=\"makeGoodValue?.programChangeAllowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n\n <ng-container *ngIf=\"readMode\">\n <div annaCoreShowEllipsisTextOnHover>\n {{ selectedProgrammingChangesPreApproved?.inventoryText }}\n </div>\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"readMode && makeGoodValue?.programChangeAllowedInventory?.isPreApprovedChanged\"\n ></div>\n </div>\n <section\n *ngIf=\"\n editMode &&\n selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\n \"\n class=\"empty-block-for-prime\"\n ></section>\n\n <section *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\">\n -\n </section>\n </td>\n <td>\n <ng-container *ngIf=\"!readMode\">\n <anna-design-priority-dropdowns\n [showAutoApproval]=\"false\"\n *ngIf=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [differences]=\"[\n highlightChanges &&\n makeGoodValue?.programChangeAllowedInventory?.isPreApprovedChanged,\n highlightChanges && makeGoodValue?.programChangeAllowedInventory?.isRelaxedChanged\n ]\"\n [highPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.preApproved\"\n [lowPriorityList]=\"makeGoodValue?.programChangeAllowedInventory?.relaxed\"\n [isDisabled]=\"isDisabled\"\n (highPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory); formValueChanged()\n \"\n (lowPriorityListChange)=\"\n checkPriority(makeGoodValue?.programChangeAllowedInventory);\n programmingRelaxedValueChanged()\n \"\n [errorInPriorityDropdown]=\"makeGoodValue?.programChangeAllowedInventory.isInvalid\"\n >\n </anna-design-priority-dropdowns>\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n <div>{{ selectedProgrammingChangesRelaxed?.inventoryText }}</div>\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.programChangeAllowedInventory?.isRelaxedChanged\"\n ></div>\n <section\n *ngIf=\"\n editMode &&\n selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\n \"\n class=\"empty-block-for-prime\"\n ></section>\n\n <section *ngIf=\"selectedProgrammingChangesRelaxed?.inventoryText === EQUIVALENT_RATING_PROGRAM\">\n <ng-container *ngIf=\"!readMode\">\n <form [formGroup]=\"ratingRangeForMg\">\n <input\n annaCoreDigitOnly\n inputmode=\"numeric\"\n formControlName=\"minimum\"\n class=\"form-control\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged\n }\"\n pattern=\"[0-9]*\"\n [min]=\"-25\"\n [max]=\"0\"\n type=\"number\"\n step=\"5\"\n onkeydown=\"return false\"\n />\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges &&\n makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged,\n 'input-icon':\n !highlightChanges ||\n !makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged\n }\"\n >\n %\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged\"\n ></div>\n\n <span class=\"plr-4\">to</span>\n <span\n *ngIf=\"ratingRangeForMg.get('maximum').value !== 0\"\n class=\"signed-input\"\n >\n +\n </span>\n <span\n *ngIf=\"ratingRangeForMg.get('maximum').value === 0\"\n class=\"signed-input empty\"\n ></span>\n <input\n annaCoreDigitOnly\n inputmode=\"numeric\"\n formControlName=\"maximum\"\n class=\"form-control text-indent\"\n [ngClass]=\"{\n 'no-text-indentation': ratingRangeForMg.get('maximum').value === 0\n }\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\n }\"\n pattern=\"[0-9]*\"\n [min]=\"0\"\n [max]=\"25\"\n type=\"number\"\n step=\"5\"\n onkeydown=\"return false\"\n />\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges &&\n makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged,\n 'input-icon':\n !highlightChanges ||\n !makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\n }\"\n >\n %\n </div>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\"\n ></div>\n </form>\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.lowerLimitPercentageForProgramChange?.Current }}% to\n {{ makeGoodValue?.upperLimitPercentageForProgramChange?.Current }}%\n <div\n class=\"input-difference-icon\"\n *ngIf=\"\n makeGoodValue?.lowerLimitPercentageForProgramChange.IsChanged ||\n makeGoodValue?.upperLimitPercentageForProgramChange.IsChanged\n \"\n ></div>\n </ng-container>\n </section>\n </td>\n </tr>\n\n <tr>\n <td>10</td>\n <td>\n {{ informationPool.maxMg.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"maxMg\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <form [formGroup]=\"maxGrpForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.maxSpotsAllowedForEachSpot?.IsChanged,\n 'input-error':\n maxGrpForm.controls.preApproved.errors?.min ||\n maxGrpForm.controls.preApproved.errors?.max ||\n maxGrpForm.controls.preApproved.errors?.required\n }\"\n name=\"maxSpotsOto\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"preApproved\"\n (ngModelChange)=\"maxGRPFormPreapprovedValuChanged($event)\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsAllowedForEachSpot?.Current }}\n </ng-container>\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsAllowedForEachSpot?.IsChanged\"\n ></div>\n </form>\n </td>\n <td>\n <form [formGroup]=\"maxGrpForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges &&\n makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed?.IsChanged,\n 'input-error':\n maxGrpForm.controls.relaxed.errors?.min ||\n maxGrpForm.controls.relaxed.errors?.max ||\n maxGrpForm.controls.relaxed.errors?.relaxedValidation ||\n maxGrpForm.controls.relaxed.errors?.required ||\n maxGrpForm.controls.relaxed.value == null\n }\"\n name=\"maxSpotsOto\"\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n pattern=\"[0-9]*\"\n class=\"mg-value form-control\"\n type=\"number\"\n formControlName=\"relaxed\"\n />\n </ng-container>\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed?.Current }}\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed?.IsChanged\"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n maxGrpForm.controls.relaxed.errors?.min ||\n maxGrpForm.controls.relaxed.errors?.relaxedValidation ||\n maxGrpForm.controls.relaxed.errors?.required\n \"\n [ngbTooltip]=\"needBuyerApprovalHasToBeGreater\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n </tr>\n\n <tr>\n <td>11</td>\n <td>\n {{ informationPool.minPercentageOfPreempted.name }}\n <i\n class=\"mi mdi-info-outline biz-rule-icon\"\n [ngbTooltip]=\"minPercentageOfPreempted\"\n #t=\"ngbTooltip\"\n aria-hidden=\"true\"\n ></i>\n </td>\n <td>-</td>\n <td>\n <form [formGroup]=\"minRatingForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.minPercentageRating.IsChanged,\n 'input-error-perct-field':\n minRatingForm.controls.preApproved.errors?.required ||\n minRatingForm.controls.preApproved.errors?.min ||\n minRatingForm.controls.preApproved.errors?.max ||\n Math.floor(100 / this.maxGrpForm.value.preApproved) <\n minRatingForm?.value?.preApproved\n }\"\n name=\"maxSpotsOto\"\n class=\"form-control\"\n type=\"number\"\n formControlName=\"preApproved\"\n step=\"1\"\n />\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges && makeGoodValue?.minPercentageRating.IsChanged,\n 'input-icon':\n !highlightChanges || !makeGoodValue?.minPercentageRating.IsChanged,\n 'input-icon-perct-error':\n minRatingForm.controls.preApproved.errors?.required ||\n minRatingForm.controls.preApproved.errors?.min ||\n minRatingForm.controls.preApproved.errors?.max ||\n Math.floor(100 / this.maxGrpForm.value.preApproved) <\n minRatingForm?.value?.preApproved\n }\"\n >\n %\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.minPercentageRating.Current }}%\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.minPercentageRating.IsChanged\"\n ></div>\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"\n Math.floor(100 / maxGrpForm?.value?.preApproved) < minRatingForm?.value?.preApproved\n \"\n [ngbTooltip]=\"percentageValueToBeSetBasedOnPreviousValueInStandard\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n\n <i\n class=\"mi mdi-info-outline biz-rule-icon standard-value-icon\"\n *ngIf=\"showWarningIconOfSettingMinPercentRating && !isDisabled\"\n [ngbTooltip]=\"standardValueSetTo100\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n <td>\n <form [formGroup]=\"minRatingForm\">\n <ng-container *ngIf=\"!readMode\">\n <input\n annaCoreDigitOnly\n [min]=\"MINVALUE\"\n [max]=\"MAXVALUE\"\n inputmode=\"numeric\"\n [ngClass]=\"{\n 'changed-entity':\n highlightChanges && makeGoodValue?.minPercentageRatingRelaxed.IsChanged,\n 'input-error-perct-field':\n minRatingForm.controls.relaxed.errors?.required ||\n minRatingForm.controls.relaxed.errors?.min ||\n minRatingForm.controls.relaxed.errors?.max ||\n Math.floor(100 / maxGrpForm?.value?.relaxed) < minRatingForm?.value?.relaxed\n }\"\n name=\"maxSpotsOto\"\n class=\"mg-value form-control\"\n type=\"number\"\n formControlName=\"relaxed\"\n step=\"1\"\n />\n\n <div\n [ngClass]=\"{\n 'input-icon-difference':\n highlightChanges && makeGoodValue?.minPercentageRatingRelaxed.IsChanged,\n 'input-icon-perct-error':\n minRatingForm.controls.relaxed.errors?.required ||\n minRatingForm.controls.relaxed.errors?.min ||\n minRatingForm.controls.relaxed.errors?.max ||\n Math.floor(100 / maxGrpForm?.value?.relaxed) <\n minRatingForm?.value?.relaxed,\n 'input-icon':\n !highlightChanges || !makeGoodValue?.minPercentageRatingRelaxed.IsChanged\n }\"\n >\n %\n </div>\n </ng-container>\n\n <ng-container *ngIf=\"readMode\">\n {{ makeGoodValue?.minPercentageRatingRelaxed?.Current }}%\n </ng-container>\n\n <div\n class=\"input-difference-icon\"\n *ngIf=\"makeGoodValue?.minPercentageRatingRelaxed.IsChanged\"\n ></div>\n\n <i\n class=\"mdi mdi-alert-octagon\"\n *ngIf=\"Math.floor(100 / maxGrpForm?.value?.relaxed) < minRatingForm?.value?.relaxed\"\n [ngbTooltip]=\"percentageValueToBeSetBasedOnPreviousValueInRelaxed\"\n placement=\"top auto\"\n container=\"body\"\n #t=\"ngbTooltip\"\n ></i>\n </form>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n</article>\n\n<ng-template #maxSpotsOTO>\n <span [innerHtml]=\"informationPool.maxSpotsOTO.tooltip\"></span>\n</ng-template>\n\n<ng-template #maxSpotsStrip>\n <span [innerHtml]=\"informationPool.maxSpotsStrip.tooltip\"></span>\n</ng-template>\n\n<ng-template #maxGrp>\n <span [innerHtml]=\"informationPool.maxGrp.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedMg>\n <span [innerHtml]=\"informationPool.allowedMg.tooltip\"></span>\n</ng-template>\n\n<ng-template #sportsAndSpecials>\n <span [innerHtml]=\"informationPool.sportsAndSpecials.tooltip\"></span>\n</ng-template>\n\n<ng-template #mgTimeWindow>\n <span [innerHtml]=\"informationPool.mgTimeWindow.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowMgTwoMinutes>\n <span [innerHtml]=\"informationPool.allowMgTwoMinutes.tooltip\"></span>\n</ng-template>\n\n<ng-template #maxMg>\n <span [innerHtml]=\"informationPool.maxMg.tooltip\"></span>\n</ng-template>\n\n<ng-template #minPercentageOfPreempted>\n <span [innerHtml]=\"informationPool.minPercentageOfPreempted.tooltip\"></span>\n</ng-template>\n\n<ng-template #enableGrouping>\n <span [innerHtml]=\"informationPool.enableGrouping.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedDays1>\n {{ informationPool.allowedDays1.tooltip }}\n</ng-template>\n\n<ng-template #allowedDays2>\n {{ informationPool.allowedDays2.tooltip }}\n</ng-template>\n\n<ng-template #allowMgForSpecificDaysEachWeek>\n <span [innerHtml]=\"informationPool.allowMgForSpecificDaysEachWeek.tooltip\"></span>\n</ng-template>\n<ng-template #allowMgForSpecificDaysOfPE>\n <span [innerHtml]=\"informationPool.allowMgForSpecificDaysOfPE.tooltip\"></span>\n</ng-template>\n<ng-template #programmingChangesTooltip>\n <span [innerHtml]=\"informationPool.programmingChangesTooltip.tooltip\"></span>\n</ng-template>\n\n<ng-template #allowedRatingForMg>\n <span [innerHtml]=\"informationPool.allowedRatingForMg.tooltip\"></span>\n</ng-template>\n\n<!-- Error message tooltip -->\n<ng-template #dailyBuyerApprovalGreater>\n The Daily Relaxed value has to be greater than or equal to the Daily Standard value.\n</ng-template>\n\n<ng-template #weeklyValueGreaterThanDaily>\n The Weekly values have to be greater than or equal to the Daily values.\n</ng-template>\n\n<ng-template #needBuyerApprovalHasToBeGreater>\n The Relaxed value has to be greater than or equal to the Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDaily>\n The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.\n</ng-template>\n\n<ng-template #weeklyNeedBuyerApprovalValueGreaterThanDailyAndWeeklyValueGreaterThanDaily>\n <ul>\n <li>The Weekly values have to be greater than or equal to the Daily values.</li>\n <li>The Weekly Relaxed value has to be greater than or equal to the Weekly Standard value.</li>\n </ul>\n</ng-template>\n\n<ng-template #percentageValueToBeSetBasedOnPreviousValueInRelaxed>\n The Relaxed value has to be lesser than or equal to {{ Math.floor(100 / maxGrpForm.value.relaxed) }}% as the Relaxed\n value in #10 is set to {{ makeGoodValue?.maxSpotsAllowedForEachSpotRelaxed.Current }}.\n</ng-template>\n\n<ng-template #percentageValueToBeSetBasedOnPreviousValueInStandard>\n The Standard value has to be lesser than or equal to\n {{ Math.floor(100 / maxGrpForm?.value?.preApproved) }}% as the Standard value in #10 is set to\n {{ makeGoodValue?.maxSpotsAllowedForEachSpot.Current }}.\n</ng-template>\n<ng-template #standardValueSetTo100>The Standard value is set to 100 since #10 = 1.</ng-template>\n", styles: [".ellipses{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:block;width:99%}.p-0{padding:0!important}*:focus{box-shadow:none!important}input:focus{border-color:#b7b7b7}.input-icon{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#e7e7e7;border:1px solid var(--input-box-border-color);border-left:1px solid #e7e7e7;color:#4a4a4a!important;border-radius:2px}.input-icon-difference{height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f9eadd;border:1px solid #f97b07;border-left:1px solid #f9eadd;color:#4a4a4a!important;border-radius:2px}input{width:100%;height:24px;border:1px solid var(--input-box-border-color);font-size:var(--dropdown-text-fs);border-radius:2px}:host ::ng-deep .disable-highlight-changes .input-difference-icon{display:none}.highlight-changes .input-difference-icon{display:inline-block}:host ::ng-deep .input-difference-icon{height:16px;width:16px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}:host :ng-deep anna-design-single-select button{border-color:1px solid var(--input-box-border-color)}:host :ng-deep anna-design-single-select #dropdown-trigger:disabled{background-color:#bdbdbd80!important}.highlight-changes .changed-entity{background-color:#f9eadd!important;border-color:#f97b07!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.biz-rule-icon{color:var(--primary-blue-color);font-size:.875rem;cursor:pointer;position:relative;top:3px;margin-left:4px}section .biz-rule-icon{top:0}.validation-box{background-color:#fde4e3;color:var(--primary-text-color-dark);display:flex;margin:15px 15px 15px 0;padding:6px;border:solid 1px #f9b3ae;border-radius:4px;line-height:16px;font-size:12px!important}.validation-box div{white-space:wrap!important}.validation-info-icon,.mdi.mdi-alert-octagon,.mdi.mdi-information{color:red!important;font-size:16px;vertical-align:middle;display:inline-flex;margin:0 4px;cursor:pointer!important}.mdi.mdi-information{color:var(--primary-color)!important}.input-error{border-color:red!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.input-error-perct-field{border-color:red!important;border-right:none!important;font-size:var(--page-link-fs)!important;border-radius:2px;width:5ch;color:#000!important;background-color:#fff}.disabled-input{background-color:var(--disable-bg-light-color)!important;color:#4a4a4a;cursor:not-allowed;pointer-events:none}.input-icon-perct-error{border-left:none!important;height:24px;width:22px;line-height:24px!important;padding-left:4px;left:-3px;position:relative;background:#f0f0f0;border:1px solid red;border-left:1px solid rgb(240,240,240);color:#4a4a4a!important;border-radius:2px}::ng-deep .highlight-changes anna-design-single-select.priority-custom-dropdown.program-changes-dropdown{width:100%}::ng-deep anna-design-single-select.changed-entity.priority-custom-dropdown.program-changes-dropdown{width:calc(100% - 20px)!important;display:inline-block}input:disabled,input.disabled{background-color:var(--disable-bg-light-color)!important;pointer-events:none!important}.highlight-changes .changed-entity:disabled{background-color:#f9eadd!important;border-color:#f97b07!important}input[type=number]{width:68px!important}.pl-16{padding-left:16px}anna-design-toggle{float:left}:host ::ng-deep anna-design-toggle label{top:0}:host ::ng-deep anna-design-message-box .message-box.mg-adu-rule{margin:0 0 12px!important}td.valign-top{vertical-align:top!important}td section,td form{height:33px;display:flex;align-items:center;vertical-align:middle}.edit-mode-inputs table td form:nth-of-type(2){margin-top:.5rem}table{width:100%;table-layout:fixed}table .table-container::-webkit-scrollbar-track{margin-top:40px;margin-left:0}table .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}table .header-row{background:#ededed}table .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}table .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}table .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}table .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}table .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}table .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}table .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}table .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .header-row th:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}table .table-container.no-data-table>div{height:142px!important}table .table-container.no-data-table>div tr td{filter:none!important}table tbody tr.no-border-tr{height:25px!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(4){box-shadow:none!important}table tbody tr.no-border-tr:first-of-type td:nth-of-type(5){box-shadow:inset -1px 0 #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(4){box-shadow:inset 0 -1px #d4d4d4!important}table tbody tr.no-border-tr:last-of-type td:nth-of-type(5){box-shadow:inset -1px -1px #d4d4d4!important}table tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}table tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}table tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table tbody tr td:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}table thead tr th{color:#4a4a4a;padding:13px 8px;text-align:left;height:40px;top:.1px;background-color:#e9e9e9;z-index:10;font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:.8056rem;letter-spacing:.33px}table tbody tr{height:44px}table tbody tr td{cursor:default!important;padding:8px;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}table tbody tr:nth-of-type(odd) td{background-color:#fff!important}table tbody tr:nth-of-type(2n) td{background-color:#ededed!important}table tbody tr:last-of-type td:first-of-type{box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:nth-of-type(n+2){box-shadow:inset 1px 0 #d4d4d4!important}table tbody tr:last-of-type td:last-of-type{box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}table tbody tr:nth-child(2n){background-color:#ededed!important}::ng-deep .read-mode-inputs .table-container table tbody tr{height:22px!important}::ng-deep .read-mode-inputs .table-container table tbody tr.adu-rule-2-row{height:42px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td{cursor:default!important;padding:0 8px!important;font-size:12px!important}::ng-deep .read-mode-inputs .table-container table tbody tr td section,::ng-deep .read-mode-inputs .table-container table tbody tr td form{height:23px!important}::ng-deep .read-mode-inputs .table-container table tbody tr div.input-icon{width:0;height:0;display:none}::ng-deep .hide-tooltip .table-container table tbody tr .mdi-info-outline.biz-rule-icon{display:none}input::-webkit-outer-spin-button,input::-webkit-inner-spin-button{cursor:pointer!important}.input-with-extra-symbol input{border-right:none!important;border-radius:0!important}.input-with-extra-symbol span{display:flex;align-items:center}:host ::ng-deep .input-difference-icon{position:relative;margin-bottom:2px}::ng-deep .mg-tooltip .tooltip-inner{width:900px!important}.hide-toggle{display:none!important}::ng-deep .programming-mg-dropdown cdk-virtual-scroll-viewport{height:111px!important}.signed-input{position:relative;left:16px}.signed-input.empty{width:8px}.text-indent{text-indent:8px}.no-text-indentation{text-indent:0!important}table thead tr th.rule-no{width:51px;min-width:51px;max-width:51px}table thead tr th.biz-rule{width:395px;min-width:395px;max-width:395px}table thead tr th.yes-no{width:80px;min-width:80px;max-width:80px}table thead tr th.standard-rule,table thead tr th.relaxed-rule{width:268px;min-width:268px;max-width:268px}.highlight-changes table thead tr th.yes-no{width:85px;min-width:85px;max-width:85px}.table-container::-webkit-scrollbar-track{margin-top:40px}.empty-block-for-prime{height:8px!important;width:2px;background-color:transparent}.mdi-information{color:#ffb300!important}.standard-value-icon{position:static!important}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.ToggleComponent, selector: "anna-design-toggle", inputs: ["isToggled", "isDisabled", "position"], outputs: ["toggle"] }, { kind: "component", type: i2.PriorityDropdownsComponent, selector: "anna-design-priority-dropdowns", inputs: ["highPriorityHeading", "lowPriorityHeading", "isDisabled", "lowPriorityList", "highPriorityList", "differences", "showAutoApproval", "showNeedBuyerApproval", "disableDropdownInEditMode", "disabledPriorityOption", "disabledLowPriorityOption", "errorInPriorityDropdown"], outputs: ["highPriorityListChange", "lowPriorityListChange"] }, { kind: "component", type: i2.MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$1.MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: ["min"] }, { kind: "directive", type: i1$1.MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: ["max"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "directive", type: i1$3.ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "directive", type: i1$3.DigitOnlyDirective, selector: "[annaCoreDigitOnly]", inputs: ["decimal", "decimalSeparator", "allowNegatives", "allowPaste", "negativeSign", "min", "max", "pattern", "decimalPlaces"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4075
4075
  }
4076
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: MakeGoodRulesComponent, decorators: [{
4076
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MakeGoodRulesComponent, decorators: [{
4077
4077
  type: Component,
4078
4078
  args: [{ selector: "anna-feature-biz-rules-make-good-rules", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4079
4079
  NgClass,
@@ -4488,10 +4488,10 @@ class BusinessRulePageComponent {
4488
4488
  getLatestBusinessRuleData() {
4489
4489
  return this.businessRulesData;
4490
4490
  }
4491
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRulePageComponent, deps: [{ token: i1$4.ToastrService }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4492
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: BusinessRulePageComponent, isStandalone: true, selector: "anna-feature-biz-rules-business-rule-page", inputs: { wizardTabs: "wizardTabs", wizardTabsCloned: "wizardTabsCloned", selectedWizardTab: "selectedWizardTab", hideBusinessRules: "hideBusinessRules", businessRuleLoading: "businessRuleLoading", bizRuleErrorMessage: "bizRuleErrorMessage", businessRulesData: "businessRulesData", initialBusinessRule: "initialBusinessRule", userType: "userType", bizRuleFor: "bizRuleFor", inventoryCodesTableHeaders: "inventoryCodesTableHeaders", aclWritePermission: "aclWritePermission", isTrafficAnnaOrder: "isTrafficAnnaOrder", businessRulePageType: "businessRulePageType", editMode: "editMode", disableSomeBizRulesIfAnPoDOrder: "disableSomeBizRulesIfAnPoDOrder" }, outputs: { stayOnPageAndCloseModal: "stayOnPageAndCloseModal", checkIfEditEnabled: "checkIfEditEnabled", checkIfNotifyEnabled: "checkIfNotifyEnabled", checkSaveEnabled: "checkSaveEnabled" }, viewQueries: [{ propertyName: "discardUnsavedChangesConfirmModal", first: true, predicate: ["discardUnsavedChangesConfirmModal"], descendants: true }, { propertyName: "mgRules", predicate: ["makeGood"], descendants: true }, { propertyName: "adu", predicate: ["adu"], descendants: true }, { propertyName: "generalRules", predicate: ["general"], descendants: true }, { propertyName: "approvalConfig", predicate: ["approvals"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<anna-design-generic-wizard-form\n *ngIf=\"businessRuleLoading || (!businessRuleLoading && !hideBusinessRules)\"\n [ngClass]=\"{ 'highlight-changes': hasAnyHighlightChangesInEntireBizRules }\"\n [wizardTabs]=\"wizardTabs\"\n [selectedWizardTab]=\"selectedWizardTab\"\n [wizardTabsCloned]=\"wizardTabsCloned\"\n [currentTabHasError]=\"currentTabHasError\"\n [currentTabHasPendingChanges]=\"currentTabHasPendingChanges\"\n [editMode]=\"editMode && !businessRuleLoading && aclWritePermission\"\n [tabClass]=\"'biz-rule-tabs'\"\n (wizardTabsChanged)=\"onWizardTabChanged($event)\"\n [errorMessage]=\"bizRuleErrorMessage\"\n>\n <div\n class=\"view\"\n [ngClass]=\"{ 'business-form-disable': !editMode }\"\n >\n <ng-container *ngIf=\"businessRuleLoading\">\n <div class=\"col-6 pl-0 pt-12\">\n <anna-design-skt-loader\n [count]=\"1\"\n [theme]=\"{ height: '10vh', 'margin-bottom': '0.625rem' }\"\n ></anna-design-skt-loader>\n <anna-design-skt-loader\n [count]=\"1\"\n [theme]=\"{ height: '10vh' }\"\n ></anna-design-skt-loader>\n </div>\n <anna-design-skt-loader\n class=\"col-6 pr-0 pt-12\"\n [count]=\"1\"\n [theme]=\"{ height: '20vh', 'margin-bottom': '0.5rem' }\"\n ></anna-design-skt-loader>\n </ng-container>\n\n <ng-container *ngIf=\"!businessRuleLoading\">\n <div [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.APPROVALS }\">\n <anna-feature-biz-rules-approval-config\n #approvals\n [editModeClonedCopy]=\"editModeClonedCopy\"\n [approvalConfig]=\"businessRulesData?.approvalConfig\"\n [userType]=\"userType\"\n [isTrafficAnnaOrder]=\"isTrafficAnnaOrder\"\n [businessRulePageType]=\"businessRulePageType\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n (approvalConfigChanged)=\"approvalConfigChanged($event)\"\n >\n </anna-feature-biz-rules-approval-config>\n </div>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.DAYPART_RESTRICTION\">\n <anna-feature-biz-rules-daypart-restrictions\n [data]=\"businessRulesData?.dayAndDaypartRestrictionForMgAndAdu\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [noOfHighlightChanges]=\"businessRulesData?.numberOfDpRestrictionRulesChanged\"\n (dpChanges)=\"dayPartRestrictionsChanged($event)\"\n >\n </anna-feature-biz-rules-daypart-restrictions>\n </ng-container>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.EQUIVALENT_DAYPARTS\">\n <anna-feature-biz-rules-equivalent-and-higher-daypart\n [daypartEquivalenceRules]=\"businessRulesData?.equivalentAndHigherDaypartForMgAndAdu\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [noOfHighlightChanges]=\"businessRulesData?.numberEquivalencyRulesChanged\"\n (equivalencyRulesChanges)=\"equivalencyRulesChanged($event)\"\n >\n </anna-feature-biz-rules-equivalent-and-higher-daypart>\n </ng-container>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.EXCLUDED_PROGRAM\">\n <anna-feature-biz-rules-excluded-or-special-program\n class=\"excluded\"\n [tableHeaders]=\"inventoryCodesTableHeaders\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n [selectedInventories]=\"businessRulesData?.selectedExcludedInventories\"\n [nonSelectedInventories]=\"businessRulesData?.nonSelectedInventories\"\n [componentName]=\"'EXCLUDED'\"\n [noOfHighlightChanges]=\"businessRulesData?.numberOfExcludedProgramsSelectionChanged\"\n (inventoriesNotSelected)=\"nonSelectedInventory($event, 'EXCLUDED')\"\n (inventoriesSelected)=\"excludedInventoriesSelected($event)\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </ng-container>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.SPECIAL_PROGRAM\">\n <anna-feature-biz-rules-excluded-or-special-program\n class=\"special\"\n [tableHeaders]=\"inventoryCodesTableHeaders\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n [selectedInventories]=\"businessRulesData?.selectedSpecialInventories\"\n [nonSelectedInventories]=\"businessRulesData?.nonSelectedInventories\"\n [componentName]=\"'SPECIAL'\"\n (inventoriesNotSelected)=\"nonSelectedInventory($event, 'SPECIAL')\"\n [noOfHighlightChanges]=\"businessRulesData?.numberOfSpecialProgramsSelectionChanged\"\n (inventoriesSelected)=\"specialInventoriesSelected($event)\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </ng-container>\n\n <div\n *ngIf=\"!bizRuleErrorMessage\"\n [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.GENERAL_RULES }\"\n >\n <anna-feature-biz-rules-general-rules\n #general\n [advertiserSeparationClonedValue]=\"\n initialBusinessRule?.generalRules?.advertiserSeperation?.advertiserSeparationValue?.Current\n \"\n [disableAdvertiserSeparation]=\"bizRuleFor === 'ORDER'\"\n [generalRules]=\"generalRulesList\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n (generalRuleChange)=\"generalValueChanged($event)\"\n >\n </anna-feature-biz-rules-general-rules>\n </div>\n\n <div\n *ngIf=\"!bizRuleErrorMessage\"\n [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.MG_RULES }\"\n >\n <anna-feature-biz-rules-make-good-rules\n #makeGood\n [mgTabSelected]=\"mgTabSelected\"\n [makeGoodValue]=\"makeGoodRules\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [showMinimumSeparationInMessage]=\"bizRuleFor === 'ORDER'\"\n [isTrafficAnnaOrder]=\"isTrafficAnnaOrder\"\n [businessRulePageType]=\"businessRulePageType\"\n [minimumSeparation]=\"businessRulesData?.minimumSeparation\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n [editMode]=\"editMode && !businessRulesData?.allowEditForCompletedOrder\"\n (makeGoodValueChange)=\"makeGoodValueChanged($event)\"\n ></anna-feature-biz-rules-make-good-rules>\n </div>\n\n <div\n *ngIf=\"!bizRuleErrorMessage\"\n [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.ADU_RULES }\"\n >\n <anna-feature-biz-rules-adu-rules\n #adu\n [aduTabSelected]=\"aduTabSelected\"\n [intialAduValue]=\"initialBusinessRule?.aduRules\"\n [aduValue]=\"aduRules\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [editMode]=\"editMode && !businessRulesData?.allowEditForCompletedOrder\"\n [disabledAduPostingRequired]=\"disableSomeBizRulesIfAnPoDOrder\"\n [disabledAduTimeWindow]=\"disableSomeBizRulesIfAnPoDOrder\"\n [showMinimumSeparationInMessage]=\"bizRuleFor === 'ORDER'\"\n [minimumSeparation]=\"businessRulesData?.minimumSeparation\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n (aduChange)=\"aduChange($event)\"\n >\n </anna-feature-biz-rules-adu-rules>\n </div>\n </ng-container>\n </div>\n</anna-design-generic-wizard-form>\n\n<!-- Modal components -->\n<anna-design-confirmation-popup\n #discardUnsavedChangesConfirmModal\n [config]=\"discardUnsavedChangesConfirmConfig\"\n (confirmClicked)=\"resetBizRuleChangesAndCloseModal()\"\n (cancelClicked)=\"stayOnBizRulePageAndCloseModal()\"\n>\n</anna-design-confirmation-popup>\n", styles: [".ml-20{margin-left:20px}.biz-status-container{margin:0 0 8px}.hide{visibility:hidden}.buyer-rep-section{display:flex;gap:8px}.buyer-rep-section anna-feature-biz-rules-buyer-rep-contact-section{width:100%}.main-body{margin:0 auto;max-width:1855px;padding:0px var(--app-right-space, 40px) 0 var(--app-left-space, 40px)}.button-and-copy{flex-direction:row;align-items:flex-end;width:100%;height:45px;align-items:center;padding-left:12px;display:flex;padding-right:8px}.button-and-copy a,.button-and-copy a:hover{color:#268bff;align-items:flex-end;display:flex;line-height:16px;font-size:var(--page-link-fs);margin-right:8px}.button-and-copy button.anna{width:130px!important;display:inline-block;float:right!important;cursor:pointer;margin:0!important}.button-container{display:flex;justify-content:flex-end;margin-left:auto;gap:8px;align-items:center}.cursor-default,.cursor-default button{cursor:default}.container-div button.anna{width:160px!important;display:inline-block;float:right!important;cursor:pointer;margin:0!important}.metadata-row{display:flex;justify-content:space-between;flex-direction:row}.history-link{margin-left:auto;margin-top:auto;font-family:Roboto;font-size:var(--page-link-fs);line-height:16px;text-decoration:underline!important}.history-link a,.history-link a:hover{cursor:pointer!important;color:#268bff!important;text-decoration:underline!important}.history-link a.disabled{color:#4a4a4a!important;opacity:.5;pointer-events:none;cursor:not-allowed}::ng-deep .biz-btn-tooltip .tooltip-inner{max-width:190px}a.disabled{color:#4a4a4a!important;opacity:.5;pointer-events:none;cursor:not-allowed}.save-button{background-color:#fff!important;color:var(--primary-blue-color)!important;border:1px solid var(--primary-blue-color)!important}.save-button:disabled{border:none!important}.edit-button{background-color:#dce8f6!important;color:#268bff!important;font-weight:400!important}.edit-button .light-colored-text{color:#bdbdbd}.button-container-modal{display:flex;flex-direction:row}.modal-header{padding:1rem 1.25rem}.modal-body{padding:10px}::ng-deep .business-rule .modal-content{min-width:28.8125rem;width:28.8125rem;max-width:28.8125rem}::ng-deep .business-rule .modal-dialog{left:-6%}::ng-deep .biz-confirm-modals .modal-dialog{top:var(--ngb-modal-top)!important}::ng-deep .lock-modals .modal-dialog{top:50px!important}::ng-deep .view-container{border-left:none!important;border-right:none!important;border-bottom:none!important}::ng-deep .request-modification .modal-dialog{top:-35px!important;width:26.5625rem!important;min-width:26.5625rem!important;max-width:26.5625rem!important}::ng-deep .request-modification .modal-dialog .modal-content{min-width:26.5625rem!important}::ng-deep .request-modification .modal-dialog .button-container-modal{margin-top:16px}.biz-rule-page-wrapper{border:1px solid #d4d4d4;border-radius:6px}.comment-textarea{resize:none;height:90px;width:100%}:host ::ng-deep .ng-content-selector-for-message{display:inline;font-size:.75rem;font-weight:400!important;line-height:16px!important}:host ::ng-deep .ng-content-selector-for-message a,:host ::ng-deep .ng-content-selector-for-message a:hover{color:#268bff;text-decoration:underline}::ng-deep section.message-box.sm.seller-approval-requested .div-message p.message-label{padding:0 0 0 1px!important}::ng-deep section.message-box.mt-8{margin-top:8px}::ng-deep anna-design-message-box section.message-box.sm.inline-block-msg{padding:4px 12px 4px 8px!important}::ng-deep anna-design-message-box section.message-box.sm.inline-block-msg .div-message p.message-label{display:inline-block!important;padding:0 0 0 1px!important}::ng-deep anna-design-message-box section.message-box.sm.inline-block-msg .div-icon{position:relative;top:4px;left:3px!important}.btn-loader{display:inline-block}.mt-12{margin-top:12px}.filters-selected{font-size:var(--page-link-fs)}.lock-expired-modal{padding-top:8px;border:solid 1px #f44336;text-align:center;z-index:1060!important;font-size:var(--lock-message-fs)}.lock-expired-modal .mdi-alert-octagon{color:#f44336;font-size:26px;width:100%}.lock-expired-modal .mdi-close{font-size:14px!important;position:relative;left:5px;bottom:55px;float:right;font-size:18px;cursor:pointer;margin-left:auto}.lock-expired-modal button{color:#268bff;background:none;text-decoration:underline;cursor:pointer;padding:0!important}.red-lock-message{border:solid 1px red}.red-lock-message .mdi-alert-octagon{color:red;font-size:26px;width:100%}button{cursor:pointer}.lock-message{position:fixed;top:120px;display:flex;flex-wrap:wrap;z-index:999999;width:354px;background:#fff;padding:20px;left:50%;transform:translate(-50%,-50%);text-align:center;box-shadow:0 27px 55px #0000004d,0 17px 17px #00000026}.lock-message i{width:100%}.lock-message span{font-family:Roboto;font-weight:500;color:#4a4a4a}.lock-message .mdi-close{position:absolute;left:160px;top:8px;float:right;font-size:18px;cursor:pointer;margin-left:auto}.orange-lock-message{border:solid 1px #ffb300}.orange-lock-message .mdi-warning{color:#ffb300;font-size:26px}.orange-lock-message .mdi-close{font-size:18px}.top-container header{color:#4a4a4a;font-size:var(--wizard-step-header-fs);font-weight:900;margin-right:12px;padding-top:9px}.alert-icon{color:#f97b07;margin-left:10px}::ng-deep .buyer-contact .modal-dialog{width:24.375rem;min-width:24.375rem;max-width:24.375rem}::ng-deep .input-difference-icon{height:18px;width:18px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}::ng-deep anna-design-generic-wizard-form .biz-rule-tabs{border-top-left-radius:0!important;border-top-right-radius:0!important;border-left:none!important;border-right:none!important}::ng-deep anna-design-generic-wizard-form .biz-rule-tabs .input-difference-icon{height:14px;width:14px;font-size:16px;line-height:12px;align-self:center;margin:0;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .175rem) calc(.75em + .375rem)}::ng-deep anna-design-generic-wizard-form .biz-rule-tabs .orange-text{vertical-align:top!important;font-size:12px}::ng-deep anna-design-generic-wizard-form div#path .input-difference-icon{display:inline-flex;margin-left:1px;margin-right:1px;width:14px;position:relative!important;top:2px!important;vertical-align:sub}::ng-deep .orange-text{color:#f97b07;vertical-align:text-bottom;margin-left:-3px}.highlight-changes .list-tab{margin-right:13px!important}.display-none{display:none!important}::ng-deep anna-feature-biz-rules-buyer-contact-details anna-design-radio-buttons mat-radio-group mat-radio-button:nth-of-type(2){margin-left:24px!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.SkeletonLoaderComponent, selector: "anna-design-skt-loader", inputs: ["theme", "count"] }, { kind: "component", type: i2.ConfirmationPopupComponent, selector: "anna-design-confirmation-popup", inputs: ["config"], outputs: ["confirmClicked", "cancelClicked"] }, { kind: "component", type: i2.GenericWizardFormComponent, selector: "anna-design-generic-wizard-form", inputs: ["wizardTabs", "wizardTabsCloned", "selectedWizardTab", "wizardFormClass", "tabClass", "listTabClass", "editMode", "currentTabHasError", "currentTabHasPendingChanges", "errorMessage"], outputs: ["wizardTabsChanged"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: DaypartRestrictionsComponent, selector: "anna-feature-biz-rules-daypart-restrictions", inputs: ["data", "isDisabled", "highlightChanges", "noOfHighlightChanges"], outputs: ["dpChanges"] }, { kind: "component", type: GeneralRulesComponent, selector: "anna-feature-biz-rules-general-rules", inputs: ["disableAdvertiserSeparation", "advertiserSeparationClonedValue", "generalRules", "highlightChanges", "editMode"], outputs: ["generalRuleChange"] }, { kind: "component", type: EquivalentAndHigherDaypartComponent, selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", inputs: ["daypartEquivalenceRules", "isDisabled", "highlightChanges", "noOfHighlightChanges", "hideInfoMessage"], outputs: ["equivalencyRulesChanges"] }, { kind: "component", type: ExcludedOrSpecialProgramComponent, selector: "anna-feature-biz-rules-excluded-or-special-program", inputs: ["tableHeaders", "nonSelectedInventories", "selectedInventories", "componentName", "noOfHighlightChanges", "editMode", "isHistoryPage", "showTotalRow"], outputs: ["inventoriesSelected", "inventoriesNotSelected", "modalClose"] }, { kind: "component", type: MakeGoodRulesComponent, selector: "anna-feature-biz-rules-make-good-rules", inputs: ["makeGoodValue", "isDisabled", "highlightChanges", "editMode", "hideRulesTooltipInfo", "mgTabSelected", "minimumSeparation", "businessRulePageType", "isTrafficAnnaOrder", "showMinimumSeparationInMessage"], outputs: ["makeGoodValueChange"] }, { kind: "component", type: AduRulesComponent, selector: "anna-feature-biz-rules-adu-rules", inputs: ["aduValue", "intialAduValue", "isDisabled", "highlightChanges", "disabledAduTimeWindow", "disabledAduPostingRequired", "editMode", "hideRulesTooltipInfo", "aduTabSelected", "minimumSeparation", "showMinimumSeparationInMessage"], outputs: ["aduChange"] }, { kind: "component", type: ApprovalConfigComponent, selector: "anna-feature-biz-rules-approval-config", inputs: ["editModeClonedCopy", "approvalConfig", "userType", "businessRulePageType", "isTrafficAnnaOrder", "editMode"], outputs: ["approvalConfigChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4491
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRulePageComponent, deps: [{ token: i1$4.ToastrService }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4492
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: BusinessRulePageComponent, isStandalone: true, selector: "anna-feature-biz-rules-business-rule-page", inputs: { wizardTabs: "wizardTabs", wizardTabsCloned: "wizardTabsCloned", selectedWizardTab: "selectedWizardTab", hideBusinessRules: "hideBusinessRules", businessRuleLoading: "businessRuleLoading", bizRuleErrorMessage: "bizRuleErrorMessage", businessRulesData: "businessRulesData", initialBusinessRule: "initialBusinessRule", userType: "userType", bizRuleFor: "bizRuleFor", inventoryCodesTableHeaders: "inventoryCodesTableHeaders", aclWritePermission: "aclWritePermission", isTrafficAnnaOrder: "isTrafficAnnaOrder", businessRulePageType: "businessRulePageType", editMode: "editMode", disableSomeBizRulesIfAnPoDOrder: "disableSomeBizRulesIfAnPoDOrder" }, outputs: { stayOnPageAndCloseModal: "stayOnPageAndCloseModal", checkIfEditEnabled: "checkIfEditEnabled", checkIfNotifyEnabled: "checkIfNotifyEnabled", checkSaveEnabled: "checkSaveEnabled" }, viewQueries: [{ propertyName: "discardUnsavedChangesConfirmModal", first: true, predicate: ["discardUnsavedChangesConfirmModal"], descendants: true }, { propertyName: "mgRules", predicate: ["makeGood"], descendants: true }, { propertyName: "adu", predicate: ["adu"], descendants: true }, { propertyName: "generalRules", predicate: ["general"], descendants: true }, { propertyName: "approvalConfig", predicate: ["approvals"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<anna-design-generic-wizard-form\n *ngIf=\"businessRuleLoading || (!businessRuleLoading && !hideBusinessRules)\"\n [ngClass]=\"{ 'highlight-changes': hasAnyHighlightChangesInEntireBizRules }\"\n [wizardTabs]=\"wizardTabs\"\n [selectedWizardTab]=\"selectedWizardTab\"\n [wizardTabsCloned]=\"wizardTabsCloned\"\n [currentTabHasError]=\"currentTabHasError\"\n [currentTabHasPendingChanges]=\"currentTabHasPendingChanges\"\n [editMode]=\"editMode && !businessRuleLoading && aclWritePermission\"\n [tabClass]=\"'biz-rule-tabs'\"\n (wizardTabsChanged)=\"onWizardTabChanged($event)\"\n [errorMessage]=\"bizRuleErrorMessage\"\n>\n <div\n class=\"view\"\n [ngClass]=\"{ 'business-form-disable': !editMode }\"\n >\n <ng-container *ngIf=\"businessRuleLoading\">\n <div class=\"col-6 pl-0 pt-12\">\n <anna-design-skt-loader\n [count]=\"1\"\n [theme]=\"{ height: '10vh', 'margin-bottom': '0.625rem' }\"\n ></anna-design-skt-loader>\n <anna-design-skt-loader\n [count]=\"1\"\n [theme]=\"{ height: '10vh' }\"\n ></anna-design-skt-loader>\n </div>\n <anna-design-skt-loader\n class=\"col-6 pr-0 pt-12\"\n [count]=\"1\"\n [theme]=\"{ height: '20vh', 'margin-bottom': '0.5rem' }\"\n ></anna-design-skt-loader>\n </ng-container>\n\n <ng-container *ngIf=\"!businessRuleLoading\">\n <div [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.APPROVALS }\">\n <anna-feature-biz-rules-approval-config\n #approvals\n [editModeClonedCopy]=\"editModeClonedCopy\"\n [approvalConfig]=\"businessRulesData?.approvalConfig\"\n [userType]=\"userType\"\n [isTrafficAnnaOrder]=\"isTrafficAnnaOrder\"\n [businessRulePageType]=\"businessRulePageType\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n (approvalConfigChanged)=\"approvalConfigChanged($event)\"\n >\n </anna-feature-biz-rules-approval-config>\n </div>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.DAYPART_RESTRICTION\">\n <anna-feature-biz-rules-daypart-restrictions\n [data]=\"businessRulesData?.dayAndDaypartRestrictionForMgAndAdu\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [noOfHighlightChanges]=\"businessRulesData?.numberOfDpRestrictionRulesChanged\"\n (dpChanges)=\"dayPartRestrictionsChanged($event)\"\n >\n </anna-feature-biz-rules-daypart-restrictions>\n </ng-container>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.EQUIVALENT_DAYPARTS\">\n <anna-feature-biz-rules-equivalent-and-higher-daypart\n [daypartEquivalenceRules]=\"businessRulesData?.equivalentAndHigherDaypartForMgAndAdu\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [noOfHighlightChanges]=\"businessRulesData?.numberEquivalencyRulesChanged\"\n (equivalencyRulesChanges)=\"equivalencyRulesChanged($event)\"\n >\n </anna-feature-biz-rules-equivalent-and-higher-daypart>\n </ng-container>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.EXCLUDED_PROGRAM\">\n <anna-feature-biz-rules-excluded-or-special-program\n class=\"excluded\"\n [tableHeaders]=\"inventoryCodesTableHeaders\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n [selectedInventories]=\"businessRulesData?.selectedExcludedInventories\"\n [nonSelectedInventories]=\"businessRulesData?.nonSelectedInventories\"\n [componentName]=\"'EXCLUDED'\"\n [noOfHighlightChanges]=\"businessRulesData?.numberOfExcludedProgramsSelectionChanged\"\n (inventoriesNotSelected)=\"nonSelectedInventory($event, 'EXCLUDED')\"\n (inventoriesSelected)=\"excludedInventoriesSelected($event)\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </ng-container>\n\n <ng-container *ngIf=\"selectedWizardTab?.heading === BusinessRuleSectionName.SPECIAL_PROGRAM\">\n <anna-feature-biz-rules-excluded-or-special-program\n class=\"special\"\n [tableHeaders]=\"inventoryCodesTableHeaders\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n [selectedInventories]=\"businessRulesData?.selectedSpecialInventories\"\n [nonSelectedInventories]=\"businessRulesData?.nonSelectedInventories\"\n [componentName]=\"'SPECIAL'\"\n (inventoriesNotSelected)=\"nonSelectedInventory($event, 'SPECIAL')\"\n [noOfHighlightChanges]=\"businessRulesData?.numberOfSpecialProgramsSelectionChanged\"\n (inventoriesSelected)=\"specialInventoriesSelected($event)\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </ng-container>\n\n <div\n *ngIf=\"!bizRuleErrorMessage\"\n [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.GENERAL_RULES }\"\n >\n <anna-feature-biz-rules-general-rules\n #general\n [advertiserSeparationClonedValue]=\"\n initialBusinessRule?.generalRules?.advertiserSeperation?.advertiserSeparationValue?.Current\n \"\n [disableAdvertiserSeparation]=\"bizRuleFor === 'ORDER'\"\n [generalRules]=\"generalRulesList\"\n [editMode]=\"editMode && aclWritePermission && !businessRulesData?.allowEditForCompletedOrder\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n (generalRuleChange)=\"generalValueChanged($event)\"\n >\n </anna-feature-biz-rules-general-rules>\n </div>\n\n <div\n *ngIf=\"!bizRuleErrorMessage\"\n [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.MG_RULES }\"\n >\n <anna-feature-biz-rules-make-good-rules\n #makeGood\n [mgTabSelected]=\"mgTabSelected\"\n [makeGoodValue]=\"makeGoodRules\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [showMinimumSeparationInMessage]=\"bizRuleFor === 'ORDER'\"\n [isTrafficAnnaOrder]=\"isTrafficAnnaOrder\"\n [businessRulePageType]=\"businessRulePageType\"\n [minimumSeparation]=\"businessRulesData?.minimumSeparation\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n [editMode]=\"editMode && !businessRulesData?.allowEditForCompletedOrder\"\n (makeGoodValueChange)=\"makeGoodValueChanged($event)\"\n ></anna-feature-biz-rules-make-good-rules>\n </div>\n\n <div\n *ngIf=\"!bizRuleErrorMessage\"\n [ngClass]=\"{ 'display-none': selectedWizardTab?.heading !== BusinessRuleSectionName.ADU_RULES }\"\n >\n <anna-feature-biz-rules-adu-rules\n #adu\n [aduTabSelected]=\"aduTabSelected\"\n [intialAduValue]=\"initialBusinessRule?.aduRules\"\n [aduValue]=\"aduRules\"\n [highlightChanges]=\"businessRulesData?.highlightChanges\"\n [editMode]=\"editMode && !businessRulesData?.allowEditForCompletedOrder\"\n [disabledAduPostingRequired]=\"disableSomeBizRulesIfAnPoDOrder\"\n [disabledAduTimeWindow]=\"disableSomeBizRulesIfAnPoDOrder\"\n [showMinimumSeparationInMessage]=\"bizRuleFor === 'ORDER'\"\n [minimumSeparation]=\"businessRulesData?.minimumSeparation\"\n [isDisabled]=\"!aclWritePermission || !editMode || businessRulesData?.allowEditForCompletedOrder\"\n (aduChange)=\"aduChange($event)\"\n >\n </anna-feature-biz-rules-adu-rules>\n </div>\n </ng-container>\n </div>\n</anna-design-generic-wizard-form>\n\n<!-- Modal components -->\n<anna-design-confirmation-popup\n #discardUnsavedChangesConfirmModal\n [config]=\"discardUnsavedChangesConfirmConfig\"\n (confirmClicked)=\"resetBizRuleChangesAndCloseModal()\"\n (cancelClicked)=\"stayOnBizRulePageAndCloseModal()\"\n>\n</anna-design-confirmation-popup>\n", styles: [".ml-20{margin-left:20px}.biz-status-container{margin:0 0 8px}.hide{visibility:hidden}.buyer-rep-section{display:flex;gap:8px}.buyer-rep-section anna-feature-biz-rules-buyer-rep-contact-section{width:100%}.main-body{margin:0 auto;max-width:1855px;padding:0px var(--app-right-space, 40px) 0 var(--app-left-space, 40px)}.button-and-copy{flex-direction:row;align-items:flex-end;width:100%;height:45px;align-items:center;padding-left:12px;display:flex;padding-right:8px}.button-and-copy a,.button-and-copy a:hover{color:#268bff;align-items:flex-end;display:flex;line-height:16px;font-size:var(--page-link-fs);margin-right:8px}.button-and-copy button.anna{width:130px!important;display:inline-block;float:right!important;cursor:pointer;margin:0!important}.button-container{display:flex;justify-content:flex-end;margin-left:auto;gap:8px;align-items:center}.cursor-default,.cursor-default button{cursor:default}.container-div button.anna{width:160px!important;display:inline-block;float:right!important;cursor:pointer;margin:0!important}.metadata-row{display:flex;justify-content:space-between;flex-direction:row}.history-link{margin-left:auto;margin-top:auto;font-family:Roboto;font-size:var(--page-link-fs);line-height:16px;text-decoration:underline!important}.history-link a,.history-link a:hover{cursor:pointer!important;color:#268bff!important;text-decoration:underline!important}.history-link a.disabled{color:#4a4a4a!important;opacity:.5;pointer-events:none;cursor:not-allowed}::ng-deep .biz-btn-tooltip .tooltip-inner{max-width:190px}a.disabled{color:#4a4a4a!important;opacity:.5;pointer-events:none;cursor:not-allowed}.save-button{background-color:#fff!important;color:var(--primary-blue-color)!important;border:1px solid var(--primary-blue-color)!important}.save-button:disabled{border:none!important}.edit-button{background-color:#dce8f6!important;color:#268bff!important;font-weight:400!important}.edit-button .light-colored-text{color:#bdbdbd}.button-container-modal{display:flex;flex-direction:row}.modal-header{padding:1rem 1.25rem}.modal-body{padding:10px}::ng-deep .business-rule .modal-content{min-width:28.8125rem;width:28.8125rem;max-width:28.8125rem}::ng-deep .business-rule .modal-dialog{left:-6%}::ng-deep .biz-confirm-modals .modal-dialog{top:var(--ngb-modal-top)!important}::ng-deep .lock-modals .modal-dialog{top:50px!important}::ng-deep .view-container{border-left:none!important;border-right:none!important;border-bottom:none!important}::ng-deep .request-modification .modal-dialog{top:-35px!important;width:26.5625rem!important;min-width:26.5625rem!important;max-width:26.5625rem!important}::ng-deep .request-modification .modal-dialog .modal-content{min-width:26.5625rem!important}::ng-deep .request-modification .modal-dialog .button-container-modal{margin-top:16px}.biz-rule-page-wrapper{border:1px solid #d4d4d4;border-radius:6px}.comment-textarea{resize:none;height:90px;width:100%}:host ::ng-deep .ng-content-selector-for-message{display:inline;font-size:.75rem;font-weight:400!important;line-height:16px!important}:host ::ng-deep .ng-content-selector-for-message a,:host ::ng-deep .ng-content-selector-for-message a:hover{color:#268bff;text-decoration:underline}::ng-deep section.message-box.sm.seller-approval-requested .div-message p.message-label{padding:0 0 0 1px!important}::ng-deep section.message-box.mt-8{margin-top:8px}::ng-deep anna-design-message-box section.message-box.sm.inline-block-msg{padding:4px 12px 4px 8px!important}::ng-deep anna-design-message-box section.message-box.sm.inline-block-msg .div-message p.message-label{display:inline-block!important;padding:0 0 0 1px!important}::ng-deep anna-design-message-box section.message-box.sm.inline-block-msg .div-icon{position:relative;top:4px;left:3px!important}.btn-loader{display:inline-block}.mt-12{margin-top:12px}.filters-selected{font-size:var(--page-link-fs)}.lock-expired-modal{padding-top:8px;border:solid 1px #f44336;text-align:center;z-index:1060!important;font-size:var(--lock-message-fs)}.lock-expired-modal .mdi-alert-octagon{color:#f44336;font-size:26px;width:100%}.lock-expired-modal .mdi-close{font-size:14px!important;position:relative;left:5px;bottom:55px;float:right;font-size:18px;cursor:pointer;margin-left:auto}.lock-expired-modal button{color:#268bff;background:none;text-decoration:underline;cursor:pointer;padding:0!important}.red-lock-message{border:solid 1px red}.red-lock-message .mdi-alert-octagon{color:red;font-size:26px;width:100%}button{cursor:pointer}.lock-message{position:fixed;top:120px;display:flex;flex-wrap:wrap;z-index:999999;width:354px;background:#fff;padding:20px;left:50%;transform:translate(-50%,-50%);text-align:center;box-shadow:0 27px 55px #0000004d,0 17px 17px #00000026}.lock-message i{width:100%}.lock-message span{font-family:Roboto;font-weight:500;color:#4a4a4a}.lock-message .mdi-close{position:absolute;left:160px;top:8px;float:right;font-size:18px;cursor:pointer;margin-left:auto}.orange-lock-message{border:solid 1px #ffb300}.orange-lock-message .mdi-warning{color:#ffb300;font-size:26px}.orange-lock-message .mdi-close{font-size:18px}.top-container header{color:#4a4a4a;font-size:var(--wizard-step-header-fs);font-weight:900;margin-right:12px;padding-top:9px}.alert-icon{color:#f97b07;margin-left:10px}::ng-deep .buyer-contact .modal-dialog{width:24.375rem;min-width:24.375rem;max-width:24.375rem}::ng-deep .input-difference-icon{height:18px;width:18px;align-self:center;margin-left:4px;padding-right:8px;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}::ng-deep anna-design-generic-wizard-form .biz-rule-tabs{border-top-left-radius:0!important;border-top-right-radius:0!important;border-left:none!important;border-right:none!important}::ng-deep anna-design-generic-wizard-form .biz-rule-tabs .input-difference-icon{height:14px;width:14px;font-size:16px;line-height:12px;align-self:center;margin:0;display:inline-block;background-image:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200' fill='%23f97b07' viewBox='0 0 24 24'%3E%3Ctitle%3Ealert%3C/title%3E%3Cpath d='M13 14H11V9H13M13 18H11V16H13M1 21H23L12 2L1 21Z' /%3E%3C/svg%3E\");background-repeat:no-repeat;background-size:calc(.75em + .175rem) calc(.75em + .375rem)}::ng-deep anna-design-generic-wizard-form .biz-rule-tabs .orange-text{vertical-align:top!important;font-size:12px}::ng-deep anna-design-generic-wizard-form div#path .input-difference-icon{display:inline-flex;margin-left:1px;margin-right:1px;width:14px;position:relative!important;top:2px!important;vertical-align:sub}::ng-deep .orange-text{color:#f97b07;vertical-align:text-bottom;margin-left:-3px}.highlight-changes .list-tab{margin-right:13px!important}.display-none{display:none!important}::ng-deep anna-feature-biz-rules-buyer-contact-details anna-design-radio-buttons mat-radio-group mat-radio-button:nth-of-type(2){margin-left:24px!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.SkeletonLoaderComponent, selector: "anna-design-skt-loader", inputs: ["theme", "count"] }, { kind: "component", type: i2.ConfirmationPopupComponent, selector: "anna-design-confirmation-popup", inputs: ["config"], outputs: ["confirmClicked", "cancelClicked"] }, { kind: "component", type: i2.GenericWizardFormComponent, selector: "anna-design-generic-wizard-form", inputs: ["wizardTabs", "wizardTabsCloned", "selectedWizardTab", "wizardFormClass", "tabClass", "listTabClass", "editMode", "currentTabHasError", "currentTabHasPendingChanges", "errorMessage"], outputs: ["wizardTabsChanged"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: DaypartRestrictionsComponent, selector: "anna-feature-biz-rules-daypart-restrictions", inputs: ["data", "isDisabled", "highlightChanges", "noOfHighlightChanges"], outputs: ["dpChanges"] }, { kind: "component", type: GeneralRulesComponent, selector: "anna-feature-biz-rules-general-rules", inputs: ["disableAdvertiserSeparation", "advertiserSeparationClonedValue", "generalRules", "highlightChanges", "editMode"], outputs: ["generalRuleChange"] }, { kind: "component", type: EquivalentAndHigherDaypartComponent, selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", inputs: ["daypartEquivalenceRules", "isDisabled", "highlightChanges", "noOfHighlightChanges", "hideInfoMessage"], outputs: ["equivalencyRulesChanges"] }, { kind: "component", type: ExcludedOrSpecialProgramComponent, selector: "anna-feature-biz-rules-excluded-or-special-program", inputs: ["tableHeaders", "nonSelectedInventories", "selectedInventories", "componentName", "noOfHighlightChanges", "editMode", "isHistoryPage", "showTotalRow"], outputs: ["inventoriesSelected", "inventoriesNotSelected", "modalClose"] }, { kind: "component", type: MakeGoodRulesComponent, selector: "anna-feature-biz-rules-make-good-rules", inputs: ["makeGoodValue", "isDisabled", "highlightChanges", "editMode", "hideRulesTooltipInfo", "mgTabSelected", "minimumSeparation", "businessRulePageType", "isTrafficAnnaOrder", "showMinimumSeparationInMessage"], outputs: ["makeGoodValueChange"] }, { kind: "component", type: AduRulesComponent, selector: "anna-feature-biz-rules-adu-rules", inputs: ["aduValue", "intialAduValue", "isDisabled", "highlightChanges", "disabledAduTimeWindow", "disabledAduPostingRequired", "editMode", "hideRulesTooltipInfo", "aduTabSelected", "minimumSeparation", "showMinimumSeparationInMessage"], outputs: ["aduChange"] }, { kind: "component", type: ApprovalConfigComponent, selector: "anna-feature-biz-rules-approval-config", inputs: ["editModeClonedCopy", "approvalConfig", "userType", "businessRulePageType", "isTrafficAnnaOrder", "editMode"], outputs: ["approvalConfigChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4493
4493
  }
4494
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRulePageComponent, decorators: [{
4494
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRulePageComponent, decorators: [{
4495
4495
  type: Component,
4496
4496
  args: [{ selector: "anna-feature-biz-rules-business-rule-page", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4497
4497
  NgIf,
@@ -4752,10 +4752,10 @@ class BusinessRulesHistoryComponent {
4752
4752
  elements[0].remove();
4753
4753
  }
4754
4754
  }
4755
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRulesHistoryComponent, deps: [{ token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4756
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: BusinessRulesHistoryComponent, isStandalone: true, selector: "anna-feature-biz-rules-business-rules-history", inputs: { bizRuleData: "bizRuleData", bizRuleDataForHistoryTable: "bizRuleDataForHistoryTable", loading: "loading", sellerOrBuyerApprovalKey: "sellerOrBuyerApprovalKey", businessRuleSectiontabs: "businessRuleSectiontabs", showBuyerBizRulesApprovalNeededToggle: "showBuyerBizRulesApprovalNeededToggle", userType: "userType" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"heading\"\n *ngIf=\"type === BizHistoryType.STATION\"\n>\n {{ type | uppercase }} BUSINESS RULES HISTORY\n</div>\n<div\n class=\"heading\"\n *ngIf=\"type !== BizHistoryType.STATION\"\n>\n {{ type | uppercase }} HISTORY\n</div>\n\n<ng-container *ngIf=\"!loading && bizRuleData\">\n <div class=\"status-details\">\n <div class=\"left-section\">\n <span *ngIf=\"bizRuleData?.ogName && userType === 'BUYER'\"\n >OG: <b>{{ bizRuleData?.ogName }}</b></span\n >\n <span\n >Station: <b>{{ bizRuleData?.stationName }}</b></span\n >\n <span *ngIf=\"type !== BizHistoryType.STATION\"\n >Advertiser: <b>{{ bizRuleData?.advertiserName }} </b></span\n >\n <span *ngIf=\"type === BizHistoryType.ORDER\"\n >Order #: <b>{{ orderId }}</b></span\n >\n </div>\n\n <div class=\"right-section\">\n <span\n >Updated On: <b>{{ bizRuleData?.lastEditedAt }} </b></span\n >\n <span class=\"mlr-4\"> | </span>\n <span\n >Updated By:\n <b>\n <ng-container *ngIf=\"bizRuleData?.lastUserTypeToEdit === 'SELLER'\">\n Seller ({{ bizRuleData?.lastSellerToEdit }})\n </ng-container>\n <ng-container *ngIf=\"bizRuleData.lastUserTypeToEdit === 'BUYER'\">\n Buyer ({{ bizRuleData?.lastBuyerToEdit }})\n </ng-container></b\n >\n </span>\n <span class=\"mlr-4\"> | </span>\n <span\n >Status: <b>{{ bizRuleStatus | annaReplaceChar: \"_\" : \" \" | titlecase }}</b></span\n >\n </div>\n </div>\n\n <div\n class=\"comment-container\"\n *ngIf=\"bizRuleData?.comment\"\n >\n <h5>{{ bizRuleData?.lastUserTypeToEdit | titlecase }} Comment</h5>\n {{ bizRuleData?.comment }}\n </div>\n\n <div class=\"station {{ containerClass }} {{ userType }} business-rules-div\">\n <div class=\"row tab-nav-bar\">\n <div\n class=\"biz-rules-tab\"\n *ngFor=\"let tab of businessRuleSectiontabs\"\n >\n <span\n class=\"tab-element\"\n (click)=\"tabChangeClicked(tab)\"\n [ngClass]=\"{ 'tab-active': tab.url === orderCurrentTabUrl }\"\n >\n <span>{{ tab.name }}</span>\n </span>\n </div>\n </div>\n\n <div\n class=\"table-data approval-section-container no-border-bottom\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.Approvals\"\n (scroll)=\"onContainerScroll()\"\n >\n <anna-feature-biz-rules-approval-config\n [approvalConfig]=\"bizRuleData?.approvalConfig\"\n [userType]=\"userType\"\n [isTrafficAnnaOrder]=\"isTrafficAnnaOrder\"\n [businessRulePageType]=\"type | uppercase\"\n [editMode]=\"false\"\n >\n </anna-feature-biz-rules-approval-config>\n </div>\n\n <div\n class=\"table-data daypart-restriction-container\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.DaypartRestriction\"\n >\n <anna-feature-biz-rules-daypart-restrictions\n [data]=\"bizRuleData?.dayAndDaypartRestrictionForMgAndAdu\"\n [isDisabled]=\"true\"\n [highlightChanges]=\"false\"\n >\n </anna-feature-biz-rules-daypart-restrictions>\n </div>\n\n <div\n class=\"table-data equivalent-and-higher-daypart-container\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.EquivalentAndHigherDaypart\"\n >\n <anna-feature-biz-rules-equivalent-and-higher-daypart\n [daypartEquivalenceRules]=\"bizRuleData?.equivalentAndHigherDaypartForMgAndAdu\"\n [isDisabled]=\"true\"\n [highlightChanges]=\"false\"\n [hideInfoMessage]=\"false\"\n >\n </anna-feature-biz-rules-equivalent-and-higher-daypart>\n </div>\n\n <div\n class=\"table-data\"\n [ngClass]=\"{ 'no-border-bottom': !bizRuleDataForHistoryTable?.selectedExcludedPrograms?.length }\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.ExcludePrograms\"\n >\n <anna-feature-biz-rules-excluded-or-special-program\n [tableHeaders]=\"excludedOrSpecialTableHeaders\"\n [editMode]=\"false\"\n [selectedInventories]=\"bizRuleDataForHistoryTable?.selectedExcludedPrograms\"\n [componentName]=\"'EXCLUDED'\"\n [showTotalRow]=\"false\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </div>\n\n <div\n class=\"table-data\"\n [ngClass]=\"{ 'no-border-bottom': !bizRuleDataForHistoryTable?.selectedSpecialPrograms?.length }\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.SpecialPrograms\"\n >\n <anna-feature-biz-rules-excluded-or-special-program\n [tableHeaders]=\"excludedOrSpecialTableHeaders\"\n [editMode]=\"false\"\n [selectedInventories]=\"bizRuleDataForHistoryTable?.selectedSpecialPrograms\"\n [componentName]=\"'SPECIAL'\"\n [isHistoryPage]=\"true\"\n [showTotalRow]=\"false\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </div>\n\n <div\n class=\"mg-adu-table table-data\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.General\"\n >\n <anna-feature-biz-rules-general-rules\n #general\n [generalRules]=\"bizRuleData?.generalRules\"\n [editMode]=\"false\"\n [highlightChanges]=\"false\"\n >\n </anna-feature-biz-rules-general-rules>\n </div>\n\n <div\n class=\"mg-adu-table table-data\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.MG\"\n >\n <anna-feature-biz-rules-make-good-rules\n #makeGood\n [makeGoodValue]=\"bizRuleData?.makeGoodRules\"\n [highlightChanges]=\"false\"\n [isDisabled]=\"true\"\n [editMode]=\"false\"\n [hideRulesTooltipInfo]=\"false\"\n ></anna-feature-biz-rules-make-good-rules>\n </div>\n\n <div\n class=\"table-data mg-adu-table\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.ADU\"\n >\n <anna-feature-biz-rules-adu-rules\n #adu\n [intialAduValue]=\"bizRuleData?.aduRules\"\n [aduValue]=\"bizRuleData?.aduRules\"\n [highlightChanges]=\"false\"\n [isDisabled]=\"true\"\n [editMode]=\"false\"\n [hideRulesTooltipInfo]=\"false\"\n >\n </anna-feature-biz-rules-adu-rules>\n </div>\n </div>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <anna-design-skt-loader\n class=\"col-6 m-auto\"\n [theme]=\"{ display: 'block', width: '33rem', height: '2rem', margin: 'auto' }\"\n ></anna-design-skt-loader>\n\n <anna-design-skt-loader\n class=\"col-12 p-0\"\n [theme]=\"{ display: 'block', width: '95vw', height: '10rem', margin: 'auto' }\"\n ></anna-design-skt-loader>\n <anna-design-skt-loader\n class=\"col-12 p-0\"\n [theme]=\"{ display: 'block', width: '95vw', height: '20rem', margin: '1.25rem auto' }\"\n ></anna-design-skt-loader>\n</div>\n\n<div\n *ngIf=\"!loading && !bizRuleData\"\n class=\"history-no-data\"\n>\n <anna-core-no-data-lib [width]=\"'55%'\"></anna-core-no-data-lib>\n</div>\n\n<ng-template\n #selectedDp\n let-data=\"data\"\n>\n <ng-container *ngIf=\"data && data?.length\">\n <ng-container *ngFor=\"let dp of data; let last = last\">\n {{ dp }}\n <ng-container *ngIf=\"!last\">{{ \", \" }}</ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!data || data?.length === 0\"> - </ng-container>\n</ng-template>\n", styles: [".main-seperate-tab-background{height:100%;width:100%;left:0;top:0;z-index:99999;background:#fff;position:absolute}.main-seperate-tab-background nav{background-color:var(--primary-app-theme-color, #8bac2a);height:var(--navbar-height, 50px);background-position:right;padding:13px 0;width:100%}.main-seperate-tab-background nav img{margin-left:auto;margin-right:auto;display:block;height:26px}.main-seperate-tab-background .main-container{padding:10px 40px 0;background:#fff}.heading{text-align:center;color:#4d4d4d;font-weight:900;font-size:var(--separate-page-heading)!important;margin:10px 0}:host ::ng-deep ngx-skeleton-loader .loader{background-color:var(--skeleton-loader-color);margin:5px 0}.status-details{font-size:var(--page-link-fs)}.status-details .left-section span{float:left;margin-right:1.25rem}.status-details .right-section span{float:right}.comment-container{margin:0 0 10px;border:1px solid #ccc;border-radius:6px;padding:10px;font-size:14px}.comment-container h5{font-size:14px;color:#4a4a4a;margin-bottom:0!important}.status-details{margin:0 0 8px;flex-direction:row;display:flex;justify-content:space-between}.status-details div:first-of-type span:first-of-type{margin-right:20px}.status-details div:nth-of-type(2) span{float:right}.business-rules-div{margin:15px 0 10px;border:1px solid #ccc;border-radius:6px;padding:20px 0 10px;overflow:hidden}.tab-nav-bar{border-bottom:1px solid #dbdbdb;width:100%;font-size:16px;padding:0 0 5px 20px;margin:0 0 12px}.biz-rules-tab{display:inline-block;margin-right:20px;font-size:14px;color:#268bff;cursor:pointer;font-weight:500}.tab-active{color:#4a4a4a;padding-bottom:5px;border-bottom:3px solid #4a4a4a;font-weight:800!important}.table-data{margin:0 20px;overflow:auto;max-height:calc(100vh - 306px);border-bottom:1px solid #d4d4d4}.empty-data{margin:auto;text-align:center;padding:20px 0}.table-data::-webkit-scrollbar-track{margin-top:33px;margin-right:100px!important}.no-table-data{border-bottom:none!important}.history-no-data{height:100px}.history-no-data ::ng-deep anna-core-no-data-lib .no-data{top:30%!important;margin-right:50%!important}.no-border-bottom{border-bottom:none!important}:host ::ng-deep div.buyer-container-view{margin:.5rem 0}:host ::ng-deep anna-feature-biz-rules-equivalent-and-higher-daypart .table-container{max-height:calc(100vh - 345px)!important}:host ::ng-deep anna-feature-biz-rules-excluded-or-special-program .table-container::-webkit-scrollbar-track{margin-top:40px!important;margin-left:0}.table-data.mg-adu-table::-webkit-scrollbar-track{margin-top:45px!important}:host ::ng-deep .mi.mdi-info-outline{display:inline-block!important}:host ::ng-deep .business-rules-div.station-biz-rule .approval-section-container.table-data{max-height:none!important;overflow:hidden!important}:host ::ng-deep .business-rules-div.station .table-data{max-height:calc(100vh - 243px)}:host ::ng-deep .business-rules-div.station.BUYER .table-data.approval-section-container{max-height:none!important;overflow:hidden!important}:host ::ng-deep .business-rules-div.station anna-feature-biz-rules-equivalent-and-higher-daypart .table-container{max-height:calc(100vh - 302px)!important}:host ::ng-deep .business-rules-div.station #scroll-container-general{max-height:calc(100vh - 286px)!important;box-shadow:inset 1px 0 #d4d4d4;overflow:auto}:host ::ng-deep .business-rules-div.station #scroll-container-adu{max-height:calc(100vh - 302px)!important;overflow:auto}:host ::ng-deep .business-rules-div.station #scroll-container-mg{max-height:calc(100vh - 302px)!important;overflow:auto}:host ::ng-deep .business-rules-div.station .excluded-or-special-inventory-popup-outer-container{max-height:calc(100vh - 330px)!important;overflow:auto}:host ::ng-deep .business-rules-div anna-feature-biz-rules-buyer-contact-details .table-container{overflow:hidden}:host ::ng-deep anna-feature-biz-rules-buyer-contact-details anna-design-radio-buttons mat-radio-group mat-radio-button:nth-of-type(2){margin-left:24px!important}:host ::ng-deep #scroll-container-general{max-height:calc(100vh - 349px)!important;overflow:auto}:host ::ng-deep #scroll-container-mg{max-height:calc(100vh - 365px)!important;overflow:auto}:host ::ng-deep #scroll-container-adu{max-height:calc(100vh - 365px)!important;overflow:auto}:host ::ng-deep .excluded-or-special-inventory-popup-outer-container{max-height:calc(100vh - 394px)!important;overflow:auto}:host ::ng-deep #scroll-container-dp{max-height:calc(100vh - 282px)!important;overflow:auto}@media only screen and (min-height: 712px) and (max-height: 715px){:host ::ng-deep .business-rules-div.station .table-data{max-height:calc(100vh - 253px)!important}:host ::ng-deep .business-rules-div.station #scroll-container-general{max-height:calc(100vh - 297px)!important;overflow:auto}}@media only screen and (min-height: 800px){:host ::ng-deep .business-rules-div #scroll-container-general{overflow:hidden!important}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: DaypartRestrictionsComponent, selector: "anna-feature-biz-rules-daypart-restrictions", inputs: ["data", "isDisabled", "highlightChanges", "noOfHighlightChanges"], outputs: ["dpChanges"] }, { kind: "component", type: EquivalentAndHigherDaypartComponent, selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", inputs: ["daypartEquivalenceRules", "isDisabled", "highlightChanges", "noOfHighlightChanges", "hideInfoMessage"], outputs: ["equivalencyRulesChanges"] }, { kind: "component", type: ExcludedOrSpecialProgramComponent, selector: "anna-feature-biz-rules-excluded-or-special-program", inputs: ["tableHeaders", "nonSelectedInventories", "selectedInventories", "componentName", "noOfHighlightChanges", "editMode", "isHistoryPage", "showTotalRow"], outputs: ["inventoriesSelected", "inventoriesNotSelected", "modalClose"] }, { kind: "component", type: GeneralRulesComponent, selector: "anna-feature-biz-rules-general-rules", inputs: ["disableAdvertiserSeparation", "advertiserSeparationClonedValue", "generalRules", "highlightChanges", "editMode"], outputs: ["generalRuleChange"] }, { kind: "component", type: MakeGoodRulesComponent, selector: "anna-feature-biz-rules-make-good-rules", inputs: ["makeGoodValue", "isDisabled", "highlightChanges", "editMode", "hideRulesTooltipInfo", "mgTabSelected", "minimumSeparation", "businessRulePageType", "isTrafficAnnaOrder", "showMinimumSeparationInMessage"], outputs: ["makeGoodValueChange"] }, { kind: "component", type: AduRulesComponent, selector: "anna-feature-biz-rules-adu-rules", inputs: ["aduValue", "intialAduValue", "isDisabled", "highlightChanges", "disabledAduTimeWindow", "disabledAduPostingRequired", "editMode", "hideRulesTooltipInfo", "aduTabSelected", "minimumSeparation", "showMinimumSeparationInMessage"], outputs: ["aduChange"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.SkeletonLoaderComponent, selector: "anna-design-skt-loader", inputs: ["theme", "count"] }, { kind: "ngmodule", type: NgbModule }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }, { kind: "pipe", type: i1$3.AnnaReplaceCharPipe, name: "annaReplaceChar" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "component", type: ApprovalConfigComponent, selector: "anna-feature-biz-rules-approval-config", inputs: ["editModeClonedCopy", "approvalConfig", "userType", "businessRulePageType", "isTrafficAnnaOrder", "editMode"], outputs: ["approvalConfigChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4755
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRulesHistoryComponent, deps: [{ token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
4756
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: BusinessRulesHistoryComponent, isStandalone: true, selector: "anna-feature-biz-rules-business-rules-history", inputs: { bizRuleData: "bizRuleData", bizRuleDataForHistoryTable: "bizRuleDataForHistoryTable", loading: "loading", sellerOrBuyerApprovalKey: "sellerOrBuyerApprovalKey", businessRuleSectiontabs: "businessRuleSectiontabs", showBuyerBizRulesApprovalNeededToggle: "showBuyerBizRulesApprovalNeededToggle", userType: "userType" }, usesOnChanges: true, ngImport: i0, template: "<div\n class=\"heading\"\n *ngIf=\"type === BizHistoryType.STATION\"\n>\n {{ type | uppercase }} BUSINESS RULES HISTORY\n</div>\n<div\n class=\"heading\"\n *ngIf=\"type !== BizHistoryType.STATION\"\n>\n {{ type | uppercase }} HISTORY\n</div>\n\n<ng-container *ngIf=\"!loading && bizRuleData\">\n <div class=\"status-details\">\n <div class=\"left-section\">\n <span *ngIf=\"bizRuleData?.ogName && userType === 'BUYER'\"\n >OG: <b>{{ bizRuleData?.ogName }}</b></span\n >\n <span\n >Station: <b>{{ bizRuleData?.stationName }}</b></span\n >\n <span *ngIf=\"type !== BizHistoryType.STATION\"\n >Advertiser: <b>{{ bizRuleData?.advertiserName }} </b></span\n >\n <span *ngIf=\"type === BizHistoryType.ORDER\"\n >Order #: <b>{{ orderId }}</b></span\n >\n </div>\n\n <div class=\"right-section\">\n <span\n >Updated On: <b>{{ bizRuleData?.lastEditedAt }} </b></span\n >\n <span class=\"mlr-4\"> | </span>\n <span\n >Updated By:\n <b>\n <ng-container *ngIf=\"bizRuleData?.lastUserTypeToEdit === 'SELLER'\">\n Seller ({{ bizRuleData?.lastSellerToEdit }})\n </ng-container>\n <ng-container *ngIf=\"bizRuleData.lastUserTypeToEdit === 'BUYER'\">\n Buyer ({{ bizRuleData?.lastBuyerToEdit }})\n </ng-container></b\n >\n </span>\n <span class=\"mlr-4\"> | </span>\n <span\n >Status: <b>{{ bizRuleStatus | annaReplaceChar: \"_\" : \" \" | titlecase }}</b></span\n >\n </div>\n </div>\n\n <div\n class=\"comment-container\"\n *ngIf=\"bizRuleData?.comment\"\n >\n <h5>{{ bizRuleData?.lastUserTypeToEdit | titlecase }} Comment</h5>\n {{ bizRuleData?.comment }}\n </div>\n\n <div class=\"station {{ containerClass }} {{ userType }} business-rules-div\">\n <div class=\"row tab-nav-bar\">\n <div\n class=\"biz-rules-tab\"\n *ngFor=\"let tab of businessRuleSectiontabs\"\n >\n <span\n class=\"tab-element\"\n (click)=\"tabChangeClicked(tab)\"\n [ngClass]=\"{ 'tab-active': tab.url === orderCurrentTabUrl }\"\n >\n <span>{{ tab.name }}</span>\n </span>\n </div>\n </div>\n\n <div\n class=\"table-data approval-section-container no-border-bottom\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.Approvals\"\n (scroll)=\"onContainerScroll()\"\n >\n <anna-feature-biz-rules-approval-config\n [approvalConfig]=\"bizRuleData?.approvalConfig\"\n [userType]=\"userType\"\n [isTrafficAnnaOrder]=\"isTrafficAnnaOrder\"\n [businessRulePageType]=\"type | uppercase\"\n [editMode]=\"false\"\n >\n </anna-feature-biz-rules-approval-config>\n </div>\n\n <div\n class=\"table-data daypart-restriction-container\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.DaypartRestriction\"\n >\n <anna-feature-biz-rules-daypart-restrictions\n [data]=\"bizRuleData?.dayAndDaypartRestrictionForMgAndAdu\"\n [isDisabled]=\"true\"\n [highlightChanges]=\"false\"\n >\n </anna-feature-biz-rules-daypart-restrictions>\n </div>\n\n <div\n class=\"table-data equivalent-and-higher-daypart-container\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.EquivalentAndHigherDaypart\"\n >\n <anna-feature-biz-rules-equivalent-and-higher-daypart\n [daypartEquivalenceRules]=\"bizRuleData?.equivalentAndHigherDaypartForMgAndAdu\"\n [isDisabled]=\"true\"\n [highlightChanges]=\"false\"\n [hideInfoMessage]=\"false\"\n >\n </anna-feature-biz-rules-equivalent-and-higher-daypart>\n </div>\n\n <div\n class=\"table-data\"\n [ngClass]=\"{ 'no-border-bottom': !bizRuleDataForHistoryTable?.selectedExcludedPrograms?.length }\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.ExcludePrograms\"\n >\n <anna-feature-biz-rules-excluded-or-special-program\n [tableHeaders]=\"excludedOrSpecialTableHeaders\"\n [editMode]=\"false\"\n [selectedInventories]=\"bizRuleDataForHistoryTable?.selectedExcludedPrograms\"\n [componentName]=\"'EXCLUDED'\"\n [showTotalRow]=\"false\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </div>\n\n <div\n class=\"table-data\"\n [ngClass]=\"{ 'no-border-bottom': !bizRuleDataForHistoryTable?.selectedSpecialPrograms?.length }\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.SpecialPrograms\"\n >\n <anna-feature-biz-rules-excluded-or-special-program\n [tableHeaders]=\"excludedOrSpecialTableHeaders\"\n [editMode]=\"false\"\n [selectedInventories]=\"bizRuleDataForHistoryTable?.selectedSpecialPrograms\"\n [componentName]=\"'SPECIAL'\"\n [isHistoryPage]=\"true\"\n [showTotalRow]=\"false\"\n >\n </anna-feature-biz-rules-excluded-or-special-program>\n </div>\n\n <div\n class=\"mg-adu-table table-data\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.General\"\n >\n <anna-feature-biz-rules-general-rules\n #general\n [generalRules]=\"bizRuleData?.generalRules\"\n [editMode]=\"false\"\n [highlightChanges]=\"false\"\n >\n </anna-feature-biz-rules-general-rules>\n </div>\n\n <div\n class=\"mg-adu-table table-data\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.MG\"\n >\n <anna-feature-biz-rules-make-good-rules\n #makeGood\n [makeGoodValue]=\"bizRuleData?.makeGoodRules\"\n [highlightChanges]=\"false\"\n [isDisabled]=\"true\"\n [editMode]=\"false\"\n [hideRulesTooltipInfo]=\"false\"\n ></anna-feature-biz-rules-make-good-rules>\n </div>\n\n <div\n class=\"table-data mg-adu-table\"\n *ngIf=\"orderCurrentTabUrl === bizRuleUrl.ADU\"\n >\n <anna-feature-biz-rules-adu-rules\n #adu\n [intialAduValue]=\"bizRuleData?.aduRules\"\n [aduValue]=\"bizRuleData?.aduRules\"\n [highlightChanges]=\"false\"\n [isDisabled]=\"true\"\n [editMode]=\"false\"\n [hideRulesTooltipInfo]=\"false\"\n >\n </anna-feature-biz-rules-adu-rules>\n </div>\n </div>\n</ng-container>\n\n<div *ngIf=\"loading\">\n <anna-design-skt-loader\n class=\"col-6 m-auto\"\n [theme]=\"{ display: 'block', width: '33rem', height: '2rem', margin: 'auto' }\"\n ></anna-design-skt-loader>\n\n <anna-design-skt-loader\n class=\"col-12 p-0\"\n [theme]=\"{ display: 'block', width: '95vw', height: '10rem', margin: 'auto' }\"\n ></anna-design-skt-loader>\n <anna-design-skt-loader\n class=\"col-12 p-0\"\n [theme]=\"{ display: 'block', width: '95vw', height: '20rem', margin: '1.25rem auto' }\"\n ></anna-design-skt-loader>\n</div>\n\n<div\n *ngIf=\"!loading && !bizRuleData\"\n class=\"history-no-data\"\n>\n <anna-core-no-data-lib [width]=\"'55%'\"></anna-core-no-data-lib>\n</div>\n\n<ng-template\n #selectedDp\n let-data=\"data\"\n>\n <ng-container *ngIf=\"data && data?.length\">\n <ng-container *ngFor=\"let dp of data; let last = last\">\n {{ dp }}\n <ng-container *ngIf=\"!last\">{{ \", \" }}</ng-container>\n </ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!data || data?.length === 0\"> - </ng-container>\n</ng-template>\n", styles: [".main-seperate-tab-background{height:100%;width:100%;left:0;top:0;z-index:99999;background:#fff;position:absolute}.main-seperate-tab-background nav{background-color:var(--primary-app-theme-color, #8bac2a);height:var(--navbar-height, 50px);background-position:right;padding:13px 0;width:100%}.main-seperate-tab-background nav img{margin-left:auto;margin-right:auto;display:block;height:26px}.main-seperate-tab-background .main-container{padding:10px 40px 0;background:#fff}.heading{text-align:center;color:#4d4d4d;font-weight:900;font-size:var(--separate-page-heading)!important;margin:10px 0}:host ::ng-deep ngx-skeleton-loader .loader{background-color:var(--skeleton-loader-color);margin:5px 0}.status-details{font-size:var(--page-link-fs)}.status-details .left-section span{float:left;margin-right:1.25rem}.status-details .right-section span{float:right}.comment-container{margin:0 0 10px;border:1px solid #ccc;border-radius:6px;padding:10px;font-size:14px}.comment-container h5{font-size:14px;color:#4a4a4a;margin-bottom:0!important}.status-details{margin:0 0 8px;flex-direction:row;display:flex;justify-content:space-between}.status-details div:first-of-type span:first-of-type{margin-right:20px}.status-details div:nth-of-type(2) span{float:right}.business-rules-div{margin:15px 0 10px;border:1px solid #ccc;border-radius:6px;padding:20px 0 10px;overflow:hidden}.tab-nav-bar{border-bottom:1px solid #dbdbdb;width:100%;font-size:16px;padding:0 0 5px 20px;margin:0 0 12px}.biz-rules-tab{display:inline-block;margin-right:20px;font-size:14px;color:#268bff;cursor:pointer;font-weight:500}.tab-active{color:#4a4a4a;padding-bottom:5px;border-bottom:3px solid #4a4a4a;font-weight:800!important}.table-data{margin:0 20px;overflow:auto;max-height:calc(100vh - 306px);border-bottom:1px solid #d4d4d4}.empty-data{margin:auto;text-align:center;padding:20px 0}.table-data::-webkit-scrollbar-track{margin-top:33px;margin-right:100px!important}.no-table-data{border-bottom:none!important}.history-no-data{height:100px}.history-no-data ::ng-deep anna-core-no-data-lib .no-data{top:30%!important;margin-right:50%!important}.no-border-bottom{border-bottom:none!important}:host ::ng-deep div.buyer-container-view{margin:.5rem 0}:host ::ng-deep anna-feature-biz-rules-equivalent-and-higher-daypart .table-container{max-height:calc(100vh - 345px)!important}:host ::ng-deep anna-feature-biz-rules-excluded-or-special-program .table-container::-webkit-scrollbar-track{margin-top:40px!important;margin-left:0}.table-data.mg-adu-table::-webkit-scrollbar-track{margin-top:45px!important}:host ::ng-deep .mi.mdi-info-outline{display:inline-block!important}:host ::ng-deep .business-rules-div.station-biz-rule .approval-section-container.table-data{max-height:none!important;overflow:hidden!important}:host ::ng-deep .business-rules-div.station .table-data{max-height:calc(100vh - 243px)}:host ::ng-deep .business-rules-div.station.BUYER .table-data.approval-section-container{max-height:none!important;overflow:hidden!important}:host ::ng-deep .business-rules-div.station anna-feature-biz-rules-equivalent-and-higher-daypart .table-container{max-height:calc(100vh - 302px)!important}:host ::ng-deep .business-rules-div.station #scroll-container-general{max-height:calc(100vh - 286px)!important;box-shadow:inset 1px 0 #d4d4d4;overflow:auto}:host ::ng-deep .business-rules-div.station #scroll-container-adu{max-height:calc(100vh - 302px)!important;overflow:auto}:host ::ng-deep .business-rules-div.station #scroll-container-mg{max-height:calc(100vh - 302px)!important;overflow:auto}:host ::ng-deep .business-rules-div.station .excluded-or-special-inventory-popup-outer-container{max-height:calc(100vh - 330px)!important;overflow:auto}:host ::ng-deep .business-rules-div anna-feature-biz-rules-buyer-contact-details .table-container{overflow:hidden}:host ::ng-deep anna-feature-biz-rules-buyer-contact-details anna-design-radio-buttons mat-radio-group mat-radio-button:nth-of-type(2){margin-left:24px!important}:host ::ng-deep #scroll-container-general{max-height:calc(100vh - 349px)!important;overflow:auto}:host ::ng-deep #scroll-container-mg{max-height:calc(100vh - 365px)!important;overflow:auto}:host ::ng-deep #scroll-container-adu{max-height:calc(100vh - 365px)!important;overflow:auto}:host ::ng-deep .excluded-or-special-inventory-popup-outer-container{max-height:calc(100vh - 394px)!important;overflow:auto}:host ::ng-deep #scroll-container-dp{max-height:calc(100vh - 282px)!important;overflow:auto}@media only screen and (min-height: 712px) and (max-height: 715px){:host ::ng-deep .business-rules-div.station .table-data{max-height:calc(100vh - 253px)!important}:host ::ng-deep .business-rules-div.station #scroll-container-general{max-height:calc(100vh - 297px)!important;overflow:auto}}@media only screen and (min-height: 800px){:host ::ng-deep .business-rules-div #scroll-container-general{overflow:hidden!important}}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: DaypartRestrictionsComponent, selector: "anna-feature-biz-rules-daypart-restrictions", inputs: ["data", "isDisabled", "highlightChanges", "noOfHighlightChanges"], outputs: ["dpChanges"] }, { kind: "component", type: EquivalentAndHigherDaypartComponent, selector: "anna-feature-biz-rules-equivalent-and-higher-daypart", inputs: ["daypartEquivalenceRules", "isDisabled", "highlightChanges", "noOfHighlightChanges", "hideInfoMessage"], outputs: ["equivalencyRulesChanges"] }, { kind: "component", type: ExcludedOrSpecialProgramComponent, selector: "anna-feature-biz-rules-excluded-or-special-program", inputs: ["tableHeaders", "nonSelectedInventories", "selectedInventories", "componentName", "noOfHighlightChanges", "editMode", "isHistoryPage", "showTotalRow"], outputs: ["inventoriesSelected", "inventoriesNotSelected", "modalClose"] }, { kind: "component", type: GeneralRulesComponent, selector: "anna-feature-biz-rules-general-rules", inputs: ["disableAdvertiserSeparation", "advertiserSeparationClonedValue", "generalRules", "highlightChanges", "editMode"], outputs: ["generalRuleChange"] }, { kind: "component", type: MakeGoodRulesComponent, selector: "anna-feature-biz-rules-make-good-rules", inputs: ["makeGoodValue", "isDisabled", "highlightChanges", "editMode", "hideRulesTooltipInfo", "mgTabSelected", "minimumSeparation", "businessRulePageType", "isTrafficAnnaOrder", "showMinimumSeparationInMessage"], outputs: ["makeGoodValueChange"] }, { kind: "component", type: AduRulesComponent, selector: "anna-feature-biz-rules-adu-rules", inputs: ["aduValue", "intialAduValue", "isDisabled", "highlightChanges", "disabledAduTimeWindow", "disabledAduPostingRequired", "editMode", "hideRulesTooltipInfo", "aduTabSelected", "minimumSeparation", "showMinimumSeparationInMessage"], outputs: ["aduChange"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.SkeletonLoaderComponent, selector: "anna-design-skt-loader", inputs: ["theme", "count"] }, { kind: "ngmodule", type: NgbModule }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNoDataComponent, selector: "anna-core-no-data-lib", inputs: ["width", "marginTop"] }, { kind: "pipe", type: i1$3.AnnaReplaceCharPipe, name: "annaReplaceChar" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "pipe", type: TitleCasePipe, name: "titlecase" }, { kind: "component", type: ApprovalConfigComponent, selector: "anna-feature-biz-rules-approval-config", inputs: ["editModeClonedCopy", "approvalConfig", "userType", "businessRulePageType", "isTrafficAnnaOrder", "editMode"], outputs: ["approvalConfigChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4757
4757
  }
4758
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRulesHistoryComponent, decorators: [{
4758
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRulesHistoryComponent, decorators: [{
4759
4759
  type: Component,
4760
4760
  args: [{ selector: "anna-feature-biz-rules-business-rules-history", changeDetection: ChangeDetectionStrategy.OnPush, imports: [
4761
4761
  NgIf,
@@ -4989,10 +4989,10 @@ class BusinessRulesHistoryPopupComponent {
4989
4989
  },
4990
4990
  ];
4991
4991
  }
4992
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRulesHistoryPopupComponent, deps: [{ token: i1$2.NgbModal }, { token: i2$2.Router }, { token: i1$3.AnnaFilterService }, { token: i1$3.AnnaSortService }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4993
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: BusinessRulesHistoryPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-business-rules-history-popup", inputs: { loading: "loading", historyTableData: "historyTableData", componentName: "componentName", advertiserIdText: "advertiserIdText", stationIdText: "stationIdText" }, outputs: { closeModal: "closeModal" }, viewQueries: [{ propertyName: "historyPopupModal", first: true, predicate: ["historyPopupModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\n #historyPopupModal\n let-modal\n>\n <div class=\"modal-header\">\n <i\n class=\"mi mdi-close-icon mdi-font-md close float-end\"\n (click)=\"closeHistoryPopup()\"\n ></i>\n <h3\n class=\"modal-title\"\n *ngIf=\"componentName === BizHistoryType.ADVERTISER\"\n >\n Advertiser History\n </h3>\n <h3\n class=\"modal-title\"\n *ngIf=\"componentName === BizHistoryType.STATION\"\n >\n Station Business Rules History\n </h3>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"meta-data\">\n <span>\n Station: <b>{{ stationIdText?.text }}</b></span\n >\n <span *ngIf=\"componentName === BizHistoryType.ADVERTISER\"\n >Advertiser: <b>{{ advertiserIdText?.text }}</b></span\n >\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [ngClass]=\"{ 'biz-history-popup-no-data-table': !loading && historyTableData && !historyTableData.length }\"\n class=\"biz-history-gt-table\"\n [fixNumberOfRowsForPopup]=\"true\"\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"historyTableData\"\n [clonedTableData]=\"historyTableDataCloned\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (clickableDataClicked)=\"redirectToBizHistory($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n </div>\n</ng-template>\n", styles: [".modal-header{padding:1rem 1.25rem}.modal-header i.mdi-close-icon{position:relative;font-size:1.125rem;bottom:1.0625rem;left:.5625rem}.modal-body{padding:1.5rem}.modal-title{font-family:Roboto;font-size:var(--modal-header-title-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.meta-data{margin-bottom:8px;display:flex;flex-direction:row;gap:20px}.meta-data span{font-family:Roboto;font-size:var(--page-link-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:.86;letter-spacing:normal}::ng-deep .biz-history-modal>.modal-dialog{width:40.75rem!important;min-width:40.75rem!important;max-width:40.75rem!important;top:95px!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .table-container::-webkit-scrollbar-track{margin-top:40px}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table ngx-skeleton-loader,::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table ngx-skeleton-loader span{outline:none!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .loader{margin-bottom:0}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .lower-label{color:var(--primary-text-color-dark)!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table a{color:#268bff!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table a.no-data{color:var(--disabled-text-color-darker)!important;text-decoration:none!important;pointer-events:none!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table th{color:var(--primary-text-color-dark)!important;padding:2px 8px!important;font-weight:700!important;background-color:var(--table-header-bg-color)!important;font-family:Roboto;font-size:11px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table td{color:var(--font-color)!important;padding:2px 8px!important;font-family:Roboto;font-size:12px!important;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;letter-spacing:.1}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table td div{text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important}::ng-deep .biz-history-popup-no-data-table .table-container{height:200px!important}::ng-deep .biz-history-popup-no-data-table .table-container table{border:solid 1px #d4d4d4}::ng-deep .biz-history-popup-no-data-table .table-container table thead th{cursor:default;box-shadow:none!important;border:solid 1px #d4d4d4!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr.no-border-tr:first-of-type{height:80px!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr.no-border-tr:first-of-type td{box-shadow:none!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr:nth-child(n+1) td{box-shadow:none!important}::ng-deep .biz-history-popup-no-data-table .no-data{margin-top:-30px!important}::ng-deep .biz-history-popup-no-data-table table{box-shadow:inset 1px 0 #d3d3d3!important;border-left:none!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4992
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRulesHistoryPopupComponent, deps: [{ token: i1$2.NgbModal }, { token: i2$2.Router }, { token: i1$3.AnnaFilterService }, { token: i1$3.AnnaSortService }, { token: i1$3.AnnaGlobalConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
4993
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: BusinessRulesHistoryPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-business-rules-history-popup", inputs: { loading: "loading", historyTableData: "historyTableData", componentName: "componentName", advertiserIdText: "advertiserIdText", stationIdText: "stationIdText" }, outputs: { closeModal: "closeModal" }, viewQueries: [{ propertyName: "historyPopupModal", first: true, predicate: ["historyPopupModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\n #historyPopupModal\n let-modal\n>\n <div class=\"modal-header\">\n <i\n class=\"mi mdi-close-icon mdi-font-md close float-end\"\n (click)=\"closeHistoryPopup()\"\n ></i>\n <h3\n class=\"modal-title\"\n *ngIf=\"componentName === BizHistoryType.ADVERTISER\"\n >\n Advertiser History\n </h3>\n <h3\n class=\"modal-title\"\n *ngIf=\"componentName === BizHistoryType.STATION\"\n >\n Station Business Rules History\n </h3>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"meta-data\">\n <span>\n Station: <b>{{ stationIdText?.text }}</b></span\n >\n <span *ngIf=\"componentName === BizHistoryType.ADVERTISER\"\n >Advertiser: <b>{{ advertiserIdText?.text }}</b></span\n >\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [ngClass]=\"{ 'biz-history-popup-no-data-table': !loading && historyTableData && !historyTableData.length }\"\n class=\"biz-history-gt-table\"\n [fixNumberOfRowsForPopup]=\"true\"\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"historyTableData\"\n [clonedTableData]=\"historyTableDataCloned\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (clickableDataClicked)=\"redirectToBizHistory($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n </div>\n</ng-template>\n", styles: [".modal-header{padding:1rem 1.25rem}.modal-header i.mdi-close-icon{position:relative;font-size:1.125rem;bottom:1.0625rem;left:.5625rem}.modal-body{padding:1.5rem}.modal-title{font-family:Roboto;font-size:var(--modal-header-title-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.meta-data{margin-bottom:8px;display:flex;flex-direction:row;gap:20px}.meta-data span{font-family:Roboto;font-size:var(--page-link-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:.86;letter-spacing:normal}::ng-deep .biz-history-modal>.modal-dialog{width:40.75rem!important;min-width:40.75rem!important;max-width:40.75rem!important;top:95px!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .table-container::-webkit-scrollbar-track{margin-top:40px}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table ngx-skeleton-loader,::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table ngx-skeleton-loader span{outline:none!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .loader{margin-bottom:0}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .lower-label{color:var(--primary-text-color-dark)!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table a{color:#268bff!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table a.no-data{color:var(--disabled-text-color-darker)!important;text-decoration:none!important;pointer-events:none!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table th{color:var(--primary-text-color-dark)!important;padding:2px 8px!important;font-weight:700!important;background-color:var(--table-header-bg-color)!important;font-family:Roboto;font-size:11px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table td{color:var(--font-color)!important;padding:2px 8px!important;font-family:Roboto;font-size:12px!important;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;letter-spacing:.1}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table td div{text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important}::ng-deep .biz-history-popup-no-data-table .table-container{height:200px!important}::ng-deep .biz-history-popup-no-data-table .table-container table{border:solid 1px #d4d4d4}::ng-deep .biz-history-popup-no-data-table .table-container table thead th{cursor:default;box-shadow:none!important;border:solid 1px #d4d4d4!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr.no-border-tr:first-of-type{height:80px!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr.no-border-tr:first-of-type td{box-shadow:none!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr:nth-child(n+1) td{box-shadow:none!important}::ng-deep .biz-history-popup-no-data-table .no-data{margin-top:-30px!important}::ng-deep .biz-history-popup-no-data-table table{box-shadow:inset 1px 0 #d3d3d3!important;border-left:none!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
4994
4994
  }
4995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BusinessRulesHistoryPopupComponent, decorators: [{
4995
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BusinessRulesHistoryPopupComponent, decorators: [{
4996
4996
  type: Component,
4997
4997
  args: [{ selector: "anna-feature-biz-rules-business-rules-history-popup", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AnnaCoreModule, NgClass], template: "<ng-template\n #historyPopupModal\n let-modal\n>\n <div class=\"modal-header\">\n <i\n class=\"mi mdi-close-icon mdi-font-md close float-end\"\n (click)=\"closeHistoryPopup()\"\n ></i>\n <h3\n class=\"modal-title\"\n *ngIf=\"componentName === BizHistoryType.ADVERTISER\"\n >\n Advertiser History\n </h3>\n <h3\n class=\"modal-title\"\n *ngIf=\"componentName === BizHistoryType.STATION\"\n >\n Station Business Rules History\n </h3>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"meta-data\">\n <span>\n Station: <b>{{ stationIdText?.text }}</b></span\n >\n <span *ngIf=\"componentName === BizHistoryType.ADVERTISER\"\n >Advertiser: <b>{{ advertiserIdText?.text }}</b></span\n >\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [ngClass]=\"{ 'biz-history-popup-no-data-table': !loading && historyTableData && !historyTableData.length }\"\n class=\"biz-history-gt-table\"\n [fixNumberOfRowsForPopup]=\"true\"\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"historyTableData\"\n [clonedTableData]=\"historyTableDataCloned\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (clickableDataClicked)=\"redirectToBizHistory($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n </div>\n</ng-template>\n", styles: [".modal-header{padding:1rem 1.25rem}.modal-header i.mdi-close-icon{position:relative;font-size:1.125rem;bottom:1.0625rem;left:.5625rem}.modal-body{padding:1.5rem}.modal-title{font-family:Roboto;font-size:var(--modal-header-title-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.meta-data{margin-bottom:8px;display:flex;flex-direction:row;gap:20px}.meta-data span{font-family:Roboto;font-size:var(--page-link-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:.86;letter-spacing:normal}::ng-deep .biz-history-modal>.modal-dialog{width:40.75rem!important;min-width:40.75rem!important;max-width:40.75rem!important;top:95px!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .table-container::-webkit-scrollbar-track{margin-top:40px}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table ngx-skeleton-loader,::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table ngx-skeleton-loader span{outline:none!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .loader{margin-bottom:0}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table .lower-label{color:var(--primary-text-color-dark)!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table a{color:#268bff!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table a.no-data{color:var(--disabled-text-color-darker)!important;text-decoration:none!important;pointer-events:none!important}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table th{color:var(--primary-text-color-dark)!important;padding:2px 8px!important;font-weight:700!important;background-color:var(--table-header-bg-color)!important;font-family:Roboto;font-size:11px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table td{color:var(--font-color)!important;padding:2px 8px!important;font-family:Roboto;font-size:12px!important;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;letter-spacing:.1}::ng-deep anna-core-non-editable-generic-table-lib.biz-history-gt-table td div{text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important}::ng-deep .biz-history-popup-no-data-table .table-container{height:200px!important}::ng-deep .biz-history-popup-no-data-table .table-container table{border:solid 1px #d4d4d4}::ng-deep .biz-history-popup-no-data-table .table-container table thead th{cursor:default;box-shadow:none!important;border:solid 1px #d4d4d4!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr.no-border-tr:first-of-type{height:80px!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr.no-border-tr:first-of-type td{box-shadow:none!important}::ng-deep .biz-history-popup-no-data-table .table-container table tbody tr:nth-child(n+1) td{box-shadow:none!important}::ng-deep .biz-history-popup-no-data-table .no-data{margin-top:-30px!important}::ng-deep .biz-history-popup-no-data-table table{box-shadow:inset 1px 0 #d3d3d3!important;border-left:none!important}\n"] }]
4998
4998
  }], ctorParameters: () => [{ type: i1$2.NgbModal }, { type: i2$2.Router }, { type: i1$3.AnnaFilterService }, { type: i1$3.AnnaSortService }, { type: i1$3.AnnaGlobalConfigService }], propDecorators: { loading: [{
@@ -5098,10 +5098,10 @@ class BuyerContactHistoryComponent {
5098
5098
  this.gtGeneralConfig = { ...this.globalConfig.defaultGtGeneralConfig };
5099
5099
  this.gtGeneralConfig.verticalScrollOffsetForFilterTooltip = 200;
5100
5100
  }
5101
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuyerContactHistoryComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
5102
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: BuyerContactHistoryComponent, isStandalone: true, selector: "anna-feature-biz-rules-buyer-contact-history", inputs: { buyerContactHistoryDetails: "buyerContactHistoryDetails", loading: "loading", tableHeaders: "tableHeaders", userType: "userType" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"heading\">{{ type | uppercase }} HISTORY</div>\n<div class=\"status-details\">\n <div class=\"left-section\">\n <span *ngIf=\"buyerContactHistoryDetails?.ogName && userType === 'BUYER'\"\n >OG: <b>{{buyerContactHistoryDetails?.ogName }}</b></span\n >\n <span\n >Station: <b>{{ buyerContactHistoryDetails?.stationName ? buyerContactHistoryDetails?.stationName : '-'}}</b></span\n >\n <span *ngIf=\"type === 'ADVERTISER'\"\n >Advertiser: <b>{{ buyerContactHistoryDetails?.advertiserName ? buyerContactHistoryDetails?.advertiserName : '-' }} </b></span\n >\n <span *ngIf=\"type === 'ORDER'\"\n >Order #: <b>{{ buyerContactHistoryDetails?.orderNumber ? buyerContactHistoryDetails?.orderNumber : '-' }}</b></span\n >\n </div>\n <div class=\"right-section\">\n <span\n >Updated By:\n <b> {{ buyerContactHistoryDetails?.updatedByUser || '-' }} </b>\n </span>\n <span class=\"mlr-4\"> | </span>\n <span\n >Updated On: <b>{{ buyerContactHistoryDetails?.updatedOnTime || '-' }} </b></span\n >\n </div>\n\n \n</div>\n\n<div class=\"history-table-container\">\n <anna-core-non-editable-generic-table-lib\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"buyerContactTableData\"\n [clonedTableData]=\"buyerContactTableData\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n [clickableRow]=\"false\"\n >\n </anna-core-non-editable-generic-table-lib>\n</div>", styles: [".main-seperate-tab-background{height:100%;width:100%;left:0;top:0;z-index:99999;background:#fff;position:absolute}.main-seperate-tab-background nav{background-color:var(--primary-app-theme-color, #8bac2a);height:var(--navbar-height, 50px);background-position:right;padding:13px 0;width:100%}.main-seperate-tab-background nav img{margin-left:auto;margin-right:auto;display:block;height:26px}.main-seperate-tab-background .main-container{padding:10px 40px 0;background:#fff}.heading{text-align:center;color:#4d4d4d;font-weight:900;font-size:var(--separate-page-heading)!important;margin:10px 0}:host ::ng-deep ngx-skeleton-loader .loader{background-color:var(--skeleton-loader-color);margin:5px 0}.status-details{margin-bottom:12px;font-size:var(--page-link-fs)}.status-details .left-section span{float:left;margin-right:1.25rem}.status-details .right-section span{float:right}.history-table-container{margin-top:35px}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:2.5625rem;margin-left:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:142px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr{height:50px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib td{cursor:default!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .no-data{margin-top:-75px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border{border-bottom:1px solid #d4d4d4}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5101
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BuyerContactHistoryComponent, deps: [{ token: i1$3.AnnaGlobalConfigService }, { token: i2$2.ActivatedRoute }], target: i0.ɵɵFactoryTarget.Component }); }
5102
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: BuyerContactHistoryComponent, isStandalone: true, selector: "anna-feature-biz-rules-buyer-contact-history", inputs: { buyerContactHistoryDetails: "buyerContactHistoryDetails", loading: "loading", tableHeaders: "tableHeaders", userType: "userType" }, usesOnChanges: true, ngImport: i0, template: "<div class=\"heading\">{{ type | uppercase }} HISTORY</div>\n<div class=\"status-details\">\n <div class=\"left-section\">\n <span *ngIf=\"buyerContactHistoryDetails?.ogName && userType === 'BUYER'\"\n >OG: <b>{{buyerContactHistoryDetails?.ogName }}</b></span\n >\n <span\n >Station: <b>{{ buyerContactHistoryDetails?.stationName ? buyerContactHistoryDetails?.stationName : '-'}}</b></span\n >\n <span *ngIf=\"type === 'ADVERTISER'\"\n >Advertiser: <b>{{ buyerContactHistoryDetails?.advertiserName ? buyerContactHistoryDetails?.advertiserName : '-' }} </b></span\n >\n <span *ngIf=\"type === 'ORDER'\"\n >Order #: <b>{{ buyerContactHistoryDetails?.orderNumber ? buyerContactHistoryDetails?.orderNumber : '-' }}</b></span\n >\n </div>\n <div class=\"right-section\">\n <span\n >Updated By:\n <b> {{ buyerContactHistoryDetails?.updatedByUser || '-' }} </b>\n </span>\n <span class=\"mlr-4\"> | </span>\n <span\n >Updated On: <b>{{ buyerContactHistoryDetails?.updatedOnTime || '-' }} </b></span\n >\n </div>\n\n \n</div>\n\n<div class=\"history-table-container\">\n <anna-core-non-editable-generic-table-lib\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"buyerContactTableData\"\n [clonedTableData]=\"buyerContactTableData\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n [clickableRow]=\"false\"\n >\n </anna-core-non-editable-generic-table-lib>\n</div>", styles: [".main-seperate-tab-background{height:100%;width:100%;left:0;top:0;z-index:99999;background:#fff;position:absolute}.main-seperate-tab-background nav{background-color:var(--primary-app-theme-color, #8bac2a);height:var(--navbar-height, 50px);background-position:right;padding:13px 0;width:100%}.main-seperate-tab-background nav img{margin-left:auto;margin-right:auto;display:block;height:26px}.main-seperate-tab-background .main-container{padding:10px 40px 0;background:#fff}.heading{text-align:center;color:#4d4d4d;font-weight:900;font-size:var(--separate-page-heading)!important;margin:10px 0}:host ::ng-deep ngx-skeleton-loader .loader{background-color:var(--skeleton-loader-color);margin:5px 0}.status-details{margin-bottom:12px;font-size:var(--page-link-fs)}.status-details .left-section span{float:left;margin-right:1.25rem}.status-details .right-section span{float:right}.history-table-container{margin-top:35px}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:2.5625rem;margin-left:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:142px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr{height:50px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib td{cursor:default!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .no-data{margin-top:-75px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border{border-bottom:1px solid #d4d4d4}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2$1.UpperCasePipe, name: "uppercase" }, { kind: "component", type: AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5103
5103
  }
5104
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuyerContactHistoryComponent, decorators: [{
5104
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BuyerContactHistoryComponent, decorators: [{
5105
5105
  type: Component,
5106
5106
  args: [{ selector: "anna-feature-biz-rules-buyer-contact-history", imports: [CommonModule, AnnaNonEditableGenericTableComponent], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"heading\">{{ type | uppercase }} HISTORY</div>\n<div class=\"status-details\">\n <div class=\"left-section\">\n <span *ngIf=\"buyerContactHistoryDetails?.ogName && userType === 'BUYER'\"\n >OG: <b>{{buyerContactHistoryDetails?.ogName }}</b></span\n >\n <span\n >Station: <b>{{ buyerContactHistoryDetails?.stationName ? buyerContactHistoryDetails?.stationName : '-'}}</b></span\n >\n <span *ngIf=\"type === 'ADVERTISER'\"\n >Advertiser: <b>{{ buyerContactHistoryDetails?.advertiserName ? buyerContactHistoryDetails?.advertiserName : '-' }} </b></span\n >\n <span *ngIf=\"type === 'ORDER'\"\n >Order #: <b>{{ buyerContactHistoryDetails?.orderNumber ? buyerContactHistoryDetails?.orderNumber : '-' }}</b></span\n >\n </div>\n <div class=\"right-section\">\n <span\n >Updated By:\n <b> {{ buyerContactHistoryDetails?.updatedByUser || '-' }} </b>\n </span>\n <span class=\"mlr-4\"> | </span>\n <span\n >Updated On: <b>{{ buyerContactHistoryDetails?.updatedOnTime || '-' }} </b></span\n >\n </div>\n\n \n</div>\n\n<div class=\"history-table-container\">\n <anna-core-non-editable-generic-table-lib\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"buyerContactTableData\"\n [clonedTableData]=\"buyerContactTableData\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n [clickableRow]=\"false\"\n >\n </anna-core-non-editable-generic-table-lib>\n</div>", styles: [".main-seperate-tab-background{height:100%;width:100%;left:0;top:0;z-index:99999;background:#fff;position:absolute}.main-seperate-tab-background nav{background-color:var(--primary-app-theme-color, #8bac2a);height:var(--navbar-height, 50px);background-position:right;padding:13px 0;width:100%}.main-seperate-tab-background nav img{margin-left:auto;margin-right:auto;display:block;height:26px}.main-seperate-tab-background .main-container{padding:10px 40px 0;background:#fff}.heading{text-align:center;color:#4d4d4d;font-weight:900;font-size:var(--separate-page-heading)!important;margin:10px 0}:host ::ng-deep ngx-skeleton-loader .loader{background-color:var(--skeleton-loader-color);margin:5px 0}.status-details{margin-bottom:12px;font-size:var(--page-link-fs)}.status-details .left-section span{float:left;margin-right:1.25rem}.status-details .right-section span{float:right}.history-table-container{margin-top:35px}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:2.5625rem;margin-left:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:142px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr{height:50px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib td{cursor:default!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td{cursor:pointer;background:#fff;box-shadow:none!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(1){color:#000;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td div:nth-child(2){color:#a7a7a7;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;font-family:Roboto;font-size:var(--table-body-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:0px}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib tbody tr td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4,inset 0 -1px #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .no-data{margin-top:-75px!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border{border-bottom:1px solid #d4d4d4}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4!important}:host ::ng-deep anna-core-non-editable-generic-table-lib .bottom-border tbody tr:last-of-type td:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset -1px 0 #d4d4d4!important}\n"] }]
5107
5107
  }], ctorParameters: () => [{ type: i1$3.AnnaGlobalConfigService }, { type: i2$2.ActivatedRoute }], propDecorators: { buyerContactHistoryDetails: [{
@@ -5422,10 +5422,10 @@ class AddEditBuyerContactPopupComponent {
5422
5422
  .map((buyer) => new BuyerContactRequest(buyer));
5423
5423
  this.saveBuyerEmitter.emit(buyersToBeSaved);
5424
5424
  }
5425
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AddEditBuyerContactPopupComponent, deps: [{ token: i1$3.RegexPatternsService }, { token: BUYER_CONTACT_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
5426
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AddEditBuyerContactPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-add-edit-buyer-contact-popup", inputs: { actionType: "actionType", businessRulesLevel: "businessRulesLevel", buyerContactList: "buyerContactList", canDeleteAllBuyers: "canDeleteAllBuyers", userType: "userType", stationId: "stationId" }, outputs: { closeModal: "closeModal", saveBuyerEmitter: "saveBuyerEmitter" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"main-modal\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n </div>\n <div class=\"modal-body\">\n <div class=\"top-msg\">\n {{ topMessage }}\n </div>\n\n <div\n class=\"buyer-contact-table-container\"\n annaCoreFixedRowsInPopupTable\n [popupRowHeight]=\"33\"\n [popupHeaderHeight]=\"32\"\n >\n <table class=\"table-container\">\n <thead>\n <tr>\n <th>FIRST NAME</th>\n <th>LAST NAME</th>\n <th>EMAIL</th>\n <th>PHONE NUMBER</th>\n <th>{{ userType === EOSApplicationUserType.BUYER ? \"BUYER LEVEL\" : \"REP LEVEL\" }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let buyer of buyers; let i = index\">\n <td>\n <ng-container *ngIf=\"buyer.isEditMode\">\n <input\n [(ngModel)]=\"buyer.firstName\"\n (input)=\"validateBuyerFirstName(buyer)\"\n [ngClass]=\"{ error: buyer.isFirstNameInvalid }\"\n maxlength=\"20\"\n placeholder=\"Enter first name\"\n />\n <i\n *ngIf=\"\n buyer.isFirstNameInvalid &&\n userType === EOSApplicationUserType.BUYER\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"nameValidation\"\n placement=\"bottom\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.firstName ? buyer.firstName : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"buyer.isEditMode\">\n <input\n [(ngModel)]=\"buyer.lastName\"\n [ngClass]=\"{ error: buyer.isLastNameInvalid }\"\n (input)=\"validateBuyerLastName(buyer)\"\n maxlength=\"20\"\n placeholder=\"Enter last name\"\n />\n <i\n *ngIf=\"\n buyer.isLastNameInvalid &&\n userType === EOSApplicationUserType.BUYER\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"nameValidation\"\n placement=\"bottom\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.lastName ? buyer.lastName : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"buyer.isEditMode && buyer.allowEmailEdit\">\n <input\n [(ngModel)]=\"buyer.email\"\n (input)=\"validateEmail(buyer)\"\n [ngClass]=\"{ 'email-error': buyer.isEmailInvalid || buyer.isDuplicateEmail }\"\n placeholder=\"Enter email\"\n />\n <i\n *ngIf=\"\n buyer.isEmailInvalid &&\n !buyer.isDuplicateEmail &&\n userType === EOSApplicationUserType.BUYER\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"'Please enter valid email.'\"\n placement=\"bottom\"\n ></i>\n <i\n *ngIf=\"\n buyer.isEmailInvalid &&\n !buyer.isDuplicateEmail &&\n userType === EOSApplicationUserType.REP\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"domainTooltip\"\n placement=\"bottom\"\n ></i>\n <i\n *ngIf=\"!buyer.isEmailInvalid && buyer.isDuplicateEmail\"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"'This email is already associated with an existing user'\"\n placement=\"bottom\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode || !buyer.allowEmailEdit\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.email ? buyer.email : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"buyer.isEditMode\">\n <input\n [(ngModel)]=\"buyer.phoneNumber\"\n (input)=\"validatePhoneNumber(buyer)\"\n [ngClass]=\"{ error: buyer.isPhoneNumberInvalid }\"\n placeholder=\"Enter phone no.\"\n />\n <i\n *ngIf=\"buyer.isPhoneNumberInvalid\"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n placement=\"bottom\"\n [ngbTooltip]=\"'Phone format: (000)000-0000'\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.phoneNumber ? buyer.phoneNumber : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <span\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n annaCoreShowEllipsisTextOnHover\n >{{ buyer.buyerLevel }}</span\n >\n </td>\n <td>\n <div\n class=\"icons-container\"\n *ngIf=\"\n !buyer.isDeleted &&\n !(\n businessRulesLevel === BusinessPageType.ORDER &&\n buyer.buyerLevel === 'Advertiser'\n )\n \"\n >\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.EDIT && !buyer.isEditMode\"\n class=\"mdi mdi-delete\"\n (click)=\"deleteBuyer(i)\"\n [ngClass]=\"{ 'disabled-icons': isSingleBuyerPresent && !canDeleteAllBuyers }\"\n ></i>\n\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.EDIT && !buyer.isEditMode\"\n class=\"mdi mdi-pencil\"\n (click)=\"editBuyer(buyer)\"\n ></i>\n\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.EDIT && buyer.isEditMode\"\n [ngClass]=\"{\n 'disabled-icons': isSingleBuyerPresentButAllContactsDeleted && !clonnedBuyers[i]\n }\"\n class=\"mdi mdi-close-circle-outline\"\n (click)=\"resetBuyer(buyer, i)\"\n ></i>\n\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.ADD\"\n [ngClass]=\"{ 'disabled-icons': buyers.length === 1 }\"\n class=\"mdi mdi-close-circle-outline\"\n (click)=\"removeBuyerFromList(i)\"\n ></i>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <a\n (click)=\"addBuyer()\"\n class=\"add-buyer-link\"\n [class.disabled]=\"!isFormValid\"\n >{{ userType === EOSApplicationUserType.BUYER ? \"Add Buyer\" : \"Add Rep\" }}</a\n >\n\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"closePopup()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n [disabled]=\"disableSaveButton\"\n (click)=\"saveBuyerContacts()\"\n >\n Save\n </button>\n </div>\n </div>\n</section>\n<ng-template #domainTooltip>\n Please use an email that ends with '{{ validDomains?.length > 1 ? validDomains.join(\", \") : validDomains[0] }}'.\n</ng-template>\n\n<ng-template #nameValidation>\n <div>\n <ul>\n <li>Name should start with a letter</li>\n <li>Characters allowed: A-Z, a-z, . , \u2018, -</li>\n <li>Maximum characters allowed:20</li>\n </ul>\n </div>\n</ng-template>\n", styles: [".modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.modal-body{padding:24px 24px 0;color:#4a4a4a}.mdi-alert-octagon{float:right;position:relative;margin-top:-20px;cursor:pointer;margin-right:2px;background-color:#fff;color:#f44336}.add-buyer-link{margin-top:12px;text-decoration:underline!important;color:#268bff;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.top-msg{color:#4a4a4a;margin-bottom:5px;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.add-buyer-link.disabled{pointer-events:none;color:#4a4a4a40;cursor:not-allowed}.table-container{width:100%;table-layout:fixed;border:none!important}.table-container.default .table-container::-webkit-scrollbar-track{margin-top:135px;margin-left:245px}.table-container.default .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}.table-container.default .header-row{background:#ededed}.table-container.default .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}.table-container.default .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}.table-container.default .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}.table-container.default .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}.table-container.default .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}.table-container.default .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}.table-container.default .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}.table-container.default .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container thead{background-color:#ededed;height:32px;padding:2px 8px;position:sticky;top:0;z-index:2}.table-container thead tr th{padding:0 8px;box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#4a4a4a;font-family:Roboto;font-size:10px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}.table-container thead tr th:nth-of-type(1){width:110px;box-shadow:inset 1px 1px #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}.table-container thead tr th:nth-of-type(2){width:110px}.table-container thead tr th:nth-of-type(3){width:175px}.table-container thead tr th:nth-of-type(4){width:105px}.table-container thead tr th:nth-of-type(5){width:85px}.table-container thead tr th:nth-of-type(6){width:50px}.table-container tbody tr td{padding:0 8px;vertical-align:middle;min-height:32px;height:32px;box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#000;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.table-container tbody tr td:nth-child(1){box-shadow:inset 1px -1px #d4d4d4,inset -1px 0 #d4d4d4!important}.table-container tbody tr span{text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;display:inline-block!important;max-width:92%;width:fit-content}.table-container tbody tr span{width:100%!important}.error{border:1px solid #f44336!important}.email-error{border:1px solid #f44336!important;padding-right:14px!important}input{outline:none;width:100%;height:24px;border:1px solid #b7b7b7;border-radius:2px;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#000}input::placeholder{color:var(--placeholder-color)}.mdi-close-circle-outline,.mdi-delete{color:#f44336;font-size:12px;cursor:pointer}.mdi-pencil{color:#268bff;cursor:pointer;font-size:12px}.icons-container{display:flex;gap:4px;align-items:center}.deleted-text{color:#b7b6b6!important;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}.disabled-icons{pointer-events:none;color:#bdbdbd80!important}.buyer-contact-table-container{overflow:auto}.buyer-contact-table-container::-webkit-scrollbar-track{border:1px solid rgba(0,0,0,.1);margin-top:32px}.buyer-contact-table-container::-webkit-scrollbar{width:4px;height:4px}.buyer-contact-table-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0006!important;border:1px solid rgba(0,0,0,.2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "directive", type: FixedRowsPopupTableDirective, selector: "[annaCoreFixedRowsInPopupTable]", inputs: ["popupRowHeight", "popupHeaderHeight", "tableDataLength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5425
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AddEditBuyerContactPopupComponent, deps: [{ token: i1$3.RegexPatternsService }, { token: BUYER_CONTACT_SERVICE_TOKEN }], target: i0.ɵɵFactoryTarget.Component }); }
5426
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: AddEditBuyerContactPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-add-edit-buyer-contact-popup", inputs: { actionType: "actionType", businessRulesLevel: "businessRulesLevel", buyerContactList: "buyerContactList", canDeleteAllBuyers: "canDeleteAllBuyers", userType: "userType", stationId: "stationId" }, outputs: { closeModal: "closeModal", saveBuyerEmitter: "saveBuyerEmitter" }, usesOnChanges: true, ngImport: i0, template: "<section class=\"main-modal\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n </div>\n <div class=\"modal-body\">\n <div class=\"top-msg\">\n {{ topMessage }}\n </div>\n\n <div\n class=\"buyer-contact-table-container\"\n annaCoreFixedRowsInPopupTable\n [popupRowHeight]=\"33\"\n [popupHeaderHeight]=\"32\"\n >\n <table class=\"table-container\">\n <thead>\n <tr>\n <th>FIRST NAME</th>\n <th>LAST NAME</th>\n <th>EMAIL</th>\n <th>PHONE NUMBER</th>\n <th>{{ userType === EOSApplicationUserType.BUYER ? \"BUYER LEVEL\" : \"REP LEVEL\" }}</th>\n <th></th>\n </tr>\n </thead>\n <tbody>\n <tr *ngFor=\"let buyer of buyers; let i = index\">\n <td>\n <ng-container *ngIf=\"buyer.isEditMode\">\n <input\n [(ngModel)]=\"buyer.firstName\"\n (input)=\"validateBuyerFirstName(buyer)\"\n [ngClass]=\"{ error: buyer.isFirstNameInvalid }\"\n maxlength=\"20\"\n placeholder=\"Enter first name\"\n />\n <i\n *ngIf=\"\n buyer.isFirstNameInvalid &&\n userType === EOSApplicationUserType.BUYER\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"nameValidation\"\n placement=\"bottom\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.firstName ? buyer.firstName : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"buyer.isEditMode\">\n <input\n [(ngModel)]=\"buyer.lastName\"\n [ngClass]=\"{ error: buyer.isLastNameInvalid }\"\n (input)=\"validateBuyerLastName(buyer)\"\n maxlength=\"20\"\n placeholder=\"Enter last name\"\n />\n <i\n *ngIf=\"\n buyer.isLastNameInvalid &&\n userType === EOSApplicationUserType.BUYER\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"nameValidation\"\n placement=\"bottom\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.lastName ? buyer.lastName : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"buyer.isEditMode && buyer.allowEmailEdit\">\n <input\n [(ngModel)]=\"buyer.email\"\n (input)=\"validateEmail(buyer)\"\n [ngClass]=\"{ 'email-error': buyer.isEmailInvalid || buyer.isDuplicateEmail }\"\n placeholder=\"Enter email\"\n />\n <i\n *ngIf=\"\n buyer.isEmailInvalid &&\n !buyer.isDuplicateEmail &&\n userType === EOSApplicationUserType.BUYER\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"'Please enter valid email.'\"\n placement=\"bottom\"\n ></i>\n <i\n *ngIf=\"\n buyer.isEmailInvalid &&\n !buyer.isDuplicateEmail &&\n userType === EOSApplicationUserType.REP\n \"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"domainTooltip\"\n placement=\"bottom\"\n ></i>\n <i\n *ngIf=\"!buyer.isEmailInvalid && buyer.isDuplicateEmail\"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n [ngbTooltip]=\"'This email is already associated with an existing user'\"\n placement=\"bottom\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode || !buyer.allowEmailEdit\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.email ? buyer.email : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <ng-container *ngIf=\"buyer.isEditMode\">\n <input\n [(ngModel)]=\"buyer.phoneNumber\"\n (input)=\"validatePhoneNumber(buyer)\"\n [ngClass]=\"{ error: buyer.isPhoneNumberInvalid }\"\n placeholder=\"Enter phone no.\"\n />\n <i\n *ngIf=\"buyer.isPhoneNumberInvalid\"\n class=\"mdi mdi-alert-octagon\"\n container=\"body\"\n placement=\"bottom\"\n [ngbTooltip]=\"'Phone format: (000)000-0000'\"\n ></i>\n </ng-container>\n <ng-container *ngIf=\"!buyer.isEditMode\">\n <span\n annaCoreShowEllipsisTextOnHover\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n >{{ buyer.phoneNumber ? buyer.phoneNumber : \"-\" }}</span\n >\n </ng-container>\n </td>\n <td>\n <span\n [ngClass]=\"{ 'deleted-text': buyer.isDeleted }\"\n annaCoreShowEllipsisTextOnHover\n >{{ buyer.buyerLevel }}</span\n >\n </td>\n <td>\n <div\n class=\"icons-container\"\n *ngIf=\"\n !buyer.isDeleted &&\n !(\n businessRulesLevel === BusinessPageType.ORDER &&\n buyer.buyerLevel === 'Advertiser'\n )\n \"\n >\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.EDIT && !buyer.isEditMode\"\n class=\"mdi mdi-delete\"\n (click)=\"deleteBuyer(i)\"\n [ngClass]=\"{ 'disabled-icons': isSingleBuyerPresent && !canDeleteAllBuyers }\"\n ></i>\n\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.EDIT && !buyer.isEditMode\"\n class=\"mdi mdi-pencil\"\n (click)=\"editBuyer(buyer)\"\n ></i>\n\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.EDIT && buyer.isEditMode\"\n [ngClass]=\"{\n 'disabled-icons': isSingleBuyerPresentButAllContactsDeleted && !clonnedBuyers[i]\n }\"\n class=\"mdi mdi-close-circle-outline\"\n (click)=\"resetBuyer(buyer, i)\"\n ></i>\n\n <i\n *ngIf=\"actionType === BuyerRepContactPopupActionEnum.ADD\"\n [ngClass]=\"{ 'disabled-icons': buyers.length === 1 }\"\n class=\"mdi mdi-close-circle-outline\"\n (click)=\"removeBuyerFromList(i)\"\n ></i>\n </div>\n </td>\n </tr>\n </tbody>\n </table>\n </div>\n <a\n (click)=\"addBuyer()\"\n class=\"add-buyer-link\"\n [class.disabled]=\"!isFormValid\"\n >{{ userType === EOSApplicationUserType.BUYER ? \"Add Buyer\" : \"Add Rep\" }}</a\n >\n\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"closePopup()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n [disabled]=\"disableSaveButton\"\n (click)=\"saveBuyerContacts()\"\n >\n Save\n </button>\n </div>\n </div>\n</section>\n<ng-template #domainTooltip>\n Please use an email that ends with '{{ validDomains?.length > 1 ? validDomains.join(\", \") : validDomains[0] }}'.\n</ng-template>\n\n<ng-template #nameValidation>\n <div>\n <ul>\n <li>Name should start with a letter</li>\n <li>Characters allowed: A-Z, a-z, . , \u2018, -</li>\n <li>Maximum characters allowed:20</li>\n </ul>\n </div>\n</ng-template>\n", styles: [".modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.modal-body{padding:24px 24px 0;color:#4a4a4a}.mdi-alert-octagon{float:right;position:relative;margin-top:-20px;cursor:pointer;margin-right:2px;background-color:#fff;color:#f44336}.add-buyer-link{margin-top:12px;text-decoration:underline!important;color:#268bff;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.top-msg{color:#4a4a4a;margin-bottom:5px;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.add-buyer-link.disabled{pointer-events:none;color:#4a4a4a40;cursor:not-allowed}.table-container{width:100%;table-layout:fixed;border:none!important}.table-container.default .table-container::-webkit-scrollbar-track{margin-top:135px;margin-left:245px}.table-container.default .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}.table-container.default .header-row{background:#ededed}.table-container.default .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}.table-container.default .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}.table-container.default .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}.table-container.default .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}.table-container.default .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}.table-container.default .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}.table-container.default .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}.table-container.default .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(3){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(4){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(5){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container.default .header-row th:nth-of-type(6){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}.table-container thead{background-color:#ededed;height:32px;padding:2px 8px;position:sticky;top:0;z-index:2}.table-container thead tr th{padding:0 8px;box-shadow:inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#4a4a4a;font-family:Roboto;font-size:10px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px}.table-container thead tr th:nth-of-type(1){width:110px;box-shadow:inset 1px 1px #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4!important}.table-container thead tr th:nth-of-type(2){width:110px}.table-container thead tr th:nth-of-type(3){width:175px}.table-container thead tr th:nth-of-type(4){width:105px}.table-container thead tr th:nth-of-type(5){width:85px}.table-container thead tr th:nth-of-type(6){width:50px}.table-container tbody tr td{padding:0 8px;vertical-align:middle;min-height:32px;height:32px;box-shadow:inset 0 0 #d4d4d4,inset 0 -1px #d4d4d4,inset -1px 0 #d4d4d4;color:#000;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.table-container tbody tr td:nth-child(1){box-shadow:inset 1px -1px #d4d4d4,inset -1px 0 #d4d4d4!important}.table-container tbody tr span{text-overflow:ellipsis!important;overflow:hidden!important;white-space:nowrap!important;display:inline-block!important;max-width:92%;width:fit-content}.table-container tbody tr span{width:100%!important}.error{border:1px solid #f44336!important}.email-error{border:1px solid #f44336!important;padding-right:14px!important}input{outline:none;width:100%;height:24px;border:1px solid #b7b7b7;border-radius:2px;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;color:#000}input::placeholder{color:var(--placeholder-color)}.mdi-close-circle-outline,.mdi-delete{color:#f44336;font-size:12px;cursor:pointer}.mdi-pencil{color:#268bff;cursor:pointer;font-size:12px}.icons-container{display:flex;gap:4px;align-items:center}.deleted-text{color:#b7b6b6!important;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}.disabled-icons{pointer-events:none;color:#bdbdbd80!important}.buyer-contact-table-container{overflow:auto}.buyer-contact-table-container::-webkit-scrollbar-track{border:1px solid rgba(0,0,0,.1);margin-top:32px}.buyer-contact-table-container::-webkit-scrollbar{width:4px;height:4px}.buyer-contact-table-container::-webkit-scrollbar-thumb{border-radius:4px;background-color:#0006!important;border:1px solid rgba(0,0,0,.2)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: ShowEllipsisTextOnHoverDirective, selector: "[annaCoreShowEllipsisTextOnHover]", inputs: ["includeFullWidth"] }, { kind: "directive", type: FixedRowsPopupTableDirective, selector: "[annaCoreFixedRowsInPopupTable]", inputs: ["popupRowHeight", "popupHeaderHeight", "tableDataLength"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5427
5427
  }
5428
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AddEditBuyerContactPopupComponent, decorators: [{
5428
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AddEditBuyerContactPopupComponent, decorators: [{
5429
5429
  type: Component,
5430
5430
  args: [{ selector: "anna-feature-biz-rules-add-edit-buyer-contact-popup", imports: [
5431
5431
  CommonModule,
@@ -5474,10 +5474,10 @@ class AvatarComponent {
5474
5474
  this.avatarBgColor = this.colorOptions[AvatarComponent.colorIndex];
5475
5475
  AvatarComponent.colorIndex = (AvatarComponent.colorIndex + 1) % this.colorOptions.length;
5476
5476
  }
5477
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5478
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: AvatarComponent, isStandalone: true, selector: "anna-feature-biz-rules-avatar", inputs: { initials: "initials", buyer: "buyer", businessRulesPageType: "businessRulesPageType", tooltipMessage: "tooltipMessage", colorOptions: "colorOptions" }, ngImport: i0, template: "<div\n class=\"avatar-circle\"\n [style.backgroundColor]=\"avatarBgColor\"\n [ngbTooltip]=\"avatarTooltip\"\n placement=\"bottom\"\n container=\"body\"\n>\n {{ buyer.initials }}\n</div>\n\n<ng-template #avatarTooltip>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ORDER\">\n <span class=\"black-text-avatar\">{{ buyer.buyerLevelMsg }} </span>\n <br />\n </ng-container>\n <span class=\"bold-text-avatar\"> {{ buyer.firstName }} {{ buyer.lastName || \"\" }} </span>\n <br />\n <span class=\"grey-text-avatar\">\n {{ buyer.email }} <span *ngIf=\"buyer.phoneNumber\"> | {{ buyer.phoneNumber }}</span>\n </span>\n</ng-template>\n", styles: [".avatar-circle{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;border-radius:50%;color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-transform:uppercase;cursor:default}::ng-deep .grey-text-avatar{color:#b7b6b6;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .bold-text-avatar{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .black-text-avatar{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5477
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
5478
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: AvatarComponent, isStandalone: true, selector: "anna-feature-biz-rules-avatar", inputs: { initials: "initials", buyer: "buyer", businessRulesPageType: "businessRulesPageType", tooltipMessage: "tooltipMessage", colorOptions: "colorOptions" }, ngImport: i0, template: "<div\n class=\"avatar-circle\"\n [style.backgroundColor]=\"avatarBgColor\"\n [ngbTooltip]=\"avatarTooltip\"\n placement=\"bottom\"\n container=\"body\"\n>\n {{ buyer.initials }}\n</div>\n\n<ng-template #avatarTooltip>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ORDER\">\n <span class=\"black-text-avatar\">{{ buyer.buyerLevelMsg }} </span>\n <br />\n </ng-container>\n <span class=\"bold-text-avatar\"> {{ buyer.firstName }} {{ buyer.lastName || \"\" }} </span>\n <br />\n <span class=\"grey-text-avatar\">\n {{ buyer.email }} <span *ngIf=\"buyer.phoneNumber\"> | {{ buyer.phoneNumber }}</span>\n </span>\n</ng-template>\n", styles: [".avatar-circle{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;border-radius:50%;color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-transform:uppercase;cursor:default}::ng-deep .grey-text-avatar{color:#b7b6b6;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .bold-text-avatar{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .black-text-avatar{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5479
5479
  }
5480
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: AvatarComponent, decorators: [{
5480
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: AvatarComponent, decorators: [{
5481
5481
  type: Component,
5482
5482
  args: [{ selector: "anna-feature-biz-rules-avatar", imports: [CommonModule, NgForOf, NgFor, NgbTooltip], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\n class=\"avatar-circle\"\n [style.backgroundColor]=\"avatarBgColor\"\n [ngbTooltip]=\"avatarTooltip\"\n placement=\"bottom\"\n container=\"body\"\n>\n {{ buyer.initials }}\n</div>\n\n<ng-template #avatarTooltip>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ORDER\">\n <span class=\"black-text-avatar\">{{ buyer.buyerLevelMsg }} </span>\n <br />\n </ng-container>\n <span class=\"bold-text-avatar\"> {{ buyer.firstName }} {{ buyer.lastName || \"\" }} </span>\n <br />\n <span class=\"grey-text-avatar\">\n {{ buyer.email }} <span *ngIf=\"buyer.phoneNumber\"> | {{ buyer.phoneNumber }}</span>\n </span>\n</ng-template>\n", styles: [".avatar-circle{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;border-radius:50%;color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;text-transform:uppercase;cursor:default}::ng-deep .grey-text-avatar{color:#b7b6b6;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .bold-text-avatar{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .black-text-avatar{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}\n"] }]
5483
5483
  }], propDecorators: { initials: [{
@@ -5572,10 +5572,10 @@ class BuyerContactSectionComponent {
5572
5572
  isBuyer;
5573
5573
  this.canDeleteAllBuyers = (!this.isBuyerBizRulesApprovalRequired && !isSingleBuyerWithRep) || isRep;
5574
5574
  }
5575
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuyerContactSectionComponent, deps: [{ token: i1$2.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
5576
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: BuyerContactSectionComponent, isStandalone: true, selector: "anna-feature-biz-rules-buyer-rep-contact-section", inputs: { buyerContactList: "buyerContactList", repUserContactList: "repUserContactList", isBusinessRulesInEditMode: "isBusinessRulesInEditMode", businessRulesPageType: "businessRulesPageType", isBuyerBizRulesApprovalRequired: "isBuyerBizRulesApprovalRequired", aclWritePermission: "aclWritePermission", isTrafficOrder: "isTrafficOrder", stationId: "stationId", hideRepTooltipForRepUsers: "hideRepTooltipForRepUsers" }, outputs: { saveBuyerEmitter: "saveBuyerEmitter" }, viewQueries: [{ propertyName: "buyerContactModal", first: true, predicate: ["buyerContactModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"buyer-rep-section\">\n <div\n [ngClass]=\"{\n error: isBusinessRulesInEditMode && buyerContactList?.users?.length === 0 && isBuyerBizRulesApprovalRequired\n }\"\n class=\"buyer-container-view\"\n >\n <span class=\"buyers-heading\">Buyers: </span>\n <div\n class=\"avatars-container\"\n *ngIf=\"buyerContactList?.users?.length > 0\"\n >\n <anna-feature-biz-rules-avatar\n #AvatarComponent\n *ngFor=\"let buyer of buyerContactList?.users | slice: 0 : MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n [buyer]=\"buyer\"\n [businessRulesPageType]=\"businessRulesPageType\"\n >\n </anna-feature-biz-rules-avatar>\n\n <div\n *ngIf=\"buyerContactList?.users?.length > MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n class=\"avatar-circle remaining-buyers\"\n container=\"body\"\n [triggers]=\"'manual'\"\n [ngbTooltip]=\"remainingBuyersTooltipContent\"\n tooltipClass=\"custom-tooltip-2\"\n #tooltip=\"ngbTooltip\"\n (mouseenter)=\"tooltip.open()\"\n placement=\"bottom\"\n >\n +{{ buyerContactList?.users?.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY }}\n </div>\n </div>\n\n <div\n class=\"message-container\"\n *ngIf=\"buyerContactList?.users?.length === 0 && isBuyerBizRulesApprovalRequired\"\n >\n <span\n *ngIf=\"isBusinessRulesInEditMode\"\n class=\"mdi mdi-alert-octagon\"\n ></span>\n No buyers added\n </div>\n <div\n class=\"message-container\"\n *ngIf=\"buyerContactList?.users?.length === 0 && !isBuyerBizRulesApprovalRequired\"\n >\n No buyers need to be added as per the set configurations\n </div>\n\n <div\n *ngIf=\"!buyerContactList?.hideEditButton && aclWritePermission\"\n class=\"edit-icon\"\n (click)=\"\n buyerContactList?.users?.length > 0\n ? openModal(BuyerRepContactPopupActionEnum.EDIT, EOSApplicationUserType.BUYER)\n : openModal(BuyerRepContactPopupActionEnum.ADD, EOSApplicationUserType.BUYER)\n \"\n >\n <span\n *ngIf=\"buyerContactList?.users?.length > 0\"\n class=\"mdi mdi-pencil\"\n ></span>\n <span\n *ngIf=\"buyerContactList?.users?.length === 0 || buyerContactList == null\"\n class=\"mdi mdi-plus\"\n ></span>\n </div>\n </div>\n <div class=\"buyer-container-view\">\n <span class=\"buyers-heading\"\n >Reps:\n <span\n class=\"d-flex\"\n *ngIf=\"repUserContactList?.users?.length > 0 && !hideRepTooltipForRepUsers\"\n ><i\n class=\"mi mdi-info-outline\"\n [ngbTooltip]=\"repUserForElectronicOrders\"\n placement=\"auto\"\n container=\"body\"\n ></i></span\n ></span>\n <div\n class=\"avatars-container\"\n *ngIf=\"repUserContactList?.users?.length > 0\"\n >\n <anna-feature-biz-rules-avatar\n #AvatarComponent\n *ngFor=\"let rep of repUserContactList?.users | slice: 0 : MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n [buyer]=\"rep\"\n [businessRulesPageType]=\"businessRulesPageType\"\n >\n </anna-feature-biz-rules-avatar>\n\n <div\n *ngIf=\"repUserContactList?.users?.length > MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n class=\"avatar-circle remaining-buyers\"\n container=\"body\"\n [triggers]=\"'manual'\"\n [ngbTooltip]=\"remainingRepsTooltipContent\"\n tooltipClass=\"custom-tooltip-2\"\n #tooltip=\"ngbTooltip\"\n (mouseenter)=\"tooltip.open()\"\n placement=\"bottom\"\n >\n +{{ repUserContactList?.users?.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY }}\n </div>\n </div>\n <div\n class=\"message-container\"\n *ngIf=\"repUserContactList?.users?.length === 0\"\n >\n <span class=\"mdi mdi-alert\"></span>\n Only required for<span class=\"bold-italics\"> electronic </span>orders\n </div>\n <div\n *ngIf=\"!repUserContactList?.hideEditButton && aclWritePermission\"\n class=\"edit-icon\"\n [ngClass]=\"{ disabled: isTrafficOrder || buyerContactList?.users?.length === 0 }\"\n [ngbTooltip]=\"addBuyerToolTip\"\n container=\"body\"\n triggers=\"mouseenter:mouseleave\"\n tooltipClass=\"biz-btn-tooltip\"\n (click)=\"\n repUserContactList?.users?.length > 0\n ? openModal(BuyerRepContactPopupActionEnum.EDIT, EOSApplicationUserType.REP)\n : openModal(BuyerRepContactPopupActionEnum.ADD, EOSApplicationUserType.REP)\n \"\n >\n <span\n *ngIf=\"repUserContactList?.users?.length > 0\"\n class=\"mdi mdi-pencil\"\n ></span>\n <span\n *ngIf=\"repUserContactList?.users?.length === 0 || repUserContactList == null\"\n class=\"mdi mdi-plus\"\n ></span>\n </div>\n </div>\n</div>\n<ng-template #remainingBuyersTooltipContent>\n <div\n class=\"remaining-buyer-tooltip\"\n [ngClass]=\"{ 'buyer-tooltip': buyerContactList?.users.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY > 1 }\"\n *ngFor=\"let user of buyerContactList?.users | slice: MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n >\n <ng-container *ngTemplateOutlet=\"userDetailsTemplate; context: { user: user }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #remainingRepsTooltipContent>\n <div\n class=\"remaining-buyer-tooltip\"\n [ngClass]=\"{ 'buyer-tooltip': repUserContactList?.users?.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY > 1 }\"\n *ngFor=\"let user of repUserContactList?.users | slice: MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n >\n <ng-container *ngTemplateOutlet=\"userDetailsTemplate; context: { user: user }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #userDetailsTemplate\n let-user=\"user\"\n>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ORDER\">\n <ul>\n <li class=\"black-text-avatar\">{{ user.buyerLevelMsg }}</li>\n </ul>\n <div class=\"bold-text ml-12\">{{ user.firstName }} {{ user.lastName || \"\" }}</div>\n </ng-container>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ADVERTISER\">\n <ul>\n <li class=\"bold-text\">{{ user.firstName }} {{ user.lastName || \"\" }}</li>\n </ul>\n </ng-container>\n <span class=\"grey-text\">\n {{ user.email }} <span *ngIf=\"user.phoneNumber\">| {{ user.phoneNumber }}</span>\n </span>\n</ng-template>\n\n<ng-template\n #buyerContactModal\n let-modal\n>\n <anna-feature-biz-rules-add-edit-buyer-contact-popup\n [buyerContactList]=\"userList\"\n [businessRulesLevel]=\"businessRulesPageType\"\n [actionType]=\"typeOfAction\"\n [stationId]=\"stationId\"\n [userType]=\"userType\"\n [canDeleteAllBuyers]=\"canDeleteAllBuyers\"\n (closeModal)=\"closeModal($event)\"\n (saveBuyerEmitter)=\"saveBuyerContact($event)\"\n >\n </anna-feature-biz-rules-add-edit-buyer-contact-popup>\n</ng-template>\n<ng-template #repUserForElectronicOrders>\n <ul>\n <li>\n Only required for <b><i>electronic</i></b> orders\n </li>\n <li>Reps will have view access on EOS but no modification rights</li>\n </ul>\n</ng-template>\n", styles: [".mdi-alert{color:#ffb300}::ng-deep .biz-btn-tooltip .tooltip-inner{max-width:190px}.buyer-rep-section{display:flex;gap:8px}.buyer-container-view{padding:12px 12px 10px;border:1px solid var(--box-shadow-color);border-radius:.25rem;display:flex;flex-wrap:nowrap;width:100%;margin-top:.5rem;height:50px}.buyer-container-view .buyers-heading{color:var(--primary-text-color-dark);display:flex;align-items:center;margin-right:12px;font-family:Roboto;font-size:var(--message-box-large-fs);font-weight:900;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.buyer-container-view .avatars-container{display:flex;gap:8px}.buyer-container-view .edit-icon{display:flex;align-items:center;margin-left:auto;cursor:pointer;border-radius:.25rem;padding:.25rem .625rem;background-color:#268bff1f}.buyer-container-view .edit-icon span{font-size:.875rem;color:var(--primary-blue-color)}.bold-italics{font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:700;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}::ng-deep .custom-tooltip-2 .tooltip-inner{max-height:350px;overflow-y:auto;padding:0;pointer-events:auto}::ng-deep .custom-tooltip-2:hover .tooltip-inner{pointer-events:auto}.mdi-info-outline{font-size:12px;margin-left:2px;margin-top:2px;color:var(--primary-blue-color)}.disabled{background-color:#ddd!important;cursor:default!important}.disabled span{opacity:.5;color:var(--primary-text-color-dark)!important}.error{border:1px solid var(--primary-red-color)!important}.avatar-circle{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;border-radius:50%;color:var(--primary-text-color-dark);cursor:default;margin-right:5px;font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:1px solid var(--primary-blue-color)}.remaining-buyer-tooltip .grey-text{margin-left:12px}.grey-text{color:var(--disabled-text-color-darker);margin-left:15px;font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.bold-text{color:var(--primary-text-color-dark);font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.ml-12{margin-left:12px}.buyer-tooltip{margin-bottom:8px}.message-container{display:flex;align-items:center;color:var(--disabled-text-color-darker);gap:3px;font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}.message-container .mdi-alert-octagon{color:var(--primary-red-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2$1.SlicePipe, name: "slice" }, { kind: "component", type: AvatarComponent, selector: "anna-feature-biz-rules-avatar", inputs: ["initials", "buyer", "businessRulesPageType", "tooltipMessage", "colorOptions"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "component", type: AddEditBuyerContactPopupComponent, selector: "anna-feature-biz-rules-add-edit-buyer-contact-popup", inputs: ["actionType", "businessRulesLevel", "buyerContactList", "canDeleteAllBuyers", "userType", "stationId"], outputs: ["closeModal", "saveBuyerEmitter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5575
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BuyerContactSectionComponent, deps: [{ token: i1$2.NgbModal }], target: i0.ɵɵFactoryTarget.Component }); }
5576
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: BuyerContactSectionComponent, isStandalone: true, selector: "anna-feature-biz-rules-buyer-rep-contact-section", inputs: { buyerContactList: "buyerContactList", repUserContactList: "repUserContactList", isBusinessRulesInEditMode: "isBusinessRulesInEditMode", businessRulesPageType: "businessRulesPageType", isBuyerBizRulesApprovalRequired: "isBuyerBizRulesApprovalRequired", aclWritePermission: "aclWritePermission", isTrafficOrder: "isTrafficOrder", stationId: "stationId", hideRepTooltipForRepUsers: "hideRepTooltipForRepUsers" }, outputs: { saveBuyerEmitter: "saveBuyerEmitter" }, viewQueries: [{ propertyName: "buyerContactModal", first: true, predicate: ["buyerContactModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"buyer-rep-section\">\n <div\n [ngClass]=\"{\n error: isBusinessRulesInEditMode && buyerContactList?.users?.length === 0 && isBuyerBizRulesApprovalRequired\n }\"\n class=\"buyer-container-view\"\n >\n <span class=\"buyers-heading\">Buyers: </span>\n <div\n class=\"avatars-container\"\n *ngIf=\"buyerContactList?.users?.length > 0\"\n >\n <anna-feature-biz-rules-avatar\n #AvatarComponent\n *ngFor=\"let buyer of buyerContactList?.users | slice: 0 : MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n [buyer]=\"buyer\"\n [businessRulesPageType]=\"businessRulesPageType\"\n >\n </anna-feature-biz-rules-avatar>\n\n <div\n *ngIf=\"buyerContactList?.users?.length > MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n class=\"avatar-circle remaining-buyers\"\n container=\"body\"\n [triggers]=\"'manual'\"\n [ngbTooltip]=\"remainingBuyersTooltipContent\"\n tooltipClass=\"custom-tooltip-2\"\n #tooltip=\"ngbTooltip\"\n (mouseenter)=\"tooltip.open()\"\n placement=\"bottom\"\n >\n +{{ buyerContactList?.users?.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY }}\n </div>\n </div>\n\n <div\n class=\"message-container\"\n *ngIf=\"buyerContactList?.users?.length === 0 && isBuyerBizRulesApprovalRequired\"\n >\n <span\n *ngIf=\"isBusinessRulesInEditMode\"\n class=\"mdi mdi-alert-octagon\"\n ></span>\n No buyers added\n </div>\n <div\n class=\"message-container\"\n *ngIf=\"buyerContactList?.users?.length === 0 && !isBuyerBizRulesApprovalRequired\"\n >\n No buyers need to be added as per the set configurations\n </div>\n\n <div\n *ngIf=\"!buyerContactList?.hideEditButton && aclWritePermission\"\n class=\"edit-icon\"\n (click)=\"\n buyerContactList?.users?.length > 0\n ? openModal(BuyerRepContactPopupActionEnum.EDIT, EOSApplicationUserType.BUYER)\n : openModal(BuyerRepContactPopupActionEnum.ADD, EOSApplicationUserType.BUYER)\n \"\n >\n <span\n *ngIf=\"buyerContactList?.users?.length > 0\"\n class=\"mdi mdi-pencil\"\n ></span>\n <span\n *ngIf=\"buyerContactList?.users?.length === 0 || buyerContactList == null\"\n class=\"mdi mdi-plus\"\n ></span>\n </div>\n </div>\n <div class=\"buyer-container-view\">\n <span class=\"buyers-heading\"\n >Reps:\n <span\n class=\"d-flex\"\n *ngIf=\"repUserContactList?.users?.length > 0 && !hideRepTooltipForRepUsers\"\n ><i\n class=\"mi mdi-info-outline\"\n [ngbTooltip]=\"repUserForElectronicOrders\"\n placement=\"auto\"\n container=\"body\"\n ></i></span\n ></span>\n <div\n class=\"avatars-container\"\n *ngIf=\"repUserContactList?.users?.length > 0\"\n >\n <anna-feature-biz-rules-avatar\n #AvatarComponent\n *ngFor=\"let rep of repUserContactList?.users | slice: 0 : MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n [buyer]=\"rep\"\n [businessRulesPageType]=\"businessRulesPageType\"\n >\n </anna-feature-biz-rules-avatar>\n\n <div\n *ngIf=\"repUserContactList?.users?.length > MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n class=\"avatar-circle remaining-buyers\"\n container=\"body\"\n [triggers]=\"'manual'\"\n [ngbTooltip]=\"remainingRepsTooltipContent\"\n tooltipClass=\"custom-tooltip-2\"\n #tooltip=\"ngbTooltip\"\n (mouseenter)=\"tooltip.open()\"\n placement=\"bottom\"\n >\n +{{ repUserContactList?.users?.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY }}\n </div>\n </div>\n <div\n class=\"message-container\"\n *ngIf=\"repUserContactList?.users?.length === 0\"\n >\n <span class=\"mdi mdi-alert\"></span>\n Only required for<span class=\"bold-italics\"> electronic </span>orders\n </div>\n <div\n *ngIf=\"!repUserContactList?.hideEditButton && aclWritePermission\"\n class=\"edit-icon\"\n [ngClass]=\"{ disabled: isTrafficOrder || buyerContactList?.users?.length === 0 }\"\n [ngbTooltip]=\"addBuyerToolTip\"\n container=\"body\"\n triggers=\"mouseenter:mouseleave\"\n tooltipClass=\"biz-btn-tooltip\"\n (click)=\"\n repUserContactList?.users?.length > 0\n ? openModal(BuyerRepContactPopupActionEnum.EDIT, EOSApplicationUserType.REP)\n : openModal(BuyerRepContactPopupActionEnum.ADD, EOSApplicationUserType.REP)\n \"\n >\n <span\n *ngIf=\"repUserContactList?.users?.length > 0\"\n class=\"mdi mdi-pencil\"\n ></span>\n <span\n *ngIf=\"repUserContactList?.users?.length === 0 || repUserContactList == null\"\n class=\"mdi mdi-plus\"\n ></span>\n </div>\n </div>\n</div>\n<ng-template #remainingBuyersTooltipContent>\n <div\n class=\"remaining-buyer-tooltip\"\n [ngClass]=\"{ 'buyer-tooltip': buyerContactList?.users.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY > 1 }\"\n *ngFor=\"let user of buyerContactList?.users | slice: MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n >\n <ng-container *ngTemplateOutlet=\"userDetailsTemplate; context: { user: user }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #remainingRepsTooltipContent>\n <div\n class=\"remaining-buyer-tooltip\"\n [ngClass]=\"{ 'buyer-tooltip': repUserContactList?.users?.length - MAX_COUNT_OF_AVATARS_TO_DISPLAY > 1 }\"\n *ngFor=\"let user of repUserContactList?.users | slice: MAX_COUNT_OF_AVATARS_TO_DISPLAY\"\n >\n <ng-container *ngTemplateOutlet=\"userDetailsTemplate; context: { user: user }\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template\n #userDetailsTemplate\n let-user=\"user\"\n>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ORDER\">\n <ul>\n <li class=\"black-text-avatar\">{{ user.buyerLevelMsg }}</li>\n </ul>\n <div class=\"bold-text ml-12\">{{ user.firstName }} {{ user.lastName || \"\" }}</div>\n </ng-container>\n <ng-container *ngIf=\"businessRulesPageType === BusinessPageType.ADVERTISER\">\n <ul>\n <li class=\"bold-text\">{{ user.firstName }} {{ user.lastName || \"\" }}</li>\n </ul>\n </ng-container>\n <span class=\"grey-text\">\n {{ user.email }} <span *ngIf=\"user.phoneNumber\">| {{ user.phoneNumber }}</span>\n </span>\n</ng-template>\n\n<ng-template\n #buyerContactModal\n let-modal\n>\n <anna-feature-biz-rules-add-edit-buyer-contact-popup\n [buyerContactList]=\"userList\"\n [businessRulesLevel]=\"businessRulesPageType\"\n [actionType]=\"typeOfAction\"\n [stationId]=\"stationId\"\n [userType]=\"userType\"\n [canDeleteAllBuyers]=\"canDeleteAllBuyers\"\n (closeModal)=\"closeModal($event)\"\n (saveBuyerEmitter)=\"saveBuyerContact($event)\"\n >\n </anna-feature-biz-rules-add-edit-buyer-contact-popup>\n</ng-template>\n<ng-template #repUserForElectronicOrders>\n <ul>\n <li>\n Only required for <b><i>electronic</i></b> orders\n </li>\n <li>Reps will have view access on EOS but no modification rights</li>\n </ul>\n</ng-template>\n", styles: [".mdi-alert{color:#ffb300}::ng-deep .biz-btn-tooltip .tooltip-inner{max-width:190px}.buyer-rep-section{display:flex;gap:8px}.buyer-container-view{padding:12px 12px 10px;border:1px solid var(--box-shadow-color);border-radius:.25rem;display:flex;flex-wrap:nowrap;width:100%;margin-top:.5rem;height:50px}.buyer-container-view .buyers-heading{color:var(--primary-text-color-dark);display:flex;align-items:center;margin-right:12px;font-family:Roboto;font-size:var(--message-box-large-fs);font-weight:900;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.buyer-container-view .avatars-container{display:flex;gap:8px}.buyer-container-view .edit-icon{display:flex;align-items:center;margin-left:auto;cursor:pointer;border-radius:.25rem;padding:.25rem .625rem;background-color:#268bff1f}.buyer-container-view .edit-icon span{font-size:.875rem;color:var(--primary-blue-color)}.bold-italics{font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:700;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}::ng-deep .custom-tooltip-2 .tooltip-inner{max-height:350px;overflow-y:auto;padding:0;pointer-events:auto}::ng-deep .custom-tooltip-2:hover .tooltip-inner{pointer-events:auto}.mdi-info-outline{font-size:12px;margin-left:2px;margin-top:2px;color:var(--primary-blue-color)}.disabled{background-color:#ddd!important;cursor:default!important}.disabled span{opacity:.5;color:var(--primary-text-color-dark)!important}.error{border:1px solid var(--primary-red-color)!important}.avatar-circle{display:inline-flex;justify-content:center;align-items:center;width:26px;height:26px;border-radius:50%;color:var(--primary-text-color-dark);cursor:default;margin-right:5px;font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:600;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal;border:1px solid var(--primary-blue-color)}.remaining-buyer-tooltip .grey-text{margin-left:12px}.grey-text{color:var(--disabled-text-color-darker);margin-left:15px;font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:400;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.bold-text{color:var(--primary-text-color-dark);font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.ml-12{margin-left:12px}.buyer-tooltip{margin-bottom:8px}.message-container{display:flex;align-items:center;color:var(--disabled-text-color-darker);gap:3px;font-family:Roboto;font-size:var(--message-box-default-fs);font-weight:400;font-stretch:normal;font-style:italic;line-height:normal;letter-spacing:normal}.message-container .mdi-alert-octagon{color:var(--primary-red-color)!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: i2$1.SlicePipe, name: "slice" }, { kind: "component", type: AvatarComponent, selector: "anna-feature-biz-rules-avatar", inputs: ["initials", "buyer", "businessRulesPageType", "tooltipMessage", "colorOptions"] }, { kind: "directive", type: NgbTooltip, selector: "[ngbTooltip]", inputs: ["animation", "autoClose", "placement", "popperOptions", "triggers", "positionTarget", "container", "disableTooltip", "tooltipClass", "tooltipContext", "openDelay", "closeDelay", "ngbTooltip"], outputs: ["shown", "hidden"], exportAs: ["ngbTooltip"] }, { kind: "ngmodule", type: NgbTooltipModule }, { kind: "component", type: AddEditBuyerContactPopupComponent, selector: "anna-feature-biz-rules-add-edit-buyer-contact-popup", inputs: ["actionType", "businessRulesLevel", "buyerContactList", "canDeleteAllBuyers", "userType", "stationId"], outputs: ["closeModal", "saveBuyerEmitter"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
5577
5577
  }
5578
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: BuyerContactSectionComponent, decorators: [{
5578
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: BuyerContactSectionComponent, decorators: [{
5579
5579
  type: Component,
5580
5580
  args: [{ selector: "anna-feature-biz-rules-buyer-rep-contact-section", imports: [
5581
5581
  CommonModule,
@@ -6135,10 +6135,10 @@ class CopyBizRulesPopupComponent {
6135
6135
  this.checkIfCopyButtonEnabled();
6136
6136
  this.businessRuleService.notifyBusinessRulesChanged();
6137
6137
  }
6138
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CopyBizRulesPopupComponent, deps: [{ token: i1$2.NgbModal }, { token: i1$3.AnnaGlobalConfigService }, { token: COPY_BUSINESS_RULE_POPUP_SERVICE }, { token: i1$4.ToastrService }, { token: i1.GenericBusinessRuleCommonSIBILogicService }], target: i0.ɵɵFactoryTarget.Component }); }
6139
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: CopyBizRulesPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-app-copy-biz-rules-popup", inputs: { station: "station", defaultSelectedCopyFrom: "defaultSelectedCopyFrom", modalTitle: "modalTitle", copyToText: "copyToText", currentBizRules: "currentBizRules", radioConfig: "radioConfig", isStationLevelBizRuleTab: "isStationLevelBizRuleTab", OwnershipGroup: "OwnershipGroup", isPayForPerformanceOrder: "isPayForPerformanceOrder" }, outputs: { initiateLoader: "initiateLoader", sendCopiedBizRules: "sendCopiedBizRules", copyBizRulesChanged: "copyBizRulesChanged" }, viewQueries: [{ propertyName: "copyRulesTemplate", first: true, predicate: ["copyBusinessRuleModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\n #copyBusinessRuleModal\n let-modal\n>\n <section class=\"main-modal\">\n <div class=\"modal-header\">\n <span>\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n </span>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"meta-data\">\n <span *ngIf=\"OwnershipGroup?.text\"\n >OG: <b>{{ OwnershipGroup?.text }}</b></span\n >\n <span\n >Station: <b>{{ station.text }}</b></span\n >\n <span\n >Copy to: <b>{{ copyToText }}</b></span\n >\n </div>\n <div class=\"radio-header\">\n <span class=\"copy-from-text\">Copy From</span>\n <span class=\"greyline\"></span>\n </div>\n <div class=\"radio-button-div\">\n <anna-design-radio-buttons\n [config]=\"radioConfig\"\n [selectedValue]=\"selectedRadioToCopyFrom\"\n (selectionChanged)=\"copyFromRadioButtonChange($event)\"\n [disabled]=\"false\"\n class=\"copy-business-rule-radio\"\n ></anna-design-radio-buttons>\n </div>\n\n <div class=\"dropdown-container\">\n <div\n class=\"advertisern-dropdown\"\n *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.STATION\"\n >\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n </div>\n <div\n class=\"advertisern-dropdown\"\n *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.ADVERTISER\"\n >\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n <label>Advertiser</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedAdvertisers[0]\"\n [config]=\"advSingleSelectConfig\"\n [items]=\"advertiserList?.listOfAdvertiserAndOrder\"\n (valueChanged)=\"advertiserSingleSelected($event)\"\n [disabled]=\"!advertiserList?.listOfAdvertiserAndOrder?.length\"\n >\n </anna-design-single-select>\n </div>\n <ng-container *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.ORDER\">\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"this.selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n\n <label>Advertiser</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"advMultiSelectConfig\"\n [items]=\"advertiserList?.listOfAdvertiserAndOrderWithoutStatus\"\n (selectionChangedEmitAllItems)=\"advertiserSelectionChange($event)\"\n [disabled]=\"!advertiserList?.listOfAdvertiserAndOrderWithoutStatus?.length\"\n (dropdownClosedEvent)=\"advertiserSelectionChange($event)\"\n >\n </anna-design-multi-select>\n\n <label>Order</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedOrder\"\n [config]=\"orderSingleSelectConfig\"\n [disabled]=\"!orderListForAdvertiser?.length\"\n [items]=\"orderListForAdvertiser\"\n (valueChanged)=\"orderSelectionChange($event)\"\n >\n </anna-design-single-select>\n </ng-container>\n </div>\n\n <div class=\"checkbox-for-copy\">\n <label\n >Select business rules you want to copy.<span *ngIf=\"!isExcludedSpecialProgramPresent\">\n Please note that \u2018DP restrictions\u2019, \u2018Equivalent & Higher DPs\u2019, and \u2018Excluded & Special Programs\u2019\n can\u2019t be copied across stations.</span\n ></label\n >\n <div *ngFor=\"let rule of rulesThatCanBeCopied\">\n <input\n id=\"{{ rule.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"rule.isSelected\"\n (change)=\"businessRulesSelectionChanged()\"\n />\n <label for=\"{{ rule.name }}\">{{ rule.name }}</label>\n </div>\n </div>\n\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"resetCopyBizRuleAndCloseModal()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n [disabled]=\"copyButtonDisabled\"\n (click)=\"copyBusinessRules()\"\n >\n Copy\n </button>\n </div>\n </div>\n </section>\n</ng-template>\n", styles: ["mat-radio-group{display:flex;flex-direction:column}.radio-header{margin-bottom:0;margin-top:12px;display:flex;align-items:end}.radio-header .greyline{display:inline-block;margin-bottom:3px;margin-left:6px;width:-webkit-fill-available;height:1px;border:solid 1px #e6e6e6}.radio-header .copy-from-text{min-width:59px;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .mat-mdc-radio-touch-target{position:absolute;top:50%;height:16px!important;left:50%;width:16px!important;transform:translate(-50%,-50%)}section{font-size:12px!important}mat-radio-button{margin-right:20px}::ng-deep .radio-button-div>.copy-business-rule-radio>.mat-mdc-radio-group{display:flex;flex-direction:row!important}::ng-deep .mdc-form-field>label{margin-right:14px!important;font-size:var(--radio-button-label-fs)!important;padding-left:4px;top:-1px!important}::ng-deep .copy-business-rule-radio p{font-size:12px!important;color:#666!important}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.modal-body{padding:24px 24px 0;color:#4a4a4a}.radio-button-div{margin-top:12px;line-height:1.33}.checkbox-for-copy{margin-top:16px;line-height:1.33}.dropdown-container{margin-top:4px!important}.dropdown-container label{font-size:var(--dropdown-label-fs)!important;padding-top:8px!important}.checkboxes-header{margin-bottom:5px}.checkbox-for-copy>div>label{padding-left:5px;margin-bottom:3px!important;position:relative;bottom:2px}.dropdown-container>label{margin-top:0!important;margin-bottom:0!important}anna-design-multi-select,anna-design-single-select{margin-bottom:4px!important}.meta-data{display:flex;flex-direction:column}.advertisern-dropdown>label{margin-bottom:0!important;font-size:var(--dropdown-label-fs)}input[type=checkbox]{cursor:pointer!important;accent-color:var(--primary-blue-color)}::ng-deep .copy-biz-rule-modal .modal-dialog{width:500px;max-width:500px;top:var(--ngb-modal-top-center-align)!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.RadioButtonsComponent, selector: "anna-design-radio-buttons", inputs: ["config", "disabled", "selectedValue", "horizontalAlignment"], outputs: ["selectionChanged"] }, { kind: "component", type: i2.SingleSelectComponent, selector: "anna-design-single-select", inputs: ["config", "loading", "showAdditionalDataInSelectedText", "disabled", "items", "selectedItem", "keyToUseForDisplay", "keyToUseForCheckingSelectedItem", "hideDropdownArrow", "borderbottomObject", "defaultDropdownHeight", "itemsToHideInDropdownIds", "showClearSelection"], outputs: ["valueChanged", "dropdownClosedEvent", "dropdownOpenedEvent", "clearSelectionClickedEvent"] }, { kind: "component", type: i2.MultiSelectComponent, selector: "anna-design-multi-select", inputs: ["items", "loading", "hideOptionsEnabled", "hideDropdownArrow", "showAdditionalDataInSelectedText", "config", "disabled", "borderbottomObject", "disableOptionsEnabled", "defaultDropdownHeight", "isEquivalentHigherDpComponent"], outputs: ["valueChanged", "selectionChangedEmitAllItems", "dropdownClosedEvent", "dropdownOpenedEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6138
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyBizRulesPopupComponent, deps: [{ token: i1$2.NgbModal }, { token: i1$3.AnnaGlobalConfigService }, { token: COPY_BUSINESS_RULE_POPUP_SERVICE }, { token: i1$4.ToastrService }, { token: i1.GenericBusinessRuleCommonSIBILogicService }], target: i0.ɵɵFactoryTarget.Component }); }
6139
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: CopyBizRulesPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-app-copy-biz-rules-popup", inputs: { station: "station", defaultSelectedCopyFrom: "defaultSelectedCopyFrom", modalTitle: "modalTitle", copyToText: "copyToText", currentBizRules: "currentBizRules", radioConfig: "radioConfig", isStationLevelBizRuleTab: "isStationLevelBizRuleTab", OwnershipGroup: "OwnershipGroup", isPayForPerformanceOrder: "isPayForPerformanceOrder" }, outputs: { initiateLoader: "initiateLoader", sendCopiedBizRules: "sendCopiedBizRules", copyBizRulesChanged: "copyBizRulesChanged" }, viewQueries: [{ propertyName: "copyRulesTemplate", first: true, predicate: ["copyBusinessRuleModal"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<ng-template\n #copyBusinessRuleModal\n let-modal\n>\n <section class=\"main-modal\">\n <div class=\"modal-header\">\n <span>\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n </span>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"meta-data\">\n <span *ngIf=\"OwnershipGroup?.text\"\n >OG: <b>{{ OwnershipGroup?.text }}</b></span\n >\n <span\n >Station: <b>{{ station.text }}</b></span\n >\n <span\n >Copy to: <b>{{ copyToText }}</b></span\n >\n </div>\n <div class=\"radio-header\">\n <span class=\"copy-from-text\">Copy From</span>\n <span class=\"greyline\"></span>\n </div>\n <div class=\"radio-button-div\">\n <anna-design-radio-buttons\n [config]=\"radioConfig\"\n [selectedValue]=\"selectedRadioToCopyFrom\"\n (selectionChanged)=\"copyFromRadioButtonChange($event)\"\n [disabled]=\"false\"\n class=\"copy-business-rule-radio\"\n ></anna-design-radio-buttons>\n </div>\n\n <div class=\"dropdown-container\">\n <div\n class=\"advertisern-dropdown\"\n *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.STATION\"\n >\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n </div>\n <div\n class=\"advertisern-dropdown\"\n *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.ADVERTISER\"\n >\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n <label>Advertiser</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedAdvertisers[0]\"\n [config]=\"advSingleSelectConfig\"\n [items]=\"advertiserList?.listOfAdvertiserAndOrder\"\n (valueChanged)=\"advertiserSingleSelected($event)\"\n [disabled]=\"!advertiserList?.listOfAdvertiserAndOrder?.length\"\n >\n </anna-design-single-select>\n </div>\n <ng-container *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.ORDER\">\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"this.selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n\n <label>Advertiser</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"advMultiSelectConfig\"\n [items]=\"advertiserList?.listOfAdvertiserAndOrderWithoutStatus\"\n (selectionChangedEmitAllItems)=\"advertiserSelectionChange($event)\"\n [disabled]=\"!advertiserList?.listOfAdvertiserAndOrderWithoutStatus?.length\"\n (dropdownClosedEvent)=\"advertiserSelectionChange($event)\"\n >\n </anna-design-multi-select>\n\n <label>Order</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedOrder\"\n [config]=\"orderSingleSelectConfig\"\n [disabled]=\"!orderListForAdvertiser?.length\"\n [items]=\"orderListForAdvertiser\"\n (valueChanged)=\"orderSelectionChange($event)\"\n >\n </anna-design-single-select>\n </ng-container>\n </div>\n\n <div class=\"checkbox-for-copy\">\n <label\n >Select business rules you want to copy.<span *ngIf=\"!isExcludedSpecialProgramPresent\">\n Please note that \u2018DP restrictions\u2019, \u2018Equivalent & Higher DPs\u2019, and \u2018Excluded & Special Programs\u2019\n can\u2019t be copied across stations.</span\n ></label\n >\n <div *ngFor=\"let rule of rulesThatCanBeCopied\">\n <input\n id=\"{{ rule.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"rule.isSelected\"\n (change)=\"businessRulesSelectionChanged()\"\n />\n <label for=\"{{ rule.name }}\">{{ rule.name }}</label>\n </div>\n </div>\n\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"resetCopyBizRuleAndCloseModal()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n [disabled]=\"copyButtonDisabled\"\n (click)=\"copyBusinessRules()\"\n >\n Copy\n </button>\n </div>\n </div>\n </section>\n</ng-template>\n", styles: ["mat-radio-group{display:flex;flex-direction:column}.radio-header{margin-bottom:0;margin-top:12px;display:flex;align-items:end}.radio-header .greyline{display:inline-block;margin-bottom:3px;margin-left:6px;width:-webkit-fill-available;height:1px;border:solid 1px #e6e6e6}.radio-header .copy-from-text{min-width:59px;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .mat-mdc-radio-touch-target{position:absolute;top:50%;height:16px!important;left:50%;width:16px!important;transform:translate(-50%,-50%)}section{font-size:12px!important}mat-radio-button{margin-right:20px}::ng-deep .radio-button-div>.copy-business-rule-radio>.mat-mdc-radio-group{display:flex;flex-direction:row!important}::ng-deep .mdc-form-field>label{margin-right:14px!important;font-size:var(--radio-button-label-fs)!important;padding-left:4px;top:-1px!important}::ng-deep .copy-business-rule-radio p{font-size:12px!important;color:#666!important}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.modal-body{padding:24px 24px 0;color:#4a4a4a}.radio-button-div{margin-top:12px;line-height:1.33}.checkbox-for-copy{margin-top:16px;line-height:1.33}.dropdown-container{margin-top:4px!important}.dropdown-container label{font-size:var(--dropdown-label-fs)!important;padding-top:8px!important}.checkboxes-header{margin-bottom:5px}.checkbox-for-copy>div>label{padding-left:5px;margin-bottom:3px!important;position:relative;bottom:2px}.dropdown-container>label{margin-top:0!important;margin-bottom:0!important}anna-design-multi-select,anna-design-single-select{margin-bottom:4px!important}.meta-data{display:flex;flex-direction:column}.advertisern-dropdown>label{margin-bottom:0!important;font-size:var(--dropdown-label-fs)}input[type=checkbox]{cursor:pointer!important;accent-color:var(--primary-blue-color)}::ng-deep .copy-biz-rule-modal .modal-dialog{width:500px;max-width:500px;top:var(--ngb-modal-top-center-align)!important}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaDesignComponentsLibModule }, { kind: "component", type: i2.RadioButtonsComponent, selector: "anna-design-radio-buttons", inputs: ["config", "disabled", "selectedValue", "horizontalAlignment"], outputs: ["selectionChanged"] }, { kind: "component", type: i2.SingleSelectComponent, selector: "anna-design-single-select", inputs: ["config", "loading", "showAdditionalDataInSelectedText", "disabled", "items", "selectedItem", "keyToUseForDisplay", "keyToUseForCheckingSelectedItem", "hideDropdownArrow", "borderbottomObject", "defaultDropdownHeight", "itemsToHideInDropdownIds", "showClearSelection"], outputs: ["valueChanged", "dropdownClosedEvent", "dropdownOpenedEvent", "clearSelectionClickedEvent"] }, { kind: "component", type: i2.MultiSelectComponent, selector: "anna-design-multi-select", inputs: ["items", "loading", "hideOptionsEnabled", "hideDropdownArrow", "showAdditionalDataInSelectedText", "config", "disabled", "borderbottomObject", "disableOptionsEnabled", "defaultDropdownHeight", "isEquivalentHigherDpComponent"], outputs: ["applied", "valueChanged", "selectionApplied", "selectionChangedEmitAllItems", "dropdownClosedEvent", "dropdownOpenedEvent"] }, { kind: "directive", type: NgFor, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6140
6140
  }
6141
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: CopyBizRulesPopupComponent, decorators: [{
6141
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: CopyBizRulesPopupComponent, decorators: [{
6142
6142
  type: Component,
6143
6143
  args: [{ selector: "anna-feature-biz-rules-app-copy-biz-rules-popup", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AnnaDesignComponentsLibModule, NgFor, FormsModule], template: "<ng-template\n #copyBusinessRuleModal\n let-modal\n>\n <section class=\"main-modal\">\n <div class=\"modal-header\">\n <span>\n <h3 class=\"modal-title\">{{ modalTitle }}</h3>\n </span>\n </div>\n\n <div class=\"modal-body\">\n <div class=\"meta-data\">\n <span *ngIf=\"OwnershipGroup?.text\"\n >OG: <b>{{ OwnershipGroup?.text }}</b></span\n >\n <span\n >Station: <b>{{ station.text }}</b></span\n >\n <span\n >Copy to: <b>{{ copyToText }}</b></span\n >\n </div>\n <div class=\"radio-header\">\n <span class=\"copy-from-text\">Copy From</span>\n <span class=\"greyline\"></span>\n </div>\n <div class=\"radio-button-div\">\n <anna-design-radio-buttons\n [config]=\"radioConfig\"\n [selectedValue]=\"selectedRadioToCopyFrom\"\n (selectionChanged)=\"copyFromRadioButtonChange($event)\"\n [disabled]=\"false\"\n class=\"copy-business-rule-radio\"\n ></anna-design-radio-buttons>\n </div>\n\n <div class=\"dropdown-container\">\n <div\n class=\"advertisern-dropdown\"\n *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.STATION\"\n >\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n </div>\n <div\n class=\"advertisern-dropdown\"\n *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.ADVERTISER\"\n >\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n <label>Advertiser</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedAdvertisers[0]\"\n [config]=\"advSingleSelectConfig\"\n [items]=\"advertiserList?.listOfAdvertiserAndOrder\"\n (valueChanged)=\"advertiserSingleSelected($event)\"\n [disabled]=\"!advertiserList?.listOfAdvertiserAndOrder?.length\"\n >\n </anna-design-single-select>\n </div>\n <ng-container *ngIf=\"selectedRadioToCopyFrom === businessRuleLevelConstant.ORDER\">\n <label>Station</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"this.selectedStation\"\n [config]=\"stationSingleSelectConfig\"\n [items]=\"stationList?.listOfStations\"\n (valueChanged)=\"stationSingleSelected($event)\"\n [disabled]=\"!stationList?.listOfStations?.length\"\n >\n </anna-design-single-select>\n\n <label>Advertiser</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"advMultiSelectConfig\"\n [items]=\"advertiserList?.listOfAdvertiserAndOrderWithoutStatus\"\n (selectionChangedEmitAllItems)=\"advertiserSelectionChange($event)\"\n [disabled]=\"!advertiserList?.listOfAdvertiserAndOrderWithoutStatus?.length\"\n (dropdownClosedEvent)=\"advertiserSelectionChange($event)\"\n >\n </anna-design-multi-select>\n\n <label>Order</label>\n <anna-design-single-select\n [loading]=\"loading\"\n [selectedItem]=\"selectedOrder\"\n [config]=\"orderSingleSelectConfig\"\n [disabled]=\"!orderListForAdvertiser?.length\"\n [items]=\"orderListForAdvertiser\"\n (valueChanged)=\"orderSelectionChange($event)\"\n >\n </anna-design-single-select>\n </ng-container>\n </div>\n\n <div class=\"checkbox-for-copy\">\n <label\n >Select business rules you want to copy.<span *ngIf=\"!isExcludedSpecialProgramPresent\">\n Please note that \u2018DP restrictions\u2019, \u2018Equivalent & Higher DPs\u2019, and \u2018Excluded & Special Programs\u2019\n can\u2019t be copied across stations.</span\n ></label\n >\n <div *ngFor=\"let rule of rulesThatCanBeCopied\">\n <input\n id=\"{{ rule.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"rule.isSelected\"\n (change)=\"businessRulesSelectionChanged()\"\n />\n <label for=\"{{ rule.name }}\">{{ rule.name }}</label>\n </div>\n </div>\n\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"resetCopyBizRuleAndCloseModal()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n [disabled]=\"copyButtonDisabled\"\n (click)=\"copyBusinessRules()\"\n >\n Copy\n </button>\n </div>\n </div>\n </section>\n</ng-template>\n", styles: ["mat-radio-group{display:flex;flex-direction:column}.radio-header{margin-bottom:0;margin-top:12px;display:flex;align-items:end}.radio-header .greyline{display:inline-block;margin-bottom:3px;margin-left:6px;width:-webkit-fill-available;height:1px;border:solid 1px #e6e6e6}.radio-header .copy-from-text{min-width:59px;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}::ng-deep .mat-mdc-radio-touch-target{position:absolute;top:50%;height:16px!important;left:50%;width:16px!important;transform:translate(-50%,-50%)}section{font-size:12px!important}mat-radio-button{margin-right:20px}::ng-deep .radio-button-div>.copy-business-rule-radio>.mat-mdc-radio-group{display:flex;flex-direction:row!important}::ng-deep .mdc-form-field>label{margin-right:14px!important;font-size:var(--radio-button-label-fs)!important;padding-left:4px;top:-1px!important}::ng-deep .copy-business-rule-radio p{font-size:12px!important;color:#666!important}.button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.modal-body{padding:24px 24px 0;color:#4a4a4a}.radio-button-div{margin-top:12px;line-height:1.33}.checkbox-for-copy{margin-top:16px;line-height:1.33}.dropdown-container{margin-top:4px!important}.dropdown-container label{font-size:var(--dropdown-label-fs)!important;padding-top:8px!important}.checkboxes-header{margin-bottom:5px}.checkbox-for-copy>div>label{padding-left:5px;margin-bottom:3px!important;position:relative;bottom:2px}.dropdown-container>label{margin-top:0!important;margin-bottom:0!important}anna-design-multi-select,anna-design-single-select{margin-bottom:4px!important}.meta-data{display:flex;flex-direction:column}.advertisern-dropdown>label{margin-bottom:0!important;font-size:var(--dropdown-label-fs)}input[type=checkbox]{cursor:pointer!important;accent-color:var(--primary-blue-color)}::ng-deep .copy-biz-rule-modal .modal-dialog{width:500px;max-width:500px;top:var(--ngb-modal-top-center-align)!important}\n"] }]
6144
6144
  }], ctorParameters: () => [{ type: i1$2.NgbModal }, { type: i1$3.AnnaGlobalConfigService }, { type: undefined, decorators: [{
@@ -6434,10 +6434,10 @@ class InheritBizRuleApprovalPopupService {
6434
6434
  ];
6435
6435
  return gtTableHeaders;
6436
6436
  }
6437
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InheritBizRuleApprovalPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6438
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InheritBizRuleApprovalPopupService, providedIn: "root" }); }
6437
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: InheritBizRuleApprovalPopupService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
6438
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: InheritBizRuleApprovalPopupService, providedIn: "root" }); }
6439
6439
  }
6440
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InheritBizRuleApprovalPopupService, decorators: [{
6440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: InheritBizRuleApprovalPopupService, decorators: [{
6441
6441
  type: Injectable,
6442
6442
  args: [{
6443
6443
  providedIn: "root",
@@ -6730,10 +6730,10 @@ class InheritBizRuleApprovalPopupComponent {
6730
6730
  this.annaFilterService.appliedFiltersArray = [];
6731
6731
  this.modalClose.emit();
6732
6732
  }
6733
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InheritBizRuleApprovalPopupComponent, deps: [{ token: i1$3.AnnaSortService }, { token: i1$3.AnnaFilterService }, { token: i1$3.AnnaGlobalConfigService }, { token: InheritBizRuleApprovalPopupService }], target: i0.ɵɵFactoryTarget.Component }); }
6734
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: InheritBizRuleApprovalPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-inherit-biz-rule-approval-popup", inputs: { loading: "loading", orderList: "orderList", noOrdersForGivenAdvertiser: "noOrdersForGivenAdvertiser", advertiserName: "advertiserName", stationName: "stationName", isBuyerConfigChangedFromNoToYes: "isBuyerConfigChangedFromNoToYes", isBuyerInvolved: "isBuyerInvolved", bizRuleStatus: "bizRuleStatus" }, outputs: { inheritApprovalPopupApply: "inheritApprovalPopupApply", modalClose: "modalClose" }, usesOnChanges: true, ngImport: i0, template: "<section>\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">Approval</h3>\n <i\n *ngIf=\"currentPopupToShow?.stepNo\"\n class=\"mi mdi-close-icon mdi-font-md close pull-right\"\n (click)=\"cancelClicked()\"\n ></i>\n </div>\n\n <div\n class=\"modal-body\"\n class=\"{{ currentPopupToShow?.id }} approval-popup-container\"\n >\n <div\n class=\"no-order-confirm\"\n *ngIf=\"noOrdersForGivenAdvertiser\"\n >\n Are you sure you want to approve the advertiser business rules? <br />\n These approved rules will be used for providing offers starting from the next revision cycle.\n <ng-container *ngIf=\"isBuyerConfigChangedFromNoToYes\"\n >These rules and the orders will also be shared with the buyer post approval as per the set\n configurations.\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"!noOrdersForGivenAdvertiser\">\n <span class=\"mt-20 info-text\">\n Station: <b>{{ stationName }}</b>\n </span>\n <span class=\"mt-20 info-text ml-8\">\n Advertiser: <b>{{ advertiserName }}</b>\n </span>\n\n <div class=\"top msg\">\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersWithoutSetBizRules\">\n The orders will inherit the approved advertiser business rules. Please indicate your preference for\n each order.\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.ApprovedOrdersInheritingBizRules\">\n <header>\n {{ currentPopupToShow?.stepNo ? currentPopupToShow?.stepNo + \".\" : \"\" }}\n Approved orders Inheriting advertiser business rules\n </header>\n These orders are currently following the advertiser business rules. Select\n <b>\u2018Retain Existing\u2019</b> for orders that shouldn\u2019t reflect these latest changes.\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersAwaitingApproval\">\n <header>\n {{ currentPopupToShow?.stepNo ? currentPopupToShow?.stepNo + \".\" : \"\" }}\n Orders awaiting approval\n </header>\n These orders are currently following the advertiser business rules. Select\n <b>\u2018Inherit But Modify & Approve Later\u2019</b> for orders that require further changes.\n </ng-container>\n </div>\n\n <div class=\"count\">\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersWithoutSetBizRules\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and\n {{ inheritButApproveLaterCount }} Inherit but Modify & Approve Later\n </b>\n orders selected\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.ApprovedOrdersInheritingBizRules\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and {{ retainExistingCount }} Retain\n Existing\n </b>\n orders selected\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersAwaitingApproval\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and\n {{ inheritButApproveLaterCount }} Inherit but Modify & Approve Later\n </b>\n orders selected\n </ng-container>\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [tableBorderBottomClassRequired]=\"false\"\n [fixNumberOfRowsForPopup]=\"true\"\n [ngClass]=\"{\n 'inherit-biz-rule-approval-no-data-table':\n !loading && tableDisplayData && tableDisplayData.length === 0\n }\"\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"tableDisplayData\"\n [clonedTableData]=\"clonedTableData\"\n [totalRowInfo]=\"totalRowInfo\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (totalRowIconClicked)=\"totalRowIconClicked($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (toggleCheckbox)=\"toggleCheckbox($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n\n <div\n class=\"bottom msg\"\n *ngIf=\"\n !currentPopupToShow?.stepNo || currentPopupToShow?.stepNo === allPopupData.approvalPopupSteps.length\n \"\n >\n These approved rules will be used for providing offers starting from the next revision cycle. <br />\n <ng-container\n *ngIf=\"\n (bizRuleStatus === BizRuleStatus.AWAITING_APPROVAL && !isBuyerInvolved) ||\n (bizRuleStatus !== BizRuleStatus.AWAITING_APPROVAL && !isBuyerConfigChangedFromNoToYes)\n \"\n >\n Are you sure you want to approve the advertiser business rules and take selected action for all\n orders mentioned above?\n </ng-container>\n <ng-container\n *ngIf=\"\n (bizRuleStatus === BizRuleStatus.AWAITING_APPROVAL && isBuyerInvolved) ||\n (bizRuleStatus !== BizRuleStatus.AWAITING_APPROVAL && isBuyerConfigChangedFromNoToYes)\n \"\n >\n Are you sure you want to approve the advertiser business rules and take selected action on all\n orders? These rules and the orders will also be shared with the buyer post approval as per the set\n configurations.\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"btn-container\">\n <button\n *ngIf=\"!currentPopupToShow?.stepNo\"\n class=\"anna cancel-button\"\n (click)=\"cancelClicked()\"\n >\n Cancel\n </button>\n\n <button\n *ngIf=\"currentPopupToShow?.stepNo\"\n class=\"anna cancel-button\"\n [disabled]=\"currentPopupToShow?.stepNo === 1\"\n (click)=\"previousClicked()\"\n >\n Previous\n </button>\n\n <button\n *ngIf=\"\n !currentPopupToShow?.stepNo || currentPopupToShow?.stepNo === allPopupData.approvalPopupSteps.length\n \"\n class=\"anna apply-button\"\n (click)=\"onConfirmClicked()\"\n >\n Confirm\n </button>\n\n <button\n *ngIf=\"\n currentPopupToShow?.stepNo && currentPopupToShow?.stepNo !== allPopupData.approvalPopupSteps.length\n \"\n class=\"anna apply-button\"\n (click)=\"nextClicked()\"\n >\n Next({{ currentPopupToShow?.stepNo }}/{{ allPopupData.approvalPopupSteps.length }})\n </button>\n </div>\n </div>\n</section>\n", styles: ["::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:3.7813rem;margin-left:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:142px!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr{height:50px!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) .total-row td:nth-of-type(2){filter:drop-shadow(2px 0 2px #d4d4d4)}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{top:40px!important;padding:2px 8px;background:#fff;position:sticky;position:-webkit-sticky}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .upper-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .lower-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-top:-3px}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td br{display:block;content:\"\";margin-top:-6px}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){box-shadow:inset 1px 0 #000000bf,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(3){box-shadow:inset -1px 0 #000000bf,inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){position:sticky!important;left:0;z-index:501!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){position:sticky!important;left:60px;z-index:501!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{padding:0 8px!important}::ng-deep .inherit-biz-rule-approval-popup ::ng-deep anna-core-non-editable-generic-table-lib anna-core-no-data-lib .no-data{margin-top:-70px!important}::ng-deep .inherit-biz-rule-approval-popup ::ng-deep anna-core-non-editable-generic-table-lib .mdi-check-box-outline-blank{display:flex}::ng-deep .inherit-biz-rule-approval-popup .modal-content{min-width:31rem!important;width:31rem!important;max-width:31rem!important}::ng-deep .inherit-biz-rule-approval-popup .modal-dialog.modal-dialog-centered{max-width:456px!important;top:10px!important}::ng-deep .inherit-biz-rule-approval-popup.no-data-case .modal-dialog{top:-98px!important}::ng-deep .inherit-biz-rule-approval-popup .gt thead tr th .lower-label{color:#4a4a4a!important}::ng-deep .inherit-biz-rule-approval-popup .msg{color:#4a4a4a!important;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:14.06px!important;letter-spacing:normal}::ng-deep .inherit-biz-rule-approval-popup .top.msg{margin:8px 0 12px}::ng-deep .inherit-biz-rule-approval-popup .bottom.msg{margin:12px 0 0}::ng-deep .inherit-biz-rule-approval-popup .count{color:#767676;margin-bottom:2px;font-family:Roboto;font-size:12px;font-weight:500;font-stretch:normal;font-style:normal;line-height:14.06px!important;letter-spacing:normal}::ng-deep .inherit-biz-rule-approval-popup .count b{font-weight:700!important}::ng-deep .inherit-biz-rule-approval-popup .btn-container{margin-top:24px;display:flex}::ng-deep .inherit-biz-rule-approval-popup .mdi-radiobox-marked,::ng-deep .inherit-biz-rule-approval-popup .mdi-radiobox-blank{color:var(--primary-blue-color);font-size:12px}::ng-deep .inherit-biz-rule-approval-popup .ml-8{margin-left:8px}@media only screen and (min-width: 1920px){::ng-deep .inherit-biz-rule-approval-popup :host ::ng-deep anna-core-non-editable-generic-table-lib .table-container{max-height:calc(100vh - 707px)!important}}.no-order-confirm{font-size:14px!important}.mdi-close-icon{margin-left:auto;margin-bottom:auto;cursor:pointer}header{margin-bottom:8px;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:12px!important;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6733
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: InheritBizRuleApprovalPopupComponent, deps: [{ token: i1$3.AnnaSortService }, { token: i1$3.AnnaFilterService }, { token: i1$3.AnnaGlobalConfigService }, { token: InheritBizRuleApprovalPopupService }], target: i0.ɵɵFactoryTarget.Component }); }
6734
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: InheritBizRuleApprovalPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-inherit-biz-rule-approval-popup", inputs: { loading: "loading", orderList: "orderList", noOrdersForGivenAdvertiser: "noOrdersForGivenAdvertiser", advertiserName: "advertiserName", stationName: "stationName", isBuyerConfigChangedFromNoToYes: "isBuyerConfigChangedFromNoToYes", isBuyerInvolved: "isBuyerInvolved", bizRuleStatus: "bizRuleStatus" }, outputs: { inheritApprovalPopupApply: "inheritApprovalPopupApply", modalClose: "modalClose" }, usesOnChanges: true, ngImport: i0, template: "<section>\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">Approval</h3>\n <i\n *ngIf=\"currentPopupToShow?.stepNo\"\n class=\"mi mdi-close-icon mdi-font-md close pull-right\"\n (click)=\"cancelClicked()\"\n ></i>\n </div>\n\n <div\n class=\"modal-body\"\n class=\"{{ currentPopupToShow?.id }} approval-popup-container\"\n >\n <div\n class=\"no-order-confirm\"\n *ngIf=\"noOrdersForGivenAdvertiser\"\n >\n Are you sure you want to approve the advertiser business rules? <br />\n These approved rules will be used for providing offers starting from the next revision cycle.\n <ng-container *ngIf=\"isBuyerConfigChangedFromNoToYes\"\n >These rules and the orders will also be shared with the buyer post approval as per the set\n configurations.\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"!noOrdersForGivenAdvertiser\">\n <span class=\"mt-20 info-text\">\n Station: <b>{{ stationName }}</b>\n </span>\n <span class=\"mt-20 info-text ml-8\">\n Advertiser: <b>{{ advertiserName }}</b>\n </span>\n\n <div class=\"top msg\">\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersWithoutSetBizRules\">\n The orders will inherit the approved advertiser business rules. Please indicate your preference for\n each order.\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.ApprovedOrdersInheritingBizRules\">\n <header>\n {{ currentPopupToShow?.stepNo ? currentPopupToShow?.stepNo + \".\" : \"\" }}\n Approved orders Inheriting advertiser business rules\n </header>\n These orders are currently following the advertiser business rules. Select\n <b>\u2018Retain Existing\u2019</b> for orders that shouldn\u2019t reflect these latest changes.\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersAwaitingApproval\">\n <header>\n {{ currentPopupToShow?.stepNo ? currentPopupToShow?.stepNo + \".\" : \"\" }}\n Orders awaiting approval\n </header>\n These orders are currently following the advertiser business rules. Select\n <b>\u2018Inherit But Modify & Approve Later\u2019</b> for orders that require further changes.\n </ng-container>\n </div>\n\n <div class=\"count\">\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersWithoutSetBizRules\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and\n {{ inheritButApproveLaterCount }} Inherit but Modify & Approve Later\n </b>\n orders selected\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.ApprovedOrdersInheritingBizRules\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and {{ retainExistingCount }} Retain\n Existing\n </b>\n orders selected\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersAwaitingApproval\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and\n {{ inheritButApproveLaterCount }} Inherit but Modify & Approve Later\n </b>\n orders selected\n </ng-container>\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [tableBorderBottomClassRequired]=\"false\"\n [fixNumberOfRowsForPopup]=\"true\"\n [ngClass]=\"{\n 'inherit-biz-rule-approval-no-data-table':\n !loading && tableDisplayData && tableDisplayData.length === 0\n }\"\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"tableDisplayData\"\n [clonedTableData]=\"clonedTableData\"\n [totalRowInfo]=\"totalRowInfo\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (totalRowIconClicked)=\"totalRowIconClicked($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (toggleCheckbox)=\"toggleCheckbox($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n\n <div\n class=\"bottom msg\"\n *ngIf=\"\n !currentPopupToShow?.stepNo || currentPopupToShow?.stepNo === allPopupData.approvalPopupSteps.length\n \"\n >\n These approved rules will be used for providing offers starting from the next revision cycle. <br />\n <ng-container\n *ngIf=\"\n (bizRuleStatus === BizRuleStatus.AWAITING_APPROVAL && !isBuyerInvolved) ||\n (bizRuleStatus !== BizRuleStatus.AWAITING_APPROVAL && !isBuyerConfigChangedFromNoToYes)\n \"\n >\n Are you sure you want to approve the advertiser business rules and take selected action for all\n orders mentioned above?\n </ng-container>\n <ng-container\n *ngIf=\"\n (bizRuleStatus === BizRuleStatus.AWAITING_APPROVAL && isBuyerInvolved) ||\n (bizRuleStatus !== BizRuleStatus.AWAITING_APPROVAL && isBuyerConfigChangedFromNoToYes)\n \"\n >\n Are you sure you want to approve the advertiser business rules and take selected action on all\n orders? These rules and the orders will also be shared with the buyer post approval as per the set\n configurations.\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"btn-container\">\n <button\n *ngIf=\"!currentPopupToShow?.stepNo\"\n class=\"anna cancel-button\"\n (click)=\"cancelClicked()\"\n >\n Cancel\n </button>\n\n <button\n *ngIf=\"currentPopupToShow?.stepNo\"\n class=\"anna cancel-button\"\n [disabled]=\"currentPopupToShow?.stepNo === 1\"\n (click)=\"previousClicked()\"\n >\n Previous\n </button>\n\n <button\n *ngIf=\"\n !currentPopupToShow?.stepNo || currentPopupToShow?.stepNo === allPopupData.approvalPopupSteps.length\n \"\n class=\"anna apply-button\"\n (click)=\"onConfirmClicked()\"\n >\n Confirm\n </button>\n\n <button\n *ngIf=\"\n currentPopupToShow?.stepNo && currentPopupToShow?.stepNo !== allPopupData.approvalPopupSteps.length\n \"\n class=\"anna apply-button\"\n (click)=\"nextClicked()\"\n >\n Next({{ currentPopupToShow?.stepNo }}/{{ allPopupData.approvalPopupSteps.length }})\n </button>\n </div>\n </div>\n</section>\n", styles: ["::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:3.7813rem;margin-left:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:142px!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr{height:50px!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) .total-row td:nth-of-type(2){filter:drop-shadow(2px 0 2px #d4d4d4)}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{top:40px!important;padding:2px 8px;background:#fff;position:sticky;position:-webkit-sticky}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .upper-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .lower-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-top:-3px}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td br{display:block;content:\"\";margin-top:-6px}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){box-shadow:inset 1px 0 #000000bf,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(3){box-shadow:inset -1px 0 #000000bf,inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){position:sticky!important;left:0;z-index:501!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){position:sticky!important;left:60px;z-index:501!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{padding:0 8px!important}::ng-deep .inherit-biz-rule-approval-popup ::ng-deep anna-core-non-editable-generic-table-lib anna-core-no-data-lib .no-data{margin-top:-70px!important}::ng-deep .inherit-biz-rule-approval-popup ::ng-deep anna-core-non-editable-generic-table-lib .mdi-check-box-outline-blank{display:flex}::ng-deep .inherit-biz-rule-approval-popup .modal-content{min-width:31rem!important;width:31rem!important;max-width:31rem!important}::ng-deep .inherit-biz-rule-approval-popup .modal-dialog.modal-dialog-centered{max-width:456px!important;top:10px!important}::ng-deep .inherit-biz-rule-approval-popup.no-data-case .modal-dialog{top:-98px!important}::ng-deep .inherit-biz-rule-approval-popup .gt thead tr th .lower-label{color:#4a4a4a!important}::ng-deep .inherit-biz-rule-approval-popup .msg{color:#4a4a4a!important;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:14.06px!important;letter-spacing:normal}::ng-deep .inherit-biz-rule-approval-popup .top.msg{margin:8px 0 12px}::ng-deep .inherit-biz-rule-approval-popup .bottom.msg{margin:12px 0 0}::ng-deep .inherit-biz-rule-approval-popup .count{color:#767676;margin-bottom:2px;font-family:Roboto;font-size:12px;font-weight:500;font-stretch:normal;font-style:normal;line-height:14.06px!important;letter-spacing:normal}::ng-deep .inherit-biz-rule-approval-popup .count b{font-weight:700!important}::ng-deep .inherit-biz-rule-approval-popup .btn-container{margin-top:24px;display:flex}::ng-deep .inherit-biz-rule-approval-popup .mdi-radiobox-marked,::ng-deep .inherit-biz-rule-approval-popup .mdi-radiobox-blank{color:var(--primary-blue-color);font-size:12px}::ng-deep .inherit-biz-rule-approval-popup .ml-8{margin-left:8px}@media only screen and (min-width: 1920px){::ng-deep .inherit-biz-rule-approval-popup :host ::ng-deep anna-core-non-editable-generic-table-lib .table-container{max-height:calc(100vh - 707px)!important}}.no-order-confirm{font-size:14px!important}.mdi-close-icon{margin-left:auto;margin-bottom:auto;cursor:pointer}header{margin-bottom:8px;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:12px!important;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: AnnaCoreModule }, { kind: "component", type: i1$3.AnnaNonEditableGenericTableComponent, selector: "anna-core-non-editable-generic-table-lib", inputs: ["showSkeletonLoading", "tableHeaders", "tableData", "clonedTableData", "gtGeneralConfig", "totalRowInfo", "gtDimension", "extraHeaderRowForAdjustingColumnWidths", "tableClass", "maximumRowsWhichCanBeRenderedWithoutScroll", "fixNumberOfRowsForPopup", "fixRowsToRender", "includeBorderInTableHeight", "downloadInProgress", "percentDone", "starredInProgress", "clickableRow", "setTableHeightWhenRowSizeIsFixed", "tableBorderBottomClassRequired", "hideSomeTds", "tdsHaveRowSpan", "multipleTablesPresent", "showOrHideToggleForTotalRow", "enableCustomizableColumns"], outputs: ["toggleCheckbox", "toggleRowCheckbox", "toggleHeaderCheckbox", "undoIconClicked", "filterAppliedToTable", "sortingAppliedToTable", "rowClicked", "radioButtonSelected", "columnFilterOpened", "columnFilterClosed", "gtIconClicked", "gtSVGIconClicked", "gtTextActionClicked", "gtViewDetailClicked", "gtInnerHTMLClicked", "downloadSpotDetails", "clickableDataClicked", "totalRowIconClicked", "notificationIconHover", "notificationIconHoverLeave", "editableInputEdited", "radioButtonMessageIconClicked", "statusNotePopupOpened", "textPopupOpened", "digitOnlyInputChanged", "singleSelectDropdownValueEmit", "timeSelected", "totalRowRadioButtonClicked", "totalRowRadioButtonIconClicked", "columnsCustomized", "acfiRateInputChanged", "acfiRateCopyRequested"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6735
6735
  }
6736
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: InheritBizRuleApprovalPopupComponent, decorators: [{
6736
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: InheritBizRuleApprovalPopupComponent, decorators: [{
6737
6737
  type: Component,
6738
6738
  args: [{ selector: "anna-feature-biz-rules-inherit-biz-rule-approval-popup", changeDetection: ChangeDetectionStrategy.OnPush, imports: [NgIf, AnnaCoreModule, NgClass], template: "<section>\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">Approval</h3>\n <i\n *ngIf=\"currentPopupToShow?.stepNo\"\n class=\"mi mdi-close-icon mdi-font-md close pull-right\"\n (click)=\"cancelClicked()\"\n ></i>\n </div>\n\n <div\n class=\"modal-body\"\n class=\"{{ currentPopupToShow?.id }} approval-popup-container\"\n >\n <div\n class=\"no-order-confirm\"\n *ngIf=\"noOrdersForGivenAdvertiser\"\n >\n Are you sure you want to approve the advertiser business rules? <br />\n These approved rules will be used for providing offers starting from the next revision cycle.\n <ng-container *ngIf=\"isBuyerConfigChangedFromNoToYes\"\n >These rules and the orders will also be shared with the buyer post approval as per the set\n configurations.\n </ng-container>\n </div>\n\n <ng-container *ngIf=\"!noOrdersForGivenAdvertiser\">\n <span class=\"mt-20 info-text\">\n Station: <b>{{ stationName }}</b>\n </span>\n <span class=\"mt-20 info-text ml-8\">\n Advertiser: <b>{{ advertiserName }}</b>\n </span>\n\n <div class=\"top msg\">\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersWithoutSetBizRules\">\n The orders will inherit the approved advertiser business rules. Please indicate your preference for\n each order.\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.ApprovedOrdersInheritingBizRules\">\n <header>\n {{ currentPopupToShow?.stepNo ? currentPopupToShow?.stepNo + \".\" : \"\" }}\n Approved orders Inheriting advertiser business rules\n </header>\n These orders are currently following the advertiser business rules. Select\n <b>\u2018Retain Existing\u2019</b> for orders that shouldn\u2019t reflect these latest changes.\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersAwaitingApproval\">\n <header>\n {{ currentPopupToShow?.stepNo ? currentPopupToShow?.stepNo + \".\" : \"\" }}\n Orders awaiting approval\n </header>\n These orders are currently following the advertiser business rules. Select\n <b>\u2018Inherit But Modify & Approve Later\u2019</b> for orders that require further changes.\n </ng-container>\n </div>\n\n <div class=\"count\">\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersWithoutSetBizRules\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and\n {{ inheritButApproveLaterCount }} Inherit but Modify & Approve Later\n </b>\n orders selected\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.ApprovedOrdersInheritingBizRules\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and {{ retainExistingCount }} Retain\n Existing\n </b>\n orders selected\n </ng-container>\n <ng-container *ngIf=\"currentPopupToShow?.id === ApprovalPopupType.OrdersAwaitingApproval\">\n <b\n >{{ inheritAndApproveNowCount }} Inherit & Approve Now and\n {{ inheritButApproveLaterCount }} Inherit but Modify & Approve Later\n </b>\n orders selected\n </ng-container>\n </div>\n\n <anna-core-non-editable-generic-table-lib\n [tableBorderBottomClassRequired]=\"false\"\n [fixNumberOfRowsForPopup]=\"true\"\n [ngClass]=\"{\n 'inherit-biz-rule-approval-no-data-table':\n !loading && tableDisplayData && tableDisplayData.length === 0\n }\"\n [showSkeletonLoading]=\"loading\"\n [tableHeaders]=\"tableHeaders\"\n [tableData]=\"tableDisplayData\"\n [clonedTableData]=\"clonedTableData\"\n [totalRowInfo]=\"totalRowInfo\"\n [gtGeneralConfig]=\"gtGeneralConfig\"\n [gtDimension]=\"gtDimension\"\n (totalRowIconClicked)=\"totalRowIconClicked($event)\"\n (filterAppliedToTable)=\"filterAppliedToTable($event)\"\n (sortingAppliedToTable)=\"sortingAppliedToTable($event)\"\n (toggleCheckbox)=\"toggleCheckbox($event)\"\n >\n </anna-core-non-editable-generic-table-lib>\n\n <div\n class=\"bottom msg\"\n *ngIf=\"\n !currentPopupToShow?.stepNo || currentPopupToShow?.stepNo === allPopupData.approvalPopupSteps.length\n \"\n >\n These approved rules will be used for providing offers starting from the next revision cycle. <br />\n <ng-container\n *ngIf=\"\n (bizRuleStatus === BizRuleStatus.AWAITING_APPROVAL && !isBuyerInvolved) ||\n (bizRuleStatus !== BizRuleStatus.AWAITING_APPROVAL && !isBuyerConfigChangedFromNoToYes)\n \"\n >\n Are you sure you want to approve the advertiser business rules and take selected action for all\n orders mentioned above?\n </ng-container>\n <ng-container\n *ngIf=\"\n (bizRuleStatus === BizRuleStatus.AWAITING_APPROVAL && isBuyerInvolved) ||\n (bizRuleStatus !== BizRuleStatus.AWAITING_APPROVAL && isBuyerConfigChangedFromNoToYes)\n \"\n >\n Are you sure you want to approve the advertiser business rules and take selected action on all\n orders? These rules and the orders will also be shared with the buyer post approval as per the set\n configurations.\n </ng-container>\n </div>\n </ng-container>\n\n <div class=\"btn-container\">\n <button\n *ngIf=\"!currentPopupToShow?.stepNo\"\n class=\"anna cancel-button\"\n (click)=\"cancelClicked()\"\n >\n Cancel\n </button>\n\n <button\n *ngIf=\"currentPopupToShow?.stepNo\"\n class=\"anna cancel-button\"\n [disabled]=\"currentPopupToShow?.stepNo === 1\"\n (click)=\"previousClicked()\"\n >\n Previous\n </button>\n\n <button\n *ngIf=\"\n !currentPopupToShow?.stepNo || currentPopupToShow?.stepNo === allPopupData.approvalPopupSteps.length\n \"\n class=\"anna apply-button\"\n (click)=\"onConfirmClicked()\"\n >\n Confirm\n </button>\n\n <button\n *ngIf=\"\n currentPopupToShow?.stepNo && currentPopupToShow?.stepNo !== allPopupData.approvalPopupSteps.length\n \"\n class=\"anna apply-button\"\n (click)=\"nextClicked()\"\n >\n Next({{ currentPopupToShow?.stepNo }}/{{ allPopupData.approvalPopupSteps.length }})\n </button>\n </div>\n </div>\n</section>\n", styles: ["::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container::-webkit-scrollbar-track{margin-top:3.7813rem;margin-left:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect .header-row th:nth-of-type(0){border:none!important;filter:drop-shadow(2px 0 0px #d4d4d4)}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row{background:#ededed}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th{box-shadow:none!important;cursor:default;background:#ededed;padding:2px 8px;line-height:normal;position:sticky;position:-webkit-sticky;top:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .upper-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a;margin-bottom:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th .lower-label{font-family:Roboto;font-size:var(--table-header-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-bottom:0}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.row{display:flex;flex-wrap:nowrap;justify-content:space-between;align-items:center;width:max-content}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.dummy-header{justify-content:center;margin-left:50%!important;margin-right:50%!important;width:-webkit-fill-available}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th div.sort-filter-container{display:flex;flex-wrap:nowrap;align-items:center;margin-left:.25rem;margin-right:auto}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th span.mdi-filter-variant{font-size:13px!important;top:-1px!important;position:relative}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .header-row th:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4,inset 1px 0 #d4d4d4,inset 0 1px #d4d4d4,inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div{height:142px!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .table-container.no-data-table>div tr td{filter:none!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr{height:50px!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(1){box-shadow:inset 1px 0 #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(2){box-shadow:none!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:first-of-type td:nth-of-type(3){box-shadow:inset -1px 0 #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(1){box-shadow:inset 1px -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(2){box-shadow:inset 0 -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib tbody tr.no-border-tr:last-of-type td:nth-of-type(3){box-shadow:inset -1px -1px #d4d4d4!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .scroll-left-shadow-effect:not(.no-data-table) .total-row td:nth-of-type(2){filter:drop-shadow(2px 0 2px #d4d4d4)}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{top:40px!important;padding:2px 8px;background:#fff;position:sticky;position:-webkit-sticky}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .upper-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#4a4a4a}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td .lower-label{font-family:Roboto;font-size:var(--table-body-fs);font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:.3px;color:#a7a7a7;margin-top:-3px}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td br{display:block;content:\"\";margin-top:-6px}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){box-shadow:inset 1px 0 #000000bf,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){box-shadow:inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(3){box-shadow:inset -1px 0 #000000bf,inset 1px 0 #d4d4d4,inset 0 1px #000000bf,inset 0 -1px #000000bf!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(1){position:sticky!important;left:0;z-index:501!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td:nth-of-type(2){position:sticky!important;left:60px;z-index:501!important}::ng-deep .approval-popup-container ::ng-deep anna-core-non-editable-generic-table-lib .total-row td{padding:0 8px!important}::ng-deep .inherit-biz-rule-approval-popup ::ng-deep anna-core-non-editable-generic-table-lib anna-core-no-data-lib .no-data{margin-top:-70px!important}::ng-deep .inherit-biz-rule-approval-popup ::ng-deep anna-core-non-editable-generic-table-lib .mdi-check-box-outline-blank{display:flex}::ng-deep .inherit-biz-rule-approval-popup .modal-content{min-width:31rem!important;width:31rem!important;max-width:31rem!important}::ng-deep .inherit-biz-rule-approval-popup .modal-dialog.modal-dialog-centered{max-width:456px!important;top:10px!important}::ng-deep .inherit-biz-rule-approval-popup.no-data-case .modal-dialog{top:-98px!important}::ng-deep .inherit-biz-rule-approval-popup .gt thead tr th .lower-label{color:#4a4a4a!important}::ng-deep .inherit-biz-rule-approval-popup .msg{color:#4a4a4a!important;font-family:Roboto;font-size:12px;font-weight:400;font-stretch:normal;font-style:normal;line-height:14.06px!important;letter-spacing:normal}::ng-deep .inherit-biz-rule-approval-popup .top.msg{margin:8px 0 12px}::ng-deep .inherit-biz-rule-approval-popup .bottom.msg{margin:12px 0 0}::ng-deep .inherit-biz-rule-approval-popup .count{color:#767676;margin-bottom:2px;font-family:Roboto;font-size:12px;font-weight:500;font-stretch:normal;font-style:normal;line-height:14.06px!important;letter-spacing:normal}::ng-deep .inherit-biz-rule-approval-popup .count b{font-weight:700!important}::ng-deep .inherit-biz-rule-approval-popup .btn-container{margin-top:24px;display:flex}::ng-deep .inherit-biz-rule-approval-popup .mdi-radiobox-marked,::ng-deep .inherit-biz-rule-approval-popup .mdi-radiobox-blank{color:var(--primary-blue-color);font-size:12px}::ng-deep .inherit-biz-rule-approval-popup .ml-8{margin-left:8px}@media only screen and (min-width: 1920px){::ng-deep .inherit-biz-rule-approval-popup :host ::ng-deep anna-core-non-editable-generic-table-lib .table-container{max-height:calc(100vh - 707px)!important}}.no-order-confirm{font-size:14px!important}.mdi-close-icon{margin-left:auto;margin-bottom:auto;cursor:pointer}header{margin-bottom:8px;font-family:Roboto;font-size:12px;font-weight:700;font-stretch:normal;font-style:normal;line-height:12px!important;letter-spacing:normal}\n"] }]
6739
6739
  }], ctorParameters: () => [{ type: i1$3.AnnaSortService }, { type: i1$3.AnnaFilterService }, { type: i1$3.AnnaGlobalConfigService }, { type: InheritBizRuleApprovalPopupService }], propDecorators: { loading: [{
@@ -6947,10 +6947,10 @@ class MassCopyBizRulesPopupComponent {
6947
6947
  const rule = this.rulesThatCanBeCopied.find((r) => r.name === ruleName);
6948
6948
  return rule ? rule.isSelected : false;
6949
6949
  }
6950
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: MassCopyBizRulesPopupComponent, deps: [{ token: i1$2.NgbModal }, { token: i1$3.AnnaGlobalConfigService }, { token: i3$1.NotificationsService }, { token: i1$4.ToastrService }, { token: COPY_BUSINESS_RULE_POPUP_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
6951
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.17", type: MassCopyBizRulesPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-mass-copy-biz-rules-popup", inputs: { copyType: "copyType", modalTitle: "modalTitle", station: "station", advertiserIdText: "advertiserIdText", orderId: "orderId", businessRulePageType: "businessRulePageType" }, viewQueries: [{ propertyName: "copyRulesTemplate", first: true, predicate: ["massCopyBusinessRuleModal"], descendants: true }], ngImport: i0, template: "<ng-template\n #massCopyBusinessRuleModal\n let-modal\n>\n <section\n class=\"main-modal\"\n [ngClass]=\"{ circular: isCircularProgressLoader, fade: translateLoader }\"\n >\n <section *ngIf=\"!isCircularProgressLoader\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ showPopupProgressLoader ? \"Copying in progress\" : modalTitle }}</h3>\n </div>\n\n <div class=\"modal-body\">\n <section *ngIf=\"!showPopupProgressLoader\">\n <div class=\"meta-data\">\n <span\n >Station: <b>{{ station?.text }}</b></span\n >\n <span *ngIf=\"advertiserIdText\">\n Advertiser: <b>{{ advertiserIdText?.text }}</b>\n </span>\n <span *ngIf=\"orderId\">\n Order#: <b>{{ orderId }}</b>\n </span>\n </div>\n <anna-design-message-box\n *ngIf=\"businessRulePageType !== BusinessPageType.ORDER\"\n [messageBoxData]=\"massCopyMessageData\"\n ></anna-design-message-box>\n\n <div class=\"dropdown-container\">\n <ng-container *ngIf=\"businessRulePageType !== BusinessPageType.ORDER\">\n <label>Advertiser</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"advMultiSelectConfig\"\n [items]=\"advertiserOrderForMassCopy?.advertisers\"\n (selectionChangedEmitAllItems)=\"advertiserSelectionChange($event)\"\n [disabled]=\"!advertiserOrderForMassCopy?.advertisers?.length\"\n (dropdownClosedEvent)=\"advertiserSelectionChange($event)\"\n >\n </anna-design-multi-select\n ></ng-container>\n\n <label>Orders</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"orderMultiSelectConfig\"\n [items]=\"advertiserOrderForMassCopy?.orders\"\n (selectionChangedEmitAllItems)=\"orderSelectionChange($event)\"\n [disabled]=\"!advertiserOrderForMassCopy?.orders?.length\"\n (dropdownClosedEvent)=\"orderSelectionChange($event)\"\n >\n </anna-design-multi-select>\n </div>\n <div\n class=\"checkbox-for-copy\"\n *ngIf=\"copyType === MassCopyType.BULK_COPY\"\n >\n <label>Select business rules you want to copy.</label>\n <div *ngFor=\"let rule of rulesThatCanBeCopied\">\n <input\n id=\"{{ rule.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"rule.isSelected\"\n (change)=\"businessRulesSelectionChanged()\"\n />\n <label for=\"{{ rule.name }}\">{{ rule.name }}</label>\n </div>\n </div>\n <div class=\"bottom-msg\">\n The rules will be copied and approved for all<span\n *ngIf=\"businessRulePageType !== BusinessPageType.ORDER\"\n >\n advertisers and</span\n >\n orders selected above. Are you sure?\n </div>\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"closeModal()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n (click)=\"copyBusinessRules()\"\n [disabled]=\"copyButtonDisabled\"\n >\n Copy\n </button>\n </div>\n </section>\n <section\n class=\"circular-progress-container mb-20\"\n *ngIf=\"showPopupProgressLoader\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n circularProgressTemplate;\n context: {\n headerText:\n copyType === MassCopyType.BULK_COPY\n ? 'Copying Business Rules'\n : 'Copying Incremental Changes',\n percentDone: percentDone,\n animationDuration: 50,\n additionalClass: ''\n }\n \"\n ></ng-container>\n </section>\n </div>\n </section>\n <section\n class=\"circular-progress-container\"\n *ngIf=\"isCircularProgressLoader\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n circularProgressTemplate;\n context: {\n headerText:\n copyType === MassCopyType.BULK_COPY\n ? 'Copying Business Rules'\n : 'Copying Incremental Changes',\n percentDone: percentDone,\n animationDuration: 200,\n additionalClass: translateLoader ? 'translate-loader' : ''\n }\n \"\n ></ng-container>\n </section>\n </section>\n</ng-template>\n<ng-template\n #circularProgressTemplate\n let-headerText=\"headerText\"\n let-percentDone=\"percentDone\"\n let-animationDuration=\"animationDuration\"\n let-additionalClass=\"additionalClass\"\n>\n <section\n class=\"circular-progress-container\"\n [ngClass]=\"additionalClass\"\n >\n <div class=\"progress-header\">{{ headerText }}</div>\n <div class=\"circular-container\">\n <anna-core-circular-progress\n [percent]=\"percentDone\"\n [radius]=\"22\"\n [outerStrokeWidth]=\"5\"\n [innerStrokeWidth]=\"5\"\n [outerStrokeColor]=\"'#43A047'\"\n [innerStrokeColor]=\"'#d5d5d5'\"\n [animationDuration]=\"animationDuration\"\n ></anna-core-circular-progress>\n </div>\n </section>\n</ng-template>\n", styles: [".button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.meta-data{display:flex;gap:25px}section{font-size:12px!important}.bottom-msg{margin-top:8px;font-family:Roboto;font-size:.75rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.progress-header{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.main-modal{transition:all .35s ease;border-radius:7px;width:426px;height:fit-content;background:#fff}::ng-deep .mass-copy.message-box{display:flex;gap:6px;margin-top:8px}.dropdown-container{margin-top:4px!important}.dropdown-container label{font-size:var(--dropdown-label-fs)!important;padding-top:8px!important;margin-bottom:0!important}.checkbox-for-copy{margin-top:16px;line-height:1.33}.checkboxes-header{margin-bottom:5px}.checkbox-for-copy>div>label{padding-left:5px;margin-bottom:0!important;position:relative;bottom:2px}input[type=checkbox]{cursor:pointer!important;accent-color:var(--primary-blue-color)}::ng-deep .mass-copy-biz-rule-modal .modal-dialog{top:50px;left:-63px;transform:translateY(-50px)!important;justify-content:center!important;align-items:center!important}::ng-deep .mass-copy-biz-rule-modal .modal-content{min-width:0%!important;border-radius:50%;background-color:transparent;border:none;transition:all .5s ease-out}.circular-progress-container{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}anna-core-circular-progress{margin-top:8px;margin-bottom:8px}.mb-20{margin-bottom:20px}.main-modal.circular{width:200px;height:200px;border-radius:50%!important;background-color:#fff;color:#000}.fade{background-color:transparent!important;color:transparent!important}.modal-body{padding:24px 24px 0;color:#4a4a4a}.circular-container{width:60px;display:flex;justify-content:center;height:60px;border-radius:50%;background-color:#fff!important}.translate-loader{position:absolute;animation:moveToTopRight .5s forwards,fadeOut .5s .5s forwards}@keyframes moveToTopRight{0%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(calc(100vw - 800px),calc(-100vh + 310px));opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MultiSelectComponent, selector: "anna-design-multi-select", inputs: ["items", "loading", "hideOptionsEnabled", "hideDropdownArrow", "showAdditionalDataInSelectedText", "config", "disabled", "borderbottomObject", "disableOptionsEnabled", "defaultDropdownHeight", "isEquivalentHigherDpComponent"], outputs: ["valueChanged", "selectionChangedEmitAllItems", "dropdownClosedEvent", "dropdownOpenedEvent"] }, { kind: "component", type: MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AnnaCircularProgressComponent, selector: "anna-core-circular-progress", inputs: ["percent", "radius", "outerStrokeWidth", "innerStrokeWidth", "outerStrokeColor", "innerStrokeColor", "animationDuration"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6950
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MassCopyBizRulesPopupComponent, deps: [{ token: i1$2.NgbModal }, { token: i1$3.AnnaGlobalConfigService }, { token: i3$1.NotificationsService }, { token: i1$4.ToastrService }, { token: COPY_BUSINESS_RULE_POPUP_SERVICE }], target: i0.ɵɵFactoryTarget.Component }); }
6951
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.18", type: MassCopyBizRulesPopupComponent, isStandalone: true, selector: "anna-feature-biz-rules-mass-copy-biz-rules-popup", inputs: { copyType: "copyType", modalTitle: "modalTitle", station: "station", advertiserIdText: "advertiserIdText", orderId: "orderId", businessRulePageType: "businessRulePageType" }, viewQueries: [{ propertyName: "copyRulesTemplate", first: true, predicate: ["massCopyBusinessRuleModal"], descendants: true }], ngImport: i0, template: "<ng-template\n #massCopyBusinessRuleModal\n let-modal\n>\n <section\n class=\"main-modal\"\n [ngClass]=\"{ circular: isCircularProgressLoader, fade: translateLoader }\"\n >\n <section *ngIf=\"!isCircularProgressLoader\">\n <div class=\"modal-header\">\n <h3 class=\"modal-title\">{{ showPopupProgressLoader ? \"Copying in progress\" : modalTitle }}</h3>\n </div>\n\n <div class=\"modal-body\">\n <section *ngIf=\"!showPopupProgressLoader\">\n <div class=\"meta-data\">\n <span\n >Station: <b>{{ station?.text }}</b></span\n >\n <span *ngIf=\"advertiserIdText\">\n Advertiser: <b>{{ advertiserIdText?.text }}</b>\n </span>\n <span *ngIf=\"orderId\">\n Order#: <b>{{ orderId }}</b>\n </span>\n </div>\n <anna-design-message-box\n *ngIf=\"businessRulePageType !== BusinessPageType.ORDER\"\n [messageBoxData]=\"massCopyMessageData\"\n ></anna-design-message-box>\n\n <div class=\"dropdown-container\">\n <ng-container *ngIf=\"businessRulePageType !== BusinessPageType.ORDER\">\n <label>Advertiser</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"advMultiSelectConfig\"\n [items]=\"advertiserOrderForMassCopy?.advertisers\"\n (selectionChangedEmitAllItems)=\"advertiserSelectionChange($event)\"\n [disabled]=\"!advertiserOrderForMassCopy?.advertisers?.length\"\n (dropdownClosedEvent)=\"advertiserSelectionChange($event)\"\n >\n </anna-design-multi-select\n ></ng-container>\n\n <label>Orders</label>\n <anna-design-multi-select\n [loading]=\"loading\"\n [config]=\"orderMultiSelectConfig\"\n [items]=\"advertiserOrderForMassCopy?.orders\"\n (selectionChangedEmitAllItems)=\"orderSelectionChange($event)\"\n [disabled]=\"!advertiserOrderForMassCopy?.orders?.length\"\n (dropdownClosedEvent)=\"orderSelectionChange($event)\"\n >\n </anna-design-multi-select>\n </div>\n <div\n class=\"checkbox-for-copy\"\n *ngIf=\"copyType === MassCopyType.BULK_COPY\"\n >\n <label>Select business rules you want to copy.</label>\n <div *ngFor=\"let rule of rulesThatCanBeCopied\">\n <input\n id=\"{{ rule.name }}\"\n type=\"checkbox\"\n [(ngModel)]=\"rule.isSelected\"\n (change)=\"businessRulesSelectionChanged()\"\n />\n <label for=\"{{ rule.name }}\">{{ rule.name }}</label>\n </div>\n </div>\n <div class=\"bottom-msg\">\n The rules will be copied and approved for all<span\n *ngIf=\"businessRulePageType !== BusinessPageType.ORDER\"\n >\n advertisers and</span\n >\n orders selected above. Are you sure?\n </div>\n <div class=\"button-container\">\n <button\n class=\"anna cancel-button\"\n (click)=\"closeModal()\"\n >\n Cancel\n </button>\n <button\n class=\"anna apply-button\"\n (click)=\"copyBusinessRules()\"\n [disabled]=\"copyButtonDisabled\"\n >\n Copy\n </button>\n </div>\n </section>\n <section\n class=\"circular-progress-container mb-20\"\n *ngIf=\"showPopupProgressLoader\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n circularProgressTemplate;\n context: {\n headerText:\n copyType === MassCopyType.BULK_COPY\n ? 'Copying Business Rules'\n : 'Copying Incremental Changes',\n percentDone: percentDone,\n animationDuration: 50,\n additionalClass: ''\n }\n \"\n ></ng-container>\n </section>\n </div>\n </section>\n <section\n class=\"circular-progress-container\"\n *ngIf=\"isCircularProgressLoader\"\n >\n <ng-container\n *ngTemplateOutlet=\"\n circularProgressTemplate;\n context: {\n headerText:\n copyType === MassCopyType.BULK_COPY\n ? 'Copying Business Rules'\n : 'Copying Incremental Changes',\n percentDone: percentDone,\n animationDuration: 200,\n additionalClass: translateLoader ? 'translate-loader' : ''\n }\n \"\n ></ng-container>\n </section>\n </section>\n</ng-template>\n<ng-template\n #circularProgressTemplate\n let-headerText=\"headerText\"\n let-percentDone=\"percentDone\"\n let-animationDuration=\"animationDuration\"\n let-additionalClass=\"additionalClass\"\n>\n <section\n class=\"circular-progress-container\"\n [ngClass]=\"additionalClass\"\n >\n <div class=\"progress-header\">{{ headerText }}</div>\n <div class=\"circular-container\">\n <anna-core-circular-progress\n [percent]=\"percentDone\"\n [radius]=\"22\"\n [outerStrokeWidth]=\"5\"\n [innerStrokeWidth]=\"5\"\n [outerStrokeColor]=\"'#43A047'\"\n [innerStrokeColor]=\"'#d5d5d5'\"\n [animationDuration]=\"animationDuration\"\n ></anna-core-circular-progress>\n </div>\n </section>\n</ng-template>\n", styles: [".button-container{margin-top:25px;margin-bottom:25px;display:flex;gap:9px}.modal-header{padding-left:24px;background-image:url(/assets/images/bg-heads.png)}.meta-data{display:flex;gap:25px}section{font-size:12px!important}.bottom-msg{margin-top:8px;font-family:Roboto;font-size:.75rem;font-weight:700;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.progress-header{color:#4a4a4a;font-family:Roboto;font-size:12px;font-weight:500;font-stretch:normal;font-style:normal;line-height:normal;letter-spacing:normal}.main-modal{transition:all .35s ease;border-radius:7px;width:426px;height:fit-content;background:#fff}::ng-deep .mass-copy.message-box{display:flex;gap:6px;margin-top:8px}.dropdown-container{margin-top:4px!important}.dropdown-container label{font-size:var(--dropdown-label-fs)!important;padding-top:8px!important;margin-bottom:0!important}.checkbox-for-copy{margin-top:16px;line-height:1.33}.checkboxes-header{margin-bottom:5px}.checkbox-for-copy>div>label{padding-left:5px;margin-bottom:0!important;position:relative;bottom:2px}input[type=checkbox]{cursor:pointer!important;accent-color:var(--primary-blue-color)}::ng-deep .mass-copy-biz-rule-modal .modal-dialog{top:50px;left:-63px;transform:translateY(-50px)!important;justify-content:center!important;align-items:center!important}::ng-deep .mass-copy-biz-rule-modal .modal-content{min-width:0%!important;border-radius:50%;background-color:transparent;border:none;transition:all .5s ease-out}.circular-progress-container{display:flex;height:100%;width:100%;flex-direction:column;align-items:center;justify-content:center}anna-core-circular-progress{margin-top:8px;margin-bottom:8px}.mb-20{margin-bottom:20px}.main-modal.circular{width:200px;height:200px;border-radius:50%!important;background-color:#fff;color:#000}.fade{background-color:transparent!important;color:transparent!important}.modal-body{padding:24px 24px 0;color:#4a4a4a}.circular-container{width:60px;display:flex;justify-content:center;height:60px;border-radius:50%;background-color:#fff!important}.translate-loader{position:absolute;animation:moveToTopRight .5s forwards,fadeOut .5s .5s forwards}@keyframes moveToTopRight{0%{transform:translate(-50%,-50%);opacity:1}to{transform:translate(calc(100vw - 800px),calc(-100vh + 310px));opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: MultiSelectComponent, selector: "anna-design-multi-select", inputs: ["items", "loading", "hideOptionsEnabled", "hideDropdownArrow", "showAdditionalDataInSelectedText", "config", "disabled", "borderbottomObject", "disableOptionsEnabled", "defaultDropdownHeight", "isEquivalentHigherDpComponent"], outputs: ["applied", "valueChanged", "selectionApplied", "selectionChangedEmitAllItems", "dropdownClosedEvent", "dropdownOpenedEvent"] }, { kind: "component", type: MessageBoxComponent, selector: "anna-design-message-box", inputs: ["messageBoxData", "showHyphen", "hide", "headerAsBlockElement"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: AnnaCircularProgressComponent, selector: "anna-core-circular-progress", inputs: ["percent", "radius", "outerStrokeWidth", "innerStrokeWidth", "outerStrokeColor", "innerStrokeColor", "animationDuration"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6952
6952
  }
6953
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.17", ngImport: i0, type: MassCopyBizRulesPopupComponent, decorators: [{
6953
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImport: i0, type: MassCopyBizRulesPopupComponent, decorators: [{
6954
6954
  type: Component,
6955
6955
  args: [{ selector: "anna-feature-biz-rules-mass-copy-biz-rules-popup", imports: [
6956
6956
  CommonModule,