Open Source Web Application Framework for ASP.NET Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2.3 KiB

//[doc-seo]
{
    "Description": "Learn to manage profile page tabs in ABP Framework using `ManageProfileTabsService` for adding, removing, or editing tabs effortlessly."
}

Manage Profile Page Tabs

manage profile page

The tabs in the manage profile page can be managed via ManageProfileTabsService which is exposed by the @volo/abp.ng.account/public/config package. You can add, remove, or edit a tab with using this service.

See the example below, covers all features:

// manage-profile-tabs.provider.ts

import { Component, inject, provideAppInitializer } from "@angular/core";
import { TwoFactorTabComponent } from "@volo/abp.ng.account/public";
import {
  eAccountManageProfileTabNames,
  ManageProfileTabsService,
} from "@volo/abp.ng.account/public/config";

@Component({
  selector: "abp-my-awesome-tab",
  template: `My Awesome Tab`,
})
class MyAwesomeTabComponent {}

export const MANAGE_PROFILE_TAB_PROVIDER = [
  provideAppInitializer(() => {
    configureManageProfileTabs();
  }),
];

export function configureManageProfileTabs() {
  const tabs = inject(ManageProfileTabsService);
  tabs.add([
    {
      name: "::MyAwesomeTab", // supports localization keys
      order: 5,
      component: MyAwesomeTabComponent,
    },
  ]);

  tabs.patch(eAccountManageProfileTabNames.TwoFactor, {
    name: "Two factor authentication",
    component: TwoFactorTabComponent,
  });

  tabs.remove([eAccountManageProfileTabNames.ProfilePicture]);
}
//app.config.ts

import { MANAGE_PROFILE_TAB_PROVIDER } from "./manage-profile-tabs.provider";

export const appConfig: ApplicationConfig = {
  providers: [
    // ...
    MANAGE_PROFILE_TAB_PROVIDER,
  ],
};

What we have done above;

  • Created the manage-profile-page-tabs.provider.ts.
  • Determined the configureManageProfileTabs function to perform manage profile tabs actions.
    • Added a new tab labeled "My awesome tab".
    • Renamed the "Two factor" tab label.
    • Removed the "Profile picture" tab.
  • Determined the MANAGE_PROFILE_TAB_PROVIDER to be able to run the configureManageProfileTabs function on initialization.
  • Registered the MANAGE_PROFILE_TAB_PROVIDER to the appConfig providers.

See the result:

my awesome tab