Browse Source

refactoring

pull/23416/head
erdemcaygor 5 months ago
parent
commit
ca5b54fd58
  1. 2
      npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html
  2. 7
      npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts
  3. 1
      npm/ng-packs/packages/core/src/lib/services/index.ts
  4. 17
      npm/ng-packs/packages/core/src/lib/services/ssr.service.ts
  5. 4
      npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts
  6. 11
      npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/current-user.component.ts
  7. 2
      npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.html
  8. 9
      npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts

2
npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.html

@ -1,4 +1,4 @@
@if (ssrService.isBrowser) {
@if (isBrowser) {
<ngx-datatable
default
[rows]="data"

7
npm/ng-packs/packages/components/extensible/src/lib/components/extensible-table/extensible-table.component.ts

@ -12,12 +12,13 @@ import {
OnChanges,
OnDestroy,
Output,
PLATFORM_ID,
signal,
SimpleChanges,
TemplateRef,
TrackByFunction,
} from '@angular/core';
import { AsyncPipe, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
import { AsyncPipe, isPlatformBrowser, NgComponentOutlet, NgTemplateOutlet } from '@angular/common';
import { Observable, filter, map, Subject, debounceTime, distinctUntilChanged } from 'rxjs';
@ -32,7 +33,6 @@ import {
PermissionDirective,
PermissionService,
TimezoneService,
SSRService,
UtcToLocalPipe,
} from '@abp/ng.core';
import {
@ -85,7 +85,8 @@ export class ExtensibleTableComponent<R = any> implements OnChanges, AfterViewIn
protected readonly timeZoneService = inject(TimezoneService);
protected readonly entityPropTypeClasses = inject(ENTITY_PROP_TYPE_CLASSES);
protected readonly permissionService = inject(PermissionService);
protected readonly ssrService = inject(SSRService);
private platformId = inject(PLATFORM_ID);
protected isBrowser = isPlatformBrowser(this.platformId);
protected _actionsText!: string;
@Input()

1
npm/ng-packs/packages/core/src/lib/services/index.ts

@ -25,6 +25,5 @@ export * from './local-storage-listener.service';
export * from './title-strategy.service';
export * from './timezone.service';
export * from './time.service';
export * from './ssr.service';
export * from './cookie-storage.service';
export * from './dom-strategy.service';

17
npm/ng-packs/packages/core/src/lib/services/ssr.service.ts

@ -1,17 +0,0 @@
import { Inject, Injectable, PLATFORM_ID } from '@angular/core';
import { isPlatformBrowser, isPlatformServer } from '@angular/common';
@Injectable({
providedIn: 'root',
})
export class SSRService {
private platformId = Inject(PLATFORM_ID);
get isBrowser() {
return isPlatformBrowser(this.platformId);
}
get isServer() {
return isPlatformServer(this.platformId);
}
}

4
npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts

@ -4,8 +4,7 @@ import {
LocalizationPipe,
PagedAndSortedResultRequestDto,
PagedResultDto,
ReplaceableTemplateDirective,
SSRService,
ReplaceableTemplateDirective
} from '@abp/ng.core';
import { IdentityRoleDto, IdentityRoleService } from '@abp/ng.identity/proxy';
import {
@ -65,7 +64,6 @@ export class RolesComponent implements OnInit {
protected readonly toasterService = inject(ToasterService);
private readonly injector = inject(Injector);
protected readonly service = inject(IdentityRoleService);
protected readonly ssrService = inject(SSRService);
data: PagedResultDto<IdentityRoleDto> = { items: [], totalCount: 0 };
form!: UntypedFormGroup;

11
npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/current-user.component.ts

@ -6,13 +6,12 @@ import {
NAVIGATE_TO_MANAGE_PROFILE,
PermissionDirective,
SessionStateService,
SSRService,
ToInjectorPipe,
} from '@abp/ng.core';
import { AbpVisibleDirective, UserMenu, UserMenuService } from '@abp/ng.theme.shared';
import { Component, TrackByFunction, inject } from '@angular/core';
import { Observable } from 'rxjs';
import { NgComponentOutlet, AsyncPipe } from '@angular/common';
import { NgComponentOutlet, AsyncPipe, DOCUMENT } from '@angular/common';
import { NgbDropdownModule } from '@ng-bootstrap/ng-bootstrap';
@Component({
@ -34,18 +33,14 @@ export class CurrentUserComponent {
private authService = inject(AuthService);
private configState = inject(ConfigStateService);
private sessionState = inject(SessionStateService);
private document = inject(DOCUMENT);
currentUser$: Observable<CurrentUserDto> = this.configState.getOne$('currentUser');
selectedTenant$ = this.sessionState.getTenant$();
trackByFn: TrackByFunction<UserMenu> = (_, element) => element.id;
private ssrService = inject(SSRService);
get smallScreen(): boolean {
if (this.ssrService.isServer) {
return false;
} else {
return window.innerWidth < 992;
}
return this.document.defaultView?.innerWidth < 992;
}
navigateToLogin() {

2
npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.html

@ -1,5 +1,5 @@
<ul class="navbar-nav">
@if (ssrService.isBrowser) {
@if (isBrowser) {
@for (item of navItems.items$ | async; track $index) {
<ng-container *abpVisible="!item.visible || item.visible(item)">
<li class="nav-item d-flex align-items-center" *abpPermission="item.requiredPolicy">

9
npm/ng-packs/packages/theme-basic/src/lib/components/nav-items/nav-items.component.ts

@ -1,7 +1,7 @@
import { AbpVisibleDirective, NavItem, NavItemsService } from '@abp/ng.theme.shared';
import { Component, TrackByFunction, inject } from '@angular/core';
import { NgComponentOutlet, AsyncPipe } from '@angular/common';
import { PermissionDirective, ToInjectorPipe, SSRService } from '@abp/ng.core';
import { Component, TrackByFunction, inject, PLATFORM_ID } from '@angular/core';
import { NgComponentOutlet, AsyncPipe, isPlatformBrowser } from '@angular/common';
import { PermissionDirective, ToInjectorPipe } from '@abp/ng.core';
@Component({
selector: 'abp-nav-items',
@ -9,8 +9,9 @@ import { PermissionDirective, ToInjectorPipe, SSRService } from '@abp/ng.core';
imports: [NgComponentOutlet, AsyncPipe, AbpVisibleDirective, PermissionDirective, ToInjectorPipe],
})
export class NavItemsComponent {
protected readonly ssrService = inject(SSRService);
readonly navItems = inject(NavItemsService);
private platformId = inject(PLATFORM_ID);
readonly isBrowser = isPlatformBrowser(this.platformId);
trackByFn: TrackByFunction<NavItem> = (_, element) => element.id;
}

Loading…
Cancel
Save