Filter by title

Commercial UI Components

The @volo/abp.commercial.ng.ui package provides shared ABP Commercial Angular controls in addition to the separately documented lookup components and entity filters. The package is included in ABP Commercial Angular application templates.

Date Range Controls

DateRangePickerComponent and DatetimeRangePickerComponent are Angular form controls. startDateProp and endDateProp specify the two properties updated in the bound model:

import { Component } from '@angular/core';
import { FormsModule } from '@angular/forms';
import {
  DateRangePickerModule,
  DatetimeRangePickerComponent,
} from '@volo/abp.commercial.ng.ui';

@Component({
  selector: 'app-report-range',
  templateUrl: './report-range.component.html',
  imports: [
    FormsModule,
    DateRangePickerModule,
    DatetimeRangePickerComponent,
  ],
})
export class ReportRangeComponent {
  dateRange: {
    startDate: string | Date | null;
    endDate: string | Date | null;
  } = {
    startDate: null,
    endDate: null,
  };
}
<abp-date-range-picker
  [(ngModel)]="dateRange"
  startDateProp="startDate"
  endDateProp="endDate"
  labelText="Date Range"
/>

Use abp-datetime-range-picker with the same inputs when the model also needs start and end times. labelText is rendered as-is, so pass an already localized string (for example, a value resolved with the LocalizationService) instead of a localization key.

Standalone Configuration

Register commercial UI configuration in the application providers. The following example enables flag icons:

import { ApplicationConfig } from '@angular/core';
import {
  provideCommercialUiConfig,
  withEnableFlagIcon,
} from '@volo/abp.commercial.ng.ui/config';

export const appConfig: ApplicationConfig = {
  providers: [
    provideCommercialUiConfig(
      withEnableFlagIcon(true),
    ),
  ],
};

Calling provideCommercialUiConfig() also registers the shared profile-picture, impersonation and tenant-switching providers. Flag icons are disabled unless withEnableFlagIcon(true) is supplied.

Testing

CommercialUiTestingModule imports and exports BaseCommercialUiModule, making its declarations available from the public testing entrypoint. Its withConfig() method returns the module registration without adding test doubles or providers:

import { TestBed } from '@angular/core/testing';
import { CommercialUiTestingModule } from '@volo/abp.commercial.ng.ui/testing';

await TestBed.configureTestingModule({
  imports: [CommercialUiTestingModule.withConfig()],
}).compileComponents();

Contributors


Last updated: July 21, 2026 Edit this page on GitHub

Was this page helpful?

Please make a selection.

To help us improve, please share your reason for the negative feedback in the field below.

Please enter a note.

Thank you for your valuable feedback!

Please note that although we cannot respond to feedback, our team will use your comments to improve the experience.

ABP Community Talks
Low-Code, High Precision
13 Aug, 17:00
Online
Watch the Event
ABP Live Webinar
Webinar Calendar Webinar Calendar
Discover
ABP Platform
Register Now
Oct 01
Thursday,
17:00 UTC
Boost Your Development
ABP Live Training
Packages
See Trainings
Mastering ABP Framework Book
The Official Guide
Mastering
ABP Framework
Learn More
Mastering ABP Framework Book
1
ABP Assistant
🔐 You need to be logged in to use the chatbot. Please log in first.