Activities of "bunyamin"

Let's take a look at MyOwnModuleConfigModule

import { MY_OWN_MODULE_ROUTE_PROVIDERS } from './providers/route.provider';

@NgModule()
export class MyOwnModuleConfigModule {
  static forRoot(): ModuleWithProviders<MyOwnModuleConfigModule> {
    return {
      ngModule: MyOwnModuleConfigModule,
      providers: [MY_OWN_MODULE_ROUTE_PROVIDERS],
    };
  }
}

and MY_OWN_MODULE_ROUTE_PROVIDERS

export const MY_OWN_MODULE_ROUTE_PROVIDERS = [
  {
    provide: APP_INITIALIZER,
    useFactory: configureRoutes,
    deps: [RoutesService],
    multi: true,
  },
];

export function configureRoutes(routesService: RoutesService) {
  return () => {
    routesService.add([
      {
        path: '/my-own-module',
        name: eMyOwnModuleRouteNames.MyOwnModule,
        iconClass: 'fas fa-book',
        layout: eLayoutType.application,
        order: 3,
      },
    ]);
  };
}

Since we provide our config as APP_INITIALIZER and import MyOwnModuleConfigModule.forRoot() in app.module.ts, it runs at the startup of the application. It's not related to the ABP at all. It is just the way angular works. Could you check if your module looks like this?

Hello,

Since your worker added an empty log to the database, the row containing null values breaks the client code. We've fixed those places and merged them into the codebase. Please wait for the patch release.

Hello,

I've just followed the same instructions and it worked just fine. I didn't have to add anything to route.provider.ts because MyOwnModule already provides itself within its own route.provider.ts located at angular/projects/MyOwnModule/projects/my-own-module/config/src/providers/route.provider.ts.

In your question you said that you navigate to /my-new-module. Is this a typo in the question? If not, you need to change it to /my-own-module

Hello,

The NavItemsComponent from @volo/abp.ng.theme.lepton package utilizes a service, NavItemsService to display components from different modules.

To implement such logic into your own nav-items.component, insert this service into your component as follows:

import { NavItemsService, NavItem } from '@abp/ng.theme.shared';

@Component({
  selector: 'app-nav-items',
  templateUrl: './nav-items.component.html',
})
export class NavItemsComponent {
  trackByFn: TrackByFunction<NavItem> = (_, element) => element?.id;

  constructor(public readonly navItems: NavItemsService) {}
}

And, in your template you can use ngComponentOutlet directive to render these components.

<ul class="navbar-nav toolbar-nav">
  <ng-container *ngFor="let item of navItems.items$ | async; trackBy: trackByFn">
    <ng-container *ngIf="item.visible()">
      <li class="nav-item d-flex align-items-center" *abpPermission="item.requiredPolicy">
        <ng-container
          *ngIf="item.component; else htmlTemplate"
          [ngComponentOutlet]="item.component"
        ></ng-container>

        <ng-template #htmlTemplate>
          <div [innerHTML]="item.html" (click)="item.action ? item.action() : null"></div>
        </ng-template>
      </li>
    </ng-container>
  </ng-container>
</ul>

Hello,

I've tried it with the 4.2 microservice template and have not been able to reproduce the problem. Could you elaborate more on this issue?

Hello,

The fix has been merged. Please wait for the patch release. Closing this issue.

https://github.com/abpframework/abp/pull/9763

Hello,

This was a bug related to UTC- timezones. The fix has been merged. Please wait for the patch release.

https://support.abp.io/QA/Questions/1660/Angular-Date-Picker-picks-the-wrong-date

Hello,

Thanks for the insight about UTC. It helped us solve the problem quickly. The fix has been merged into rel-4.3 and rel-4.4 branches.

https://github.com/abpframework/abp/pull/9753

The question credit is refunded.

Hello,

It is not possible to keep the menu fixated to the top while maintaining responsive features. If you insist on a fixated top menu, you have to implement it yourself and compromise responsive user experience for smaller devices than a desktop.

Hello,

As @albert suggested, you can utilize entity actions to remove whichever entity action you'd like.

Follow the instructions in the docs with the following code.

import {
  eIdentityComponents,
  IdentityEntityActionContributors,
  IdentityRoleDto,
} from '@volo/abp.ng.identity';
import { EntityActionList } from '@abp/ng.theme.shared/extensions';

export function removeClaims(actionList: EntityActionList<IdentityRoleDto>) {
  actionList.dropByValue({ text: 'AbpIdentity::Claims' }, (v1, v2) => v1.text === v2.text);
}

export const identityEntityActionContributors: IdentityEntityActionContributors = {
  [eIdentityComponents.Roles]: [removeClaims],
};

Don't forget to pass this contributor to IdentityModule.forLazy in app-routing.module.ts as follows:

import { identityEntityActionContributors } from './entity-action-contributors';


// ...
  {
    path: 'identity',
    loadChildren: () =>
      import('@volo/abp.ng.identity').then(m =>
        m.IdentityModule.forLazy({
          entityActionContributors: identityEntityActionContributors,
        })
      ),
  },

// ...
Showing 61 to 70 of 149 entries
Made with ❤️ on ABP v9.0.0-preview Updated on September 20, 2024, 08:30