@annalib/anna-feature-biz-rules 0.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/README.md +63 -0
  2. package/advertiser-listing/index.d.ts +5 -0
  3. package/advertiser-listing/public-api.d.ts +5 -0
  4. package/advertiser-listing/src/advertiser-filter-modal/advertiser-filter-modal.component.d.ts +91 -0
  5. package/advertiser-listing/src/advertiser-filter-modal/models/advertiser-filter-modal.model.d.ts +13 -0
  6. package/advertiser-listing/src/advertiser-table-listing/advertiser-table-listing.component.d.ts +81 -0
  7. package/advertiser-listing/src/advertiser-table-listing/model/adv-table-listing.model.d.ts +24 -0
  8. package/advertiser-listing/src/advertiser-table-listing/services/adv-table-listing.service.d.ts +6 -0
  9. package/biz-rules-order-listing/index.d.ts +5 -0
  10. package/biz-rules-order-listing/public-api.d.ts +5 -0
  11. package/biz-rules-order-listing/src/biz-rules-order-listing.component.d.ts +139 -0
  12. package/biz-rules-order-listing/src/model/biz-rule-order-listing.constant.d.ts +35 -0
  13. package/biz-rules-order-listing/src/model/biz-rule-order-listing.model.d.ts +107 -0
  14. package/biz-rules-order-listing/src/service/automation-activated-and-pod.token.service.d.ts +24 -0
  15. package/biz-rules-order-listing/src/service/biz-rule-order-listing-backend.service.d.ts +18 -0
  16. package/business-rules/index.d.ts +5 -0
  17. package/business-rules/public-api.d.ts +27 -0
  18. package/business-rules/src/add-buyer-contact/models/add-buyer-contact.model.d.ts +13 -0
  19. package/business-rules/src/add-edit-buyer-contact-popup/add-edit-buyer-contact-popup.component.d.ts +53 -0
  20. package/business-rules/src/add-edit-buyer-contact-popup/services/buyer-contact-token.service.d.ts +6 -0
  21. package/business-rules/src/adu-rules/adu-rules.component.d.ts +88 -0
  22. package/business-rules/src/adu-rules/models/adu-rules.model.d.ts +84 -0
  23. package/business-rules/src/approval-config/approval-config.component.d.ts +49 -0
  24. package/business-rules/src/approval-config/services/approval-config.service.d.ts +10 -0
  25. package/business-rules/src/avatar/avatar.component.d.ts +18 -0
  26. package/business-rules/src/business-rule-page/business-rule-page.component.d.ts +95 -0
  27. package/business-rules/src/business-rule-page/models/business-rule-page.constants.d.ts +70 -0
  28. package/business-rules/src/business-rule-page/models/business-rule.model.d.ts +567 -0
  29. package/business-rules/src/business-rule-page/services/business-rule-common-SI-BI-logic.service.d.ts +19 -0
  30. package/business-rules/src/business-rules-history/business-rules-history.component.d.ts +44 -0
  31. package/business-rules/src/business-rules-history/models/biz-rule-history.model.d.ts +28 -0
  32. package/business-rules/src/business-rules-history-popup/business-rules-history-popup.component.d.ts +60 -0
  33. package/business-rules/src/business-rules-history-popup/models/business-rules-history-popup.model.d.ts +15 -0
  34. package/business-rules/src/buyer-contact-history/buyer-contact-history.component.d.ts +31 -0
  35. package/business-rules/src/buyer-contact-history/models/buyer-contact-history.model.d.ts +16 -0
  36. package/business-rules/src/buyer-contact-section/buyer-rep-contact-section.component.d.ts +43 -0
  37. package/business-rules/src/buyer-contact-section/models/buyer-contact.model.d.ts +52 -0
  38. package/business-rules/src/copy-biz-rules-popup/copy-biz-rules-popup.component.d.ts +91 -0
  39. package/business-rules/src/copy-biz-rules-popup/copy-business-rule-backend-service.token.d.ts +12 -0
  40. package/business-rules/src/copy-biz-rules-popup/models/copy-biz-rules.model.d.ts +47 -0
  41. package/business-rules/src/daypart-grouping-popup/daypart-grouping-popup.component.d.ts +31 -0
  42. package/business-rules/src/daypart-restrictions/daypart-restrictions.component.d.ts +62 -0
  43. package/business-rules/src/daypart-restrictions/pipe/replaceEnd.pipe.d.ts +7 -0
  44. package/business-rules/src/equivalent-and-higher-daypart/equivalent-and-higher-daypart.component.d.ts +39 -0
  45. package/business-rules/src/excluded-or-special-program/excluded-or-special-program.component.d.ts +58 -0
  46. package/business-rules/src/general-rules/general-rules.component.d.ts +105 -0
  47. package/business-rules/src/general-rules/models/general-rules-constant.d.ts +21 -0
  48. package/business-rules/src/inherit-biz-rule-approval-popup/inherit-biz-rule-approval-popup.component.d.ts +66 -0
  49. package/business-rules/src/inherit-biz-rule-approval-popup/models/inherit-biz-rule-approval-popup.model.d.ts +47 -0
  50. package/business-rules/src/inherit-biz-rule-approval-popup/services/inherit-biz-rule-approval-popup.service.d.ts +9 -0
  51. package/business-rules/src/make-good-rules/make-good-rules.component.d.ts +86 -0
  52. package/business-rules/src/make-good-rules/models/make-good-rules.model.d.ts +98 -0
  53. package/business-rules/src/make-good-rules/validators/relaxedValidation.d.ts +2 -0
  54. package/business-rules/src/mass-copy-biz-rules-popup/mass-copy-biz-rules-popup.component.d.ts +59 -0
  55. package/business-rules/src/mass-copy-biz-rules-popup/models/mass-copy-biz-rules.model.d.ts +32 -0
  56. package/fesm2022/annalib-anna-feature-biz-rules-advertiser-listing.mjs +768 -0
  57. package/fesm2022/annalib-anna-feature-biz-rules-advertiser-listing.mjs.map +1 -0
  58. package/fesm2022/annalib-anna-feature-biz-rules-biz-rules-order-listing.mjs +1068 -0
  59. package/fesm2022/annalib-anna-feature-biz-rules-biz-rules-order-listing.mjs.map +1 -0
  60. package/fesm2022/annalib-anna-feature-biz-rules-business-rules.mjs +6987 -0
  61. package/fesm2022/annalib-anna-feature-biz-rules-business-rules.mjs.map +1 -0
  62. package/fesm2022/annalib-anna-feature-biz-rules.mjs +88 -0
  63. package/fesm2022/annalib-anna-feature-biz-rules.mjs.map +1 -0
  64. package/index.d.ts +5 -0
  65. package/lib/anna-feature-biz-rules.module.d.ts +20 -0
  66. package/package.json +45 -0
  67. package/public-api.d.ts +1 -0
package/README.md ADDED
@@ -0,0 +1,63 @@
1
+ # AnnaFeatureSpotsApproval
2
+
3
+ This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 19.2.0.
4
+
5
+ ## Code scaffolding
6
+
7
+ Angular CLI includes powerful code scaffolding tools. To generate a new component, run:
8
+
9
+ ```bash
10
+ ng generate component component-name
11
+ ```
12
+
13
+ For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run:
14
+
15
+ ```bash
16
+ ng generate --help
17
+ ```
18
+
19
+ ## Building
20
+
21
+ To build the library, run:
22
+
23
+ ```bash
24
+ ng build anna-feature-biz-rules
25
+ ```
26
+
27
+ This command will compile your project, and the build artifacts will be placed in the `dist/` directory.
28
+
29
+ ### Publishing the Library
30
+
31
+ Once the project is built, you can publish your library by following these steps:
32
+
33
+ 1. Navigate to the `dist` directory:
34
+ ```bash
35
+ cd dist/anna-feature-biz-rules
36
+ ```
37
+
38
+ 2. Run the `npm publish` command to publish your library to the npm registry:
39
+ ```bash
40
+ npm publish
41
+ ```
42
+
43
+ ## Running unit tests
44
+
45
+ To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command:
46
+
47
+ ```bash
48
+ ng test
49
+ ```
50
+
51
+ ## Running end-to-end tests
52
+
53
+ For end-to-end (e2e) testing, run:
54
+
55
+ ```bash
56
+ ng e2e
57
+ ```
58
+
59
+ Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs.
60
+
61
+ ## Additional Resources
62
+
63
+ For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page.
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@annalib/anna-feature-biz-rules/advertiser-listing" />
5
+ export * from './public-api';
@@ -0,0 +1,5 @@
1
+ export * from "./src/advertiser-filter-modal/advertiser-filter-modal.component";
2
+ export * from "./src/advertiser-filter-modal/models/advertiser-filter-modal.model";
3
+ export * from "./src/advertiser-table-listing/advertiser-table-listing.component";
4
+ export * from "./src/advertiser-table-listing/model/adv-table-listing.model";
5
+ export * from "./src/advertiser-table-listing/services/adv-table-listing.service";
@@ -0,0 +1,91 @@
1
+ import { EventEmitter, OnChanges, SimpleChanges } from "@angular/core";
2
+ import { AnnaGlobalConfigService, ICustomSingleSelect, IRadioButtonComponentConfig, UpdateStationIdService } from "@annalib/anna-core";
3
+ import { CalendarQuarterYearFilterService, DashboardFilterModalConstants, ICalendarTypeResponse, IdTextForDropdown, IYearQuarter, PeriodSelectionPopUp, PrimaryFiltersData, StartDateConsideringFactor } from "@annalib/anna-design-components-lib";
4
+ import { NgbModal, NgbModalOptions, NgbModalRef } from "@ng-bootstrap/ng-bootstrap";
5
+ import { AdvertiserListingFilterPopup, AdvertiserListingFilterPopupradioButtons, AdvertiserListingFilterSelectionPopUp } from "./models/advertiser-filter-modal.model";
6
+ import * as i0 from "@angular/core";
7
+ export declare class AdvertiserFilterModalComponent implements OnChanges {
8
+ private modalService;
9
+ private annaGlobalService;
10
+ private quarterFilterService;
11
+ private updateStationIdService;
12
+ toDisable: boolean;
13
+ filterData: PrimaryFiltersData;
14
+ persistingFilter: AdvertiserListingFilterPopup;
15
+ stationIdsWithValidLicense: number[];
16
+ applyFilter: EventEmitter<any>;
17
+ getInitialFilter: EventEmitter<any>;
18
+ private dbFilterModal;
19
+ modalRef: NgbModalRef;
20
+ ngbModalOptions: NgbModalOptions;
21
+ constants: typeof DashboardFilterModalConstants;
22
+ clonedFilter: AdvertiserListingFilterSelectionPopUp;
23
+ stationDropdownConfig: ICustomSingleSelect;
24
+ calendarTypeConfig: IRadioButtonComponentConfig;
25
+ selectedStation: IdTextForDropdown;
26
+ stations: IdTextForDropdown[];
27
+ selectedPeriodData: PeriodSelectionPopUp;
28
+ selectedStartDate: string;
29
+ selectedEndDate: string;
30
+ includeExpiredAdvertisers: boolean;
31
+ minMaxDateRangeForCalendar: {
32
+ startDate: string;
33
+ endDate: string;
34
+ };
35
+ loggedInUserId: number;
36
+ toShowAllPeriodModeSetting: boolean;
37
+ PeriodOptions: string[];
38
+ defaultQuarterYear: string;
39
+ defaultQuarter: string;
40
+ calendarData: any;
41
+ DATE_FORMAT: string;
42
+ DATE_FORMAT_HTML: string;
43
+ MONTH_DATE_FORMAT_HTML: string;
44
+ isFilterValueChanged: boolean;
45
+ noQuarterYearPresent: boolean;
46
+ previousSelectedStation: IdTextForDropdown;
47
+ previousSelectedOwnershipGroup: IdTextForDropdown;
48
+ periodDataLoader: boolean;
49
+ initialFiltersForStationAndPeriod: AdvertiserListingFilterPopup;
50
+ StartDateConsideringFactor: typeof StartDateConsideringFactor;
51
+ selectedValueForCalendarSelectionAndAllActiveAdvertisersToggle: AdvertiserListingFilterPopupradioButtons;
52
+ advertiserListingFilterPopupradioButtons: typeof AdvertiserListingFilterPopupradioButtons;
53
+ constructor(modalService: NgbModal, annaGlobalService: AnnaGlobalConfigService, quarterFilterService: CalendarQuarterYearFilterService, updateStationIdService: UpdateStationIdService);
54
+ ngOnChanges(changes: SimpleChanges): void;
55
+ setInitialFiltersForComponent(): void;
56
+ disableEditFilterBtn(): void;
57
+ setFilterData(): void;
58
+ setShowCalendarSelectionValue(): void;
59
+ setIncludeExcludedAdvertisersValue(): void;
60
+ callBackFuncOnInitialSetup(): void;
61
+ setStationData(): void;
62
+ setCalendarQuarterFilter(): void;
63
+ isPeriodData(): any;
64
+ setGenericPeriodSelectionComponentData(): void;
65
+ setMinMaxDateRangeAsPerQuarter(): void;
66
+ setMinMaxDate(quarterYear: IYearQuarter[]): void;
67
+ isFiscalPeriod(): boolean;
68
+ setStartAndEndDate(calendarData: ICalendarTypeResponse): void;
69
+ openFilterModal(): void;
70
+ closeOptionsModal(): void;
71
+ isPeriodFilterChanged(periodFilter: PeriodSelectionPopUp): void;
72
+ setDefaultPeriodFilter(calendarData: ICalendarTypeResponse): void;
73
+ onApplyFilterAndUpdateNavigation(): void;
74
+ setClonedDataAndEmitFilters(): void;
75
+ setClonedFilter(): AdvertiserListingFilterSelectionPopUp;
76
+ addIncludeExpiredAdvertisersClonedFilter(val: boolean): void;
77
+ addShowCalendarSelectionClonedFilter(val: boolean): void;
78
+ setDefaultSelectedPeriodData(): void;
79
+ onCancelClicked(): void;
80
+ setPreviousDataForStationOrOG(): void;
81
+ resetClonedFilter(): void;
82
+ stationSelected(selectedStation: IdTextForDropdown): void;
83
+ configModalOptions(): void;
84
+ getLoginUserId(): void;
85
+ isFilterDropdownValueChanged(): void;
86
+ setStationDropdownConfig(): void;
87
+ showCalendarSelectionAndAllActiveAdvertisersToggled(event: AdvertiserListingFilterPopupradioButtons): void;
88
+ showOrHideExpiredAdvertisers(): void;
89
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdvertiserFilterModalComponent, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdvertiserFilterModalComponent, "anna-feature-advertiser-filter-modal", never, { "toDisable": { "alias": "toDisable"; "required": false; }; "filterData": { "alias": "filterData"; "required": false; }; "persistingFilter": { "alias": "persistingFilter"; "required": false; }; "stationIdsWithValidLicense": { "alias": "stationIdsWithValidLicense"; "required": false; }; "toShowAllPeriodModeSetting": { "alias": "toShowAllPeriodModeSetting"; "required": false; }; "PeriodOptions": { "alias": "PeriodOptions"; "required": false; }; }, { "applyFilter": "applyFilter"; "getInitialFilter": "getInitialFilter"; }, never, never, true, never>;
91
+ }
@@ -0,0 +1,13 @@
1
+ import { PersistedDashboardPrimaryFilters } from "@annalib/anna-design-components-lib";
2
+ export declare enum AdvertiserListingFilterPopupradioButtons {
3
+ showAllActiveAdvertisers = "Show all active advertisers",
4
+ calendarSelection = "Calendar selection"
5
+ }
6
+ export interface AdvertiserListingFilterPopup extends PersistedDashboardPrimaryFilters {
7
+ showCalendarSelection: boolean;
8
+ stationName?: string;
9
+ includeExpiredAdvertisers: boolean;
10
+ }
11
+ export interface AdvertiserListingFilterSelectionPopUp extends AdvertiserListingFilterPopup {
12
+ updateNavigation?: boolean;
13
+ }
@@ -0,0 +1,81 @@
1
+ import { EventEmitter, OnChanges, OnInit, SimpleChanges } from "@angular/core";
2
+ import { ActivatedRoute, Router } from "@angular/router";
3
+ import { AnnaFilterService, AnnaGtHelperService, AnnaNonEditableGenericTableComponent, AnnaPersistingFilterService, AnnaSortService, IGtGeneralConfig, IGtTableHeader } from "@annalib/anna-core";
4
+ import { EasyFilters, IBreadcrumb, MessageBoxData } from "@annalib/anna-design-components-lib";
5
+ import { GenericBusinessRuleCommonSIBILogicService } from "@annalib/anna-feature-lib/anna-feature-shared-lib";
6
+ import { AdvertiserListingTableData, TypeOfActionLinkForGtEnum } from "./model/adv-table-listing.model";
7
+ import { AdvTableListingService } from "./services/adv-table-listing.service";
8
+ import * as i0 from "@angular/core";
9
+ export declare class AdvertiserTableListingComponent implements OnInit, OnChanges {
10
+ private router;
11
+ private route;
12
+ private persistingFilterService;
13
+ private gtHelperService;
14
+ annaFilterService: AnnaFilterService;
15
+ annaSortService: AnnaSortService;
16
+ private businessRuleCommonSIBILogicService;
17
+ advertiserTableListingService: AdvTableListingService;
18
+ advertiserTableData: AdvertiserListingTableData[];
19
+ advertiserTableDataClonned: AdvertiserListingTableData[];
20
+ loading: boolean;
21
+ userType: "SELLER" | "BUYER";
22
+ gtGeneralConfig: IGtGeneralConfig;
23
+ gtDimension: {
24
+ rowHeight: number;
25
+ headerHeight: number;
26
+ dataOnTopHeight: number;
27
+ marginFromBottom: number;
28
+ };
29
+ tableHeaders: IGtTableHeader[];
30
+ easyFilters: EasyFilters[];
31
+ showNoDataToDisplayInsideTable: boolean;
32
+ showExpiredAdvertisers: boolean;
33
+ numberOfEasyFilterLoader: number;
34
+ totalAdvertisersMessage: string;
35
+ popupFilters: any;
36
+ advertiserNameClicked: EventEmitter<{
37
+ advertiser: AdvertiserListingTableData;
38
+ breadcrumbsToPersist: IBreadcrumb[];
39
+ }>;
40
+ resetAllFilter: EventEmitter<any>;
41
+ columnfilterAppliedToTable: EventEmitter<any>;
42
+ easyFilterClicked: EventEmitter<any>;
43
+ disableClearAllBtn: boolean;
44
+ filtersFromTheUrL: any;
45
+ breadcrumbsToPersist: IBreadcrumb[];
46
+ messageBoxData: MessageBoxData;
47
+ applyPersistedFilters: boolean;
48
+ filtersAppliedChanges: boolean;
49
+ nonEditableGTComponent: AnnaNonEditableGenericTableComponent;
50
+ constructor(router: Router, route: ActivatedRoute, persistingFilterService: AnnaPersistingFilterService, gtHelperService: AnnaGtHelperService, annaFilterService: AnnaFilterService, annaSortService: AnnaSortService, businessRuleCommonSIBILogicService: GenericBusinessRuleCommonSIBILogicService, advertiserTableListingService: AdvTableListingService);
51
+ ngOnInit(): void;
52
+ setMessageForNoAdvertisers(): void;
53
+ ngOnChanges(changes: SimpleChanges): void;
54
+ initFiltersForTable(): void;
55
+ initPersistedFiltersForTable(): void;
56
+ detectUrlChanges(): void;
57
+ setPersistedBreadcrumbsVariable(filter: string): void;
58
+ updateLatestFilters(queryParams: any): void;
59
+ filterAppliedToTable(filteredData: AdvertiserListingTableData[]): void;
60
+ sortingAppliedToTable(sortedData: AdvertiserListingTableData[]): void;
61
+ updateFiltersInURL(): void;
62
+ prepareQueryParamsOnFilter(): any;
63
+ tableActionClicked(rowData: {
64
+ data: AdvertiserListingTableData;
65
+ id: TypeOfActionLinkForGtEnum;
66
+ }): void;
67
+ goToAdvertiserBusinessRules(advertiser: AdvertiserListingTableData): void;
68
+ applyFilters(): void;
69
+ callSort(): void;
70
+ intelliFilterClicked(emittedObj: any): void;
71
+ prepareQueryParamOnFilterApplication(): any;
72
+ checkIfSortIsApplied(): boolean;
73
+ getLatestFilters(): any;
74
+ setLatestFilters(queryParams: any): void;
75
+ enableDisableClearAllBtn(): void;
76
+ updateNavigationHistory(): void;
77
+ clearAllFiltersAndSorting(): void;
78
+ ClearFandS(): void;
79
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdvertiserTableListingComponent, never>;
80
+ static ɵcmp: i0.ɵɵComponentDeclaration<AdvertiserTableListingComponent, "anna-feature-advertiser-table-listing", never, { "advertiserTableData": { "alias": "advertiserTableData"; "required": false; }; "advertiserTableDataClonned": { "alias": "advertiserTableDataClonned"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "userType": { "alias": "userType"; "required": false; }; "gtGeneralConfig": { "alias": "gtGeneralConfig"; "required": false; }; "gtDimension": { "alias": "gtDimension"; "required": false; }; "tableHeaders": { "alias": "tableHeaders"; "required": false; }; "easyFilters": { "alias": "easyFilters"; "required": false; }; "showNoDataToDisplayInsideTable": { "alias": "showNoDataToDisplayInsideTable"; "required": false; }; "showExpiredAdvertisers": { "alias": "showExpiredAdvertisers"; "required": false; }; "numberOfEasyFilterLoader": { "alias": "numberOfEasyFilterLoader"; "required": false; }; "totalAdvertisersMessage": { "alias": "totalAdvertisersMessage"; "required": false; }; "popupFilters": { "alias": "popupFilters"; "required": false; }; }, { "advertiserNameClicked": "advertiserNameClicked"; "resetAllFilter": "resetAllFilter"; "columnfilterAppliedToTable": "columnfilterAppliedToTable"; "easyFilterClicked": "easyFilterClicked"; }, never, never, true, never>;
81
+ }
@@ -0,0 +1,24 @@
1
+ export interface IEasyFilters {
2
+ isEnabled: boolean;
3
+ isActive: boolean;
4
+ filterName: string;
5
+ onlyEnabled?: boolean;
6
+ }
7
+ export declare class AdvertiserListingTableData {
8
+ advertiserId: number;
9
+ advertiserName: string;
10
+ status: string;
11
+ agency: string;
12
+ primaryBuyerName: string;
13
+ primaryBuyerEmail: string;
14
+ secondaryBuyerName: string;
15
+ secondaryBuyerEmail: string;
16
+ isExpired: boolean;
17
+ }
18
+ export declare enum TypeOfActionLinkForGtEnum {
19
+ ADEVERTISER_NAME_CLICK = "ADEVERTISER_NAME_CLICK"
20
+ }
21
+ export declare class AdvertiserEzFilterConstants {
22
+ static readonly AWAITING_APPROVAL = "AWAITING APPROVAL";
23
+ static readonly APPROVED = "APPROVED";
24
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class AdvTableListingService {
3
+ latestEcListingTabFilters: any;
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<AdvTableListingService, never>;
5
+ static ɵprov: i0.ɵɵInjectableDeclaration<AdvTableListingService>;
6
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@annalib/anna-feature-biz-rules/biz-rules-order-listing" />
5
+ export * from './public-api';
@@ -0,0 +1,5 @@
1
+ export * from "./src/biz-rules-order-listing.component";
2
+ export * from "./src/model/biz-rule-order-listing.constant";
3
+ export * from "./src/model/biz-rule-order-listing.model";
4
+ export * from "./src/service/automation-activated-and-pod.token.service";
5
+ export * from "./src/service/biz-rule-order-listing-backend.service";
@@ -0,0 +1,139 @@
1
+ import { EventEmitter, OnInit } from "@angular/core";
2
+ import { ActivatedRoute, Router } from "@angular/router";
3
+ import { AnnaFilterService, AnnaGlobalConfigService, AnnaGtHelperService, AnnaNonEditableGenericTableComponent, AnnaPersistingFilterService, AnnaSortService, IConfirmationPopupConfig, IGtGeneralConfig, IGtTableHeader } from "@annalib/anna-core";
4
+ import { BreadcrumbsService, DashboardFilterSelectionPopUp, EasyFilters, IBreadcrumb, PersistedDashboardPrimaryFilters, PrimaryFiltersData } from "@annalib/anna-design-components-lib";
5
+ import { UserTypeEnum } from "@annalib/anna-feature-lib";
6
+ import { GenericBusinessRuleCommonSIBILogicService } from "@annalib/anna-feature-lib/anna-feature-shared-lib";
7
+ import { ToastrService } from "ngx-toastr";
8
+ import { NgxUiLoaderService } from "ngx-ui-loader";
9
+ import { Orders, TypeOfActionLinkForGtEnum } from "./model/biz-rule-order-listing.model";
10
+ import { IAutomationActivatedAndPODService } from "./service/automation-activated-and-pod.token.service";
11
+ import { IBizRuleOrderListingBackendService } from "./service/biz-rule-order-listing-backend.service";
12
+ import * as i0 from "@angular/core";
13
+ export declare class BizRulesOrderListingComponent implements OnInit {
14
+ private router;
15
+ private annaGtService;
16
+ private route;
17
+ private persistingFilterService;
18
+ private annaFilterService;
19
+ private annaSortService;
20
+ private toastr;
21
+ private ngxService;
22
+ private breadcrumbService;
23
+ private businessRuleCommonSIBILogicService;
24
+ orderListingService: IBizRuleOrderListingBackendService;
25
+ automationActivatedAndPODService: IAutomationActivatedAndPODService;
26
+ private annaGlobalConfig;
27
+ loading: boolean;
28
+ gtGeneralConfig: IGtGeneralConfig;
29
+ error: boolean;
30
+ aclPermission: boolean;
31
+ userType: UserTypeEnum;
32
+ filterData: PrimaryFiltersData;
33
+ easyFilters: EasyFilters[];
34
+ orderListingTableData: Orders[];
35
+ orderListingTableDataCloned: Orders[];
36
+ orderListingAutomationOrdersCloned: Orders[];
37
+ tableHeaders: IGtTableHeader[];
38
+ gtDimension: any;
39
+ showOwnershipGroupFilter: boolean;
40
+ showStationFilter: boolean;
41
+ showNoDataToDisplay: boolean;
42
+ stationIdsWithValidLicense: number[];
43
+ onorderRowClicked: EventEmitter<{
44
+ order: Orders;
45
+ selectedFilter: DashboardFilterSelectionPopUp;
46
+ breadcrumbsToPersist: IBreadcrumb[];
47
+ }>;
48
+ showTableSkeletonLoader: boolean;
49
+ breadcrumbsToPersist: IBreadcrumb[];
50
+ easyFilterSkeletonLoaderCount: number;
51
+ persistingFilterForPopup: PersistedDashboardPrimaryFilters;
52
+ performActionOnQueryParamChange: boolean;
53
+ initialStationAndPeriodFilter: PersistedDashboardPrimaryFilters;
54
+ applyFiltersFromTheUrl: boolean;
55
+ selectedFilters: DashboardFilterSelectionPopUp;
56
+ disableClearAllBtn: boolean;
57
+ filtersFromRoute: any;
58
+ selectedOrder: Orders;
59
+ activateOrderConfirmationConfig: IConfirmationPopupConfig;
60
+ disableAutomationConfirmationConfig: IConfirmationPopupConfig;
61
+ bulkAutomationConfirmationModalConfig: IConfirmationPopupConfig;
62
+ selectOrdersForBulkAutomationModalConfig: IConfirmationPopupConfig;
63
+ editModeForBulkAutomationOfOrders: boolean;
64
+ countOfSelectedOrdersForAutomation: number;
65
+ isTableFiltersApplied: boolean;
66
+ private activateOrderConfirmation;
67
+ private disableOrderAutomationConfirmation;
68
+ private selectOrdersForBulkAutomation;
69
+ private bulkAutomationConfirmation;
70
+ nonEditableGTComponent: AnnaNonEditableGenericTableComponent;
71
+ discardUnsavedChangesConfirmConfig: IConfirmationPopupConfig;
72
+ private discardUnsavedChangesConfirmModal;
73
+ disableAutomateButton: boolean;
74
+ isAllOrderSelected: boolean;
75
+ isAllFilteredOrdersSelected: boolean;
76
+ stayOnPageAndCloseModal: EventEmitter<void>;
77
+ countOfSelectedFilteredOrdersForAutomation: number;
78
+ constructor(router: Router, annaGtService: AnnaGtHelperService, route: ActivatedRoute, persistingFilterService: AnnaPersistingFilterService, annaFilterService: AnnaFilterService, annaSortService: AnnaSortService, toastr: ToastrService, ngxService: NgxUiLoaderService, breadcrumbService: BreadcrumbsService, businessRuleCommonSIBILogicService: GenericBusinessRuleCommonSIBILogicService, orderListingService: IBizRuleOrderListingBackendService, automationActivatedAndPODService: IAutomationActivatedAndPODService, annaGlobalConfig: AnnaGlobalConfigService);
79
+ ngOnInit(): void;
80
+ detectUrlChanges(): void;
81
+ initVariables(): void;
82
+ getTotalEasyFltersForSkeletonLoader(): void;
83
+ updateLatestFilters(queryParams: any): void;
84
+ setPersistingFilterForPopup(filter: string): void;
85
+ getLatestFilters(): any;
86
+ setLatestFilters(queryParams: any): void;
87
+ updateInitialStationOrOGFilter(filters: PersistedDashboardPrimaryFilters): void;
88
+ applyOrderListingPopupFilter(filters: DashboardFilterSelectionPopUp): void;
89
+ initFiltersForTable(): void;
90
+ resetSorting(): void;
91
+ modifyQueryParam(key: string, operation: string, value?: any): void;
92
+ fetchOrders(): void;
93
+ getOrdersApiErrorHandler(): void;
94
+ createPayloadToFetchOrders(): any;
95
+ getLatestPayload(): any;
96
+ setPersistingVariableForColumnAndEasyFilter(filter: string): void;
97
+ fetchFiltersAndOrdersData(): void;
98
+ setBreadcrumbs(): void;
99
+ initPersistedFilters(): void;
100
+ filterAppliedToTable(data: Orders[]): void;
101
+ handleResponse(): void;
102
+ intelliFilterClicked(emittedObj: any): void;
103
+ sortingAppliedToTable(data: Orders[]): void;
104
+ updateNavigationHistory(): void;
105
+ prepareQueryParamOnFilterApplication(): any;
106
+ callSort(): void;
107
+ enableDisableClearAllBtn(): void;
108
+ clearAllFilter(): void;
109
+ tableActionClicked(rowData: {
110
+ data: Orders;
111
+ id: TypeOfActionLinkForGtEnum;
112
+ }): void;
113
+ setPersistedBreadcrumbsVariable(filter: string): void;
114
+ orderRowClicked(order: Orders): void;
115
+ openConfirmationPopup(): void;
116
+ openActivateOrderModal(): void;
117
+ activateOrderModalConfig(): void;
118
+ setDiscardUnsavedChangesConfirmConfig(): void;
119
+ setBulkAutomationModalConfig(): void;
120
+ stayOnBizRulePageAndCloseModal(): void;
121
+ openDisableAutomationModal(): void;
122
+ allowBulkSelectionOfOrdersForAutomation(): void;
123
+ openAllowBulkSelectionOfOrdersToAutomateModal(): void;
124
+ sendBulkOrdersForActivation(): void;
125
+ disableOrderAutomation(): void;
126
+ activateOrder(): void;
127
+ onConfirmdisableOrderAutomation(): void;
128
+ toggleHeaderCheckbox(): void;
129
+ toggleSelectFilteredOrdersCheckbox(): void;
130
+ verifyRowCheckbox(): void;
131
+ verifyHeaderCheckbox(): void;
132
+ verifyHeaderCheckboxForFilteredOrders(): void;
133
+ toggleCheckbox(event: any): void;
134
+ enableOrDisableAutomationButton(): void;
135
+ resetOrderListing(): void;
136
+ confirmBulkAutomationOfOrders(): void;
137
+ static ɵfac: i0.ɵɵFactoryDeclaration<BizRulesOrderListingComponent, never>;
138
+ static ɵcmp: i0.ɵɵComponentDeclaration<BizRulesOrderListingComponent, "anna-feature-biz-rules-order-listing", never, { "loading": { "alias": "loading"; "required": false; }; "gtGeneralConfig": { "alias": "gtGeneralConfig"; "required": false; }; "error": { "alias": "error"; "required": false; }; "aclPermission": { "alias": "aclPermission"; "required": false; }; "userType": { "alias": "userType"; "required": false; }; "filterData": { "alias": "filterData"; "required": false; }; "easyFilters": { "alias": "easyFilters"; "required": false; }; "tableHeaders": { "alias": "tableHeaders"; "required": false; }; "gtDimension": { "alias": "gtDimension"; "required": false; }; "showOwnershipGroupFilter": { "alias": "showOwnershipGroupFilter"; "required": false; }; "showStationFilter": { "alias": "showStationFilter"; "required": false; }; "showNoDataToDisplay": { "alias": "showNoDataToDisplay"; "required": false; }; "stationIdsWithValidLicense": { "alias": "stationIdsWithValidLicense"; "required": false; }; }, { "onorderRowClicked": "onorderRowClicked"; "stayOnPageAndCloseModal": "stayOnPageAndCloseModal"; }, never, never, true, never>;
139
+ }
@@ -0,0 +1,35 @@
1
+ export declare class BusinessRulesOrderListingEasyFilterConstants {
2
+ static readonly ORDER_FLIGHT_STATUS = "Order flight status";
3
+ static readonly IN_FLIGHT = "IN-FLIGHT";
4
+ static readonly COMPLETED = "COMPLETED";
5
+ static readonly UPCOMING = "UPCOMING";
6
+ static readonly BUSINESS_RULES_STATUS = "Order business rules status";
7
+ static readonly APPROVED = "APPROVED";
8
+ static readonly AWAITING_APPROVAL = "AWAITING APPROVAL";
9
+ static readonly AUTOMATED = "AUTOMATED";
10
+ }
11
+ export declare class EasyFilterClasses {
12
+ static readonly APPROVED = "APPROVED";
13
+ static readonly AWAITING_APPROVAL = "AWAITING_APPROVAL";
14
+ static readonly AUTOMATED = "AUTOMATED";
15
+ }
16
+ export declare class BizRuleOrderListingTableHeaderConstants {
17
+ static readonly STN_ORDER_NUMBER = "STN ORDER#";
18
+ static readonly ALT_ORDER_NUMBER = "ALT/REP ORDER#";
19
+ static readonly ESTIMATE_NUM = "ESTIMATE#";
20
+ static readonly PRODUCT_CATEGORY = "PRODUCT CODE";
21
+ static readonly STATUS = "STATUS";
22
+ static readonly INHERTING_ADV_BIZ_RULES = "IDENTICAL TO ADV BIZ RULES";
23
+ static readonly APPROVED_BY = "APPROVED BY";
24
+ static readonly APPROVED_ON = "APPROVED ON";
25
+ static readonly PRIMARY_AE = "PRIMARY AE";
26
+ static readonly ORDER_ROUTE = "ORDER ROUTE";
27
+ static readonly BUYERS = "BUYERS";
28
+ static readonly REPS = "REPS";
29
+ static readonly AUTOMATION = "AUTOMATION";
30
+ static readonly AGENCY = "AGENCY";
31
+ static readonly ADVERTISER = "ADVERTISER";
32
+ static readonly START_DATE = "START DATE";
33
+ static readonly END_DATE = "END DATE";
34
+ static readonly STATION = "STATION";
35
+ }
@@ -0,0 +1,107 @@
1
+ import { IActionItemTypeWithStringIconOrTextAction } from "@annalib/anna-core";
2
+ export declare class OrderList {
3
+ orders: Orders[];
4
+ constructor(orderList: any, showModificationRequestedIcon: boolean, showAutomationCancelIcon: boolean);
5
+ }
6
+ export declare class Orders {
7
+ stationName: string;
8
+ stationOrderId: string;
9
+ alternateOrderId: string;
10
+ status: BusinessRuleStatusEnum;
11
+ businessRuleType: string;
12
+ identicalToAdvBizRule: string;
13
+ buyerNames: string;
14
+ repUserNames: string;
15
+ advertiser: string;
16
+ agency: string;
17
+ orderStartDate: string;
18
+ orderEndDate: string;
19
+ primaryAe: string;
20
+ isSelectedForBulkAutomation: boolean;
21
+ orderSource: OrderTypeEnum;
22
+ isWriteEnabled: boolean;
23
+ isPaidWithoutAudience: boolean;
24
+ gtClass: string;
25
+ estimateNo: number;
26
+ productCode: string;
27
+ automation_activated: string;
28
+ approvedBy: string;
29
+ approvedOn: string;
30
+ orderFlightStatus: OrderTypeEnum;
31
+ stationOrderActionKey: IActionItemTypeWithStringIconOrTextAction[];
32
+ statusActionKey: any[];
33
+ displayStatus: string;
34
+ Date: string;
35
+ startDate: string;
36
+ endDate: string;
37
+ stationId: number;
38
+ advertiserId: number;
39
+ campaignId: number;
40
+ automationActionKey: IActionItemTypeWithStringIconOrTextAction[];
41
+ orderNoRevNo: string;
42
+ isCurrentlyWriteEnabled: boolean;
43
+ isAnnaOrderEntry: boolean;
44
+ allowAutomation: boolean;
45
+ automationStatus: any;
46
+ automationBottomData: string;
47
+ isAudiencePostingRequired: string;
48
+ constructor(data: any, showModificationRequestedIcon: boolean, showAutomationCancelIcon: boolean);
49
+ static convertToCommaSeperatedString(arrList: any[]): string;
50
+ }
51
+ export declare enum BusinessRuleStatusEnum {
52
+ APPROVED = "APPROVED",
53
+ AWAITING_APPROVAL = "AWAITING_APPROVAL"
54
+ }
55
+ export declare enum BusinessRuleTypeEnum {
56
+ ORDER = "ORDER",
57
+ ADVERTISER = "ADVERTISER"
58
+ }
59
+ export declare enum OrderTypeEnum {
60
+ INFLIGHT = "LIVE",
61
+ COMPLETED = "COMPLETED",
62
+ UPCOMING = "UPCOMING"
63
+ }
64
+ export declare enum TypeOfActionLinkForGtEnum {
65
+ STN_ORDER_CLICKED = "STN_ORDER_CLICKED",
66
+ AUTOMATION_CANCEL_ICON_CLICKED = "AUTOMATION_CANCEL_ICON_CLICKED",
67
+ ACTIVATE_NOW_LINK_CLICKED = "ACTIVATE_NOW_LINK_CLICKED",
68
+ NONE = "NONE"
69
+ }
70
+ export declare class StationOrderNumberTextAction implements IActionItemTypeWithStringIconOrTextAction {
71
+ id: any;
72
+ data: string;
73
+ iconClass: string;
74
+ showIcon: boolean;
75
+ disabledIcon: boolean;
76
+ showTooltip: boolean;
77
+ typeOfData: "STRING" | "ICON_TEXT_ACTION";
78
+ additionalTextBeforeLink: string;
79
+ showLink: boolean;
80
+ linkClass: string;
81
+ constructor(data: string, showIcon: boolean);
82
+ }
83
+ export declare class AutomationTextAction {
84
+ automationStatus: TextActionDataForAutomationColumn[];
85
+ constructor(obj: any, isSellerInterface: boolean);
86
+ }
87
+ export declare class TextActionDataForAutomationColumn {
88
+ id: TypeOfActionLinkForGtEnum;
89
+ data: string;
90
+ iconClass: string;
91
+ showIcon: boolean;
92
+ disabledIcon: boolean;
93
+ linkClass: string;
94
+ showLink: boolean;
95
+ disabledLink: boolean;
96
+ showTooltip: boolean;
97
+ disableTooltip: boolean;
98
+ typeOfData: "STRING" | "ICON_TEXT_ACTION";
99
+ additionalTextBeforeLink: string;
100
+ enableTooltipForAdditionalText: boolean;
101
+ tooltipData: {
102
+ key: string;
103
+ value: string;
104
+ }[];
105
+ tooltipPlacement: string;
106
+ constructor(obj: any, isWritePermission: boolean);
107
+ }
@@ -0,0 +1,24 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { IConfirmationPopupConfig } from "@annalib/anna-core";
3
+ import { Observable } from "rxjs";
4
+ /** Token to inject the acl service */
5
+ export declare const AUTOMATION_ACTIVATED_AND_POD_SERVICE_TOKEN: InjectionToken<IAutomationActivatedAndPODService>;
6
+ export interface IAutomationActivatedPayload {
7
+ StationId: number;
8
+ OrderId: string;
9
+ ActivatedByUserId: number;
10
+ }
11
+ export interface IAutomationDeActivatedPayload {
12
+ StationId: number;
13
+ OrderId: string;
14
+ DisabledByUserId: number;
15
+ }
16
+ export interface IAutomationActivatedAndPODService {
17
+ activateOrderConfirmationConfig: IConfirmationPopupConfig;
18
+ disableAutomationConfirmationConfig: IConfirmationPopupConfig;
19
+ successToastrMsgAutomateOrder: string;
20
+ successToastrMsgDeactivateOrder: string;
21
+ activateOrderAutomation(payload: IAutomationActivatedPayload): Observable<any>;
22
+ deactivateOrderAutomation(payload: IAutomationDeActivatedPayload): Observable<any>;
23
+ sendBulkOrderForAutomation(payload: any): Observable<any>;
24
+ }
@@ -0,0 +1,18 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ import { IGtTableHeader } from "@annalib/anna-core";
3
+ import { Observable } from "rxjs";
4
+ /** Token to inject the acl service */
5
+ export declare const BIZ_RULE_ORDER_LISTING_SERVICE_TOKEN: InjectionToken<IBizRuleOrderListingBackendService>;
6
+ export interface IBizRuleOrderListingBackendService {
7
+ loggedInUserId: number | string;
8
+ isSandboxModeFeaturePresent: boolean;
9
+ showOwnershipGroup: boolean;
10
+ showStation: boolean;
11
+ latestOrderTabFilters: any;
12
+ showModificationRequestedIcon: boolean;
13
+ showCancelActivationIcon: boolean;
14
+ getPrimaryFiltersForDashboard(userId: number): Observable<any>;
15
+ getBizRulesOrders(param: any): Observable<any>;
16
+ getOrderListingHeaders(showOrderSelectionColumn?: boolean): IGtTableHeader[];
17
+ getOrderListingEasyFilters(): any;
18
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@annalib/anna-feature-biz-rules/business-rules" />
5
+ export * from './public-api';