Campaigns Module - TypeScript Functions Documentation

Angular Admin Panel Documentation

πŸ“– Overview

This document provides a comprehensive list of all TypeScript functions implemented in the Campaigns module components and services for general campaign and brand management, campaign analytics, performance monitoring, and campaign lifecycle operations.

Total Components: 6
Total Services: 1
Module Path: src/app/campaigns

🧩 Components Overview

πŸ“Š MycampaignsComponent

File: src/app/campaigns/mycampaigns/mycampaigns.component.ts

Purpose: Personal campaign dashboard and overview for managing individual user campaigns

Extends: AppComponentClass<mycampaigns, mycampaignsForm>

πŸ“‹ Class Properties

// Campaign Management
campaigns: any[] = [];               // User's campaign list
filteredCampaigns: any[] = [];       // Filtered campaign data
selectedCampaigns: any[] = [];       // Multi-selected campaigns
campaignMetrics: any = {};           // Campaign performance metrics

// Table and Pagination
currentPage: number = 1;             // Current page number
pageSize: number = 15;               // Campaigns per page
totalCampaigns: number = 0;          // Total campaign count
sortColumn: string = "created_date"; // Default sort column
sortDirection: string = "desc";      // Sort direction

// UI State and Filters
loading: boolean = false;            // Loading indicator
searchTerm: string = "";             // Search filter
statusFilter: string = "all";       // Status filter
dateFilter: any = {};               // Date range filter
showFilters: boolean = false;        // Filter panel visibility

πŸ”„ Component Lifecycle Functions

πŸš€ ngOnInit(): void

Purpose: Component initialization with campaign dashboard setup

Parameters: None

Returns: void

ngOnInit(): void {
  // Initializes campaign dashboard
  // Loads user's campaigns and performance metrics
  // Sets up table configuration and filters
  // Configures real-time updates
}

Key Features:

  • Campaign data loading
  • Performance metrics calculation
  • Table and filter setup
  • Real-time data refresh

πŸ“Š Data Loading Functions

πŸ“₯ loadCampaigns(): void

Purpose: Load user's campaign data with pagination

Parameters: None

Returns: void

loadCampaigns(): void {
  // Loads user's campaigns from service
  // Applies current filters and pagination
  // Updates campaign list and metrics
  // Handles loading states and errors
}
πŸ“ˆ loadCampaignMetrics(): void

Purpose: Load campaign performance metrics and analytics

Parameters: None

Returns: void

loadCampaignMetrics(): void {
  // Loads campaign performance metrics
  // Calculates aggregate statistics
  // Updates dashboard charts and graphs
  // Provides real-time analytics data
}

πŸ“Š Table Management Functions

πŸ“„ onTableDataChange(event: any): void

Purpose: Handle table pagination changes

Parameters:

  • event: any - Pagination event data

Returns: void

onTableDataChange(event: any): void {
  // Handles table pagination changes
  // Updates current page and loads new data
  // Maintains filter and sort state
}
πŸ“ onTableSizeChange(event: any): void

Purpose: Handle table page size changes

Parameters:

  • event: any - Page size change event

Returns: void

onTableSizeChange(event: any): void {
  // Handles table page size changes
  // Updates page size and reloads data
  // Resets pagination to first page
}
πŸ”„ sortTableData(column: string): void

Purpose: Sort table data by specified column

Parameters:

  • column: string - Column to sort by

Returns: void

sortTableData(column: string): void {
  // Sorts table data by specified column
  // Toggles sort direction on repeated clicks
  // Updates table display with sorted data
}
πŸ” filterCampaigns(searchTerm: string): void

Purpose: Filter campaigns by search term

Parameters:

  • searchTerm: string - Search criteria

Returns: void

filterCampaigns(searchTerm: string): void {
  // Filters campaigns by search term
  // Searches campaign names, descriptions, and brands
  // Updates filtered campaign list
}

🧭 Navigation Functions

πŸ‘οΈ viewCampaignDetails(campaignId: string): void

Purpose: Navigate to campaign details page

Parameters:

  • campaignId: string - Campaign ID

Returns: void

viewCampaignDetails(campaignId: string): void {
  // Navigates to campaign details
  // Passes campaign ID as route parameter
  // Opens detailed campaign view
}
βž• addNewCampaign(): void

Purpose: Navigate to add new campaign

Parameters: None

Returns: void

addNewCampaign(): void {
  // Navigates to add new campaign
  // Opens campaign creation wizard
  // Prepares new campaign form
}
✏️ editCampaign(campaignId: string): void

Purpose: Navigate to edit campaign

Parameters:

  • campaignId: string - Campaign ID to edit

Returns: void

editCampaign(campaignId: string): void {
  // Navigates to edit campaign
  // Loads campaign data for editing
  // Opens campaign modification interface
}
πŸ“Š viewCampaignAnalytics(campaignId: string): void

Purpose: Navigate to campaign analytics

Parameters:

  • campaignId: string - Campaign ID

Returns: void

viewCampaignAnalytics(campaignId: string): void {
  // Navigates to campaign analytics
  // Opens detailed performance analysis
  // Shows campaign metrics and insights
}

πŸŽ›οΈ Campaign Management Functions

πŸ”„ toggleCampaignStatus(campaignId: string, status: boolean): void

Purpose: Activate or deactivate campaign

Parameters:

  • campaignId: string - Campaign ID
  • status: boolean - New status

Returns: void

toggleCampaignStatus(campaignId: string, status: boolean): void {
  // Activates/Deactivates campaign
  // Updates campaign status in database
  // Refreshes campaign list with new status
}
πŸ—‘οΈ deleteCampaign(campaignId: string): void

Purpose: Delete campaign with confirmation

Parameters:

  • campaignId: string - Campaign ID to delete

Returns: void

deleteCampaign(campaignId: string): void {
  // Deletes campaign after confirmation
  // Shows confirmation dialog
  // Removes campaign from database and list
}
πŸ“‹ duplicateCampaign(campaignId: string): void

Purpose: Duplicate existing campaign

Parameters:

  • campaignId: string - Campaign ID to duplicate

Returns: void

duplicateCampaign(campaignId: string): void {
  // Duplicates existing campaign
  // Creates copy with modified name
  // Opens new campaign for editing
}
πŸ“¦ archiveCampaign(campaignId: string): void

Purpose: Archive campaign

Parameters:

  • campaignId: string - Campaign ID to archive

Returns: void

archiveCampaign(campaignId: string): void {
  // Archives campaign
  // Moves campaign to archived status
  // Removes from active campaign list
}

πŸ”§ Utility Functions

🎨 formatCampaignDisplay(campaign: any): any

Purpose: Format campaign data for display

Parameters:

  • campaign: any - Campaign data

Returns: any - Formatted campaign data

private formatCampaignDisplay(campaign: any): any {
  // Formats campaign data for display
  // Applies date formatting and status labels
  // Calculates display metrics
}
πŸ“Š calculateCampaignMetrics(campaigns: any[]): any

Purpose: Calculate campaign metrics

Parameters:

  • campaigns: any[] - Campaign list

Returns: any - Calculated metrics

private calculateCampaignMetrics(campaigns: any[]): any {
  // Calculates campaign metrics
  // Aggregates performance data
  // Returns summary statistics
}
πŸ” validateCampaignPermissions(campaignId: string): boolean

Purpose: Validate campaign permissions

Parameters:

  • campaignId: string - Campaign ID

Returns: boolean - Permission validation result

private validateCampaignPermissions(campaignId: string): boolean {
  // Validates campaign permissions
  // Checks user access rights
  // Returns permission status
}

🎯 CampaignComponent

File: src/app/campaigns/campaign/campaign.component.ts

Purpose: Individual campaign management and monitoring with real-time control capabilities

Extends: AppComponentClass<campaign, campaignForm>

πŸ“‹ Class Properties

// Campaign Data
campaignId: string;                  // Current campaign ID
campaignData: any = {};              // Campaign information
campaignMetrics: any = {};           // Performance metrics
campaignStatus: string = "inactive"; // Current status

// Configuration
campaignSettings: any = {};          // Campaign settings
campaignSchedule: any = {};          // Schedule configuration
campaignBudget: any = {};            // Budget settings
campaignTargeting: any = {};         // Targeting parameters

// Real-time Updates
statusUpdateInterval: any;           // Status update timer
metricsRefreshRate: number = 30000;  // Metrics refresh interval
realTimeUpdates: boolean = true;     // Real-time updates flag

// UI State
loading: boolean = false;            // Loading indicator
editMode: boolean = false;           // Edit mode flag
showAdvanced: boolean = false;       // Advanced settings visibility

πŸ”„ Component Lifecycle Functions

πŸš€ ngOnInit(): void

Purpose: Component initialization with campaign setup

Parameters: None

Returns: void

ngOnInit(): void {
  // Component initialization
  // Sets up campaign management interface
  // Loads campaign data and starts monitoring
}

πŸ“Š Data Management Functions

πŸ“₯ loadCampaignData(campaignId: string): void

Purpose: Load specific campaign data

Parameters:

  • campaignId: string - Campaign ID

Returns: void

loadCampaignData(campaignId: string): void {
  // Loads specific campaign data
  // Fetches configuration and performance metrics
  // Updates component state with campaign info
}
πŸ’Ύ updateCampaignData(campaignData: any): void

Purpose: Update campaign information

Parameters:

  • campaignData: any - Updated campaign data

Returns: void

updateCampaignData(campaignData: any): void {
  // Updates campaign information
  // Validates data before saving
  // Refreshes campaign display
}
πŸ”„ refreshCampaignStatus(): void

Purpose: Refresh campaign status

Parameters: None

Returns: void

refreshCampaignStatus(): void {
  // Refreshes campaign status
  // Gets latest status from server
  // Updates UI with current status
}
πŸ“ˆ loadCampaignMetrics(campaignId: string): void

Purpose: Load campaign performance metrics

Parameters:

  • campaignId: string - Campaign ID

Returns: void

loadCampaignMetrics(campaignId: string): void {
  // Loads campaign performance metrics
  // Calculates key performance indicators
  // Updates charts and analytics displays
}

βš™οΈ Configuration Functions

πŸ”§ updateCampaignSettings(settings: any): void

Purpose: Update campaign settings

Parameters:

  • settings: any - Campaign settings

Returns: void

updateCampaignSettings(settings: any): void {
  // Updates campaign settings
  // Validates configuration changes
  // Applies new settings to campaign
}
πŸ“… configureCampaignSchedule(schedule: any): void

Purpose: Configure campaign schedule

Parameters:

  • schedule: any - Schedule configuration

Returns: void

configureCampaignSchedule(schedule: any): void {
  // Configures campaign schedule
  // Sets start/end dates and time windows
  // Validates schedule conflicts
}
πŸ’° updateCampaignBudget(budget: any): void

Purpose: Update campaign budget

Parameters:

  • budget: any - Budget configuration

Returns: void

updateCampaignBudget(budget: any): void {
  // Updates campaign budget
  // Sets daily and total budget limits
  // Configures spending controls
}
🎯 setCampaignTargeting(targeting: any): void

Purpose: Set campaign targeting parameters

Parameters:

  • targeting: any - Targeting parameters

Returns: void

setCampaignTargeting(targeting: any): void {
  // Sets campaign targeting
  // Configures audience and demographic filters
  // Updates targeting rules and criteria
}

πŸŽ›οΈ Campaign Control Functions

▢️ startCampaign(): void

Purpose: Start campaign execution

Parameters: None

Returns: void

startCampaign(): void {
  // Starts campaign execution
  // Validates campaign configuration
  // Initiates campaign processing
}
⏸️ pauseCampaign(): void

Purpose: Pause campaign execution

Parameters: None

Returns: void

pauseCampaign(): void {
  // Pauses campaign execution
  // Maintains current state for resumption
  // Updates campaign status
}
⏹️ stopCampaign(): void

Purpose: Stop campaign execution

Parameters: None

Returns: void

stopCampaign(): void {
  // Stops campaign execution
  // Finalizes campaign processing
  // Generates final reports
}
⏯️ resumeCampaign(): void

Purpose: Resume paused campaign

Parameters: None

Returns: void

resumeCampaign(): void {
  // Resumes paused campaign
  // Restores previous execution state
  // Continues campaign processing
}
πŸ”΄ deactivateCampaign(): void

Purpose: Deactivate campaign

Parameters: None

Returns: void

deactivateCampaign(): void {
  // Deactivates campaign
  // Sets campaign to inactive status
  // Preserves campaign data for future use
}

πŸ“Š Analytics and Reporting Functions

πŸ“‹ generatePerformanceReport(dateRange: any): void

Purpose: Generate campaign performance report

Parameters:

  • dateRange: any - Report date range

Returns: void

generatePerformanceReport(dateRange: any): void {
  // Generates campaign performance report
  // Compiles metrics and analytics data
  // Creates downloadable report document
}
πŸ’Ή calculateCampaignROI(): number

Purpose: Calculate campaign return on investment

Parameters: None

Returns: number - ROI percentage

calculateCampaignROI(): number {
  // Calculates campaign ROI
  // Compares revenue to campaign costs
  // Returns ROI percentage
}
🎯 getCampaignConversions(): any

Purpose: Get campaign conversion metrics

Parameters: None

Returns: any - Conversion data

getCampaignConversions(): any {
  // Gets campaign conversion metrics
  // Calculates conversion rates and volumes
  // Returns detailed conversion analysis
}

βš™οΈ Service Functions

πŸ”§ CampaignsService

File: src/app/campaigns/campaigns.service.ts

Purpose: Core service for campaign operations, API communication, and data management

Extends: AppService<any>

πŸ“Š getCampaigns(filters?: any): Observable<any>

Purpose: Retrieve campaigns with optional filtering

Parameters:

  • filters?: any - Optional filter parameters

Returns: Observable<any> - Campaign data

getCampaigns(filters?: any): Observable<any> {
  // Retrieves campaigns with optional filtering
  // Applies pagination and sorting
  // Returns campaign list with metadata
}
πŸ’Ύ saveCampaign(campaignData: any): Observable<any>

Purpose: Save campaign configuration

Parameters:

  • campaignData: any - Campaign data to save

Returns: Observable<any> - Save operation result

saveCampaign(campaignData: any): Observable<any> {
  // Saves campaign configuration
  // Validates data before saving
  // Returns operation result with campaign ID
}
πŸ”„ updateCampaignStatus(campaignId: string, status: string): Observable<any>

Purpose: Update campaign status

Parameters:

  • campaignId: string - Campaign ID
  • status: string - New status

Returns: Observable<any> - Status update result

updateCampaignStatus(campaignId: string, status: string): Observable<any> {
  // Updates campaign status
  // Validates status transition
  // Returns updated campaign data
}
πŸ“ˆ getCampaignMetrics(campaignId: string): Observable<any>

Purpose: Get campaign performance metrics

Parameters:

  • campaignId: string - Campaign ID

Returns: Observable<any> - Performance metrics

getCampaignMetrics(campaignId: string): Observable<any> {
  // Gets campaign performance metrics
  // Calculates key performance indicators
  // Returns comprehensive analytics data
}
πŸ—‘οΈ deleteCampaign(campaignId: string): Observable<any>

Purpose: Delete campaign

Parameters:

  • campaignId: string - Campaign ID to delete

Returns: Observable<any> - Deletion result

deleteCampaign(campaignId: string): Observable<any> {
  // Deletes campaign
  // Removes all associated data
  // Returns deletion confirmation
}

πŸ”„ Integration & Usage

πŸ”— Component Integration

The Campaigns module integrates with several core application features:

  • AppComponentClass: Extends base component functionality for form handling and lifecycle management
  • Campaign Management: Comprehensive campaign lifecycle operations
  • Analytics & Reporting: Real-time performance monitoring and reporting
  • Brand Integration: Brand management and campaign association
  • User Management: User permissions and access control

πŸ’Ό Business Logic

  • Campaign Lifecycle: Complete campaign management from creation to archival
  • Performance Monitoring: Real-time campaign tracking and optimization
  • Budget Management: Budget controls and spending optimization
  • Audience Targeting: Advanced targeting and segmentation capabilities

πŸ”§ Technical Features

  • Reactive Forms: Advanced form validation and state management
  • Real-time Updates: Live monitoring and status updates
  • Data Analytics: Comprehensive performance analysis and reporting
  • Responsive Design: Mobile-optimized campaign management interface
  • Export Capabilities: Campaign data export and reporting tools

πŸ“š Usage Guidelines

πŸ‘¨β€πŸ’Ό For Marketing Managers

  1. Campaign Planning: Use dashboard to plan and organize marketing campaigns
  2. Performance Monitoring: Track campaign metrics and optimize performance
  3. Budget Management: Monitor and control campaign spending
  4. Analytics Review: Generate reports for campaign analysis

πŸ‘¨β€πŸ’» For Developers

  1. Component Extension: Extend functionality through AppComponentClass inheritance
  2. Service Integration: Use CampaignsService for all API operations
  3. Real-time Features: Implement live monitoring and status updates
  4. Analytics Integration: Build comprehensive reporting and analytics features

πŸ”§ Best Practices

  • Always validate campaign data before saving
  • Implement proper error handling for campaign operations
  • Use real-time updates for campaign status monitoring
  • Maintain data consistency across campaign lifecycle
  • Implement proper permission controls for campaign access
  • Use analytics data for campaign optimization

πŸ”— Related Documentation