Browse Source

update: `theme-shared` package for preventing possible injection context errors

pull/21384/head
sumeyyeKurtulus 2 years ago
parent
commit
367dfd104a
  1. 8
      npm/ng-packs/packages/theme-shared/src/lib/services/abstract-menu.service.ts
  2. 9
      npm/ng-packs/packages/theme-shared/src/lib/services/toaster.service.ts

8
npm/ng-packs/packages/theme-shared/src/lib/services/abstract-menu.service.ts

@ -1,12 +1,12 @@
import { BehaviorSubject, Observable } from 'rxjs';
import { NavItem } from '../models/nav-item';
import { inject, Type } from '@angular/core';
import { SORT_COMPARE_FUNC } from '@abp/ng.core';
import { SORT_COMPARE_FUNC, SortableItem } from '@abp/ng.core';
export abstract class AbstractMenuService<T extends NavItem> {
protected abstract baseClass: Type<any>;
protected readonly sortFn = inject(SORT_COMPARE_FUNC);
protected readonly sortFn: (a: SortableItem, b: SortableItem) => number;
protected _items$ = new BehaviorSubject<T[]>([]);
@ -18,6 +18,10 @@ export abstract class AbstractMenuService<T extends NavItem> {
return this._items$.asObservable();
}
constructor() {
this.sortFn = inject(SORT_COMPARE_FUNC);
}
addItems(newItems: T[]) {
const items = [...this.items];
newItems.forEach(item => {

9
npm/ng-packs/packages/theme-shared/src/lib/services/toaster.service.ts

@ -4,7 +4,7 @@ import {
PROJECTION_STRATEGY,
Strict,
} from '@abp/ng.core';
import { ComponentRef, Injectable } from '@angular/core';
import { ComponentRef, inject, Injectable } from '@angular/core';
import { ReplaySubject } from 'rxjs';
import { ToastContainerComponent } from '../components/toast-container/toast-container.component';
import { Toaster } from '../models';
@ -20,8 +20,7 @@ export class ToasterService implements ToasterContract {
private toasts = [] as Toaster.Toast[];
private containerComponentRef!: ComponentRef<ToastContainerComponent>;
constructor(private contentProjectionService: ContentProjectionService) {}
private contentProjectionService: ContentProjectionService;
private setContainer() {
this.containerComponentRef = this.contentProjectionService.projectContent(
@ -34,6 +33,10 @@ export class ToasterService implements ToasterContract {
this.containerComponentRef.changeDetectorRef.detectChanges();
}
constructor() {
this.contentProjectionService = inject(ContentProjectionService);
}
/**
* Creates an info toast with given parameters.
* @param message Content of the toast

Loading…
Cancel
Save