diff --git a/npm/ng-packs/apps/dev-app/src/app/app.config.ts b/npm/ng-packs/apps/dev-app/src/app/app.config.ts index 382be15f62..a76180fdb5 100644 --- a/npm/ng-packs/apps/dev-app/src/app/app.config.ts +++ b/npm/ng-packs/apps/dev-app/src/app/app.config.ts @@ -1,6 +1,10 @@ import { ApplicationConfig, provideZoneChangeDetection } from '@angular/core'; import { provideRouter } from '@angular/router'; -import { provideClientHydration, withEventReplay } from '@angular/platform-browser'; +import { + provideClientHydration, + withEventReplay, + withHttpTransferCacheOptions, +} from '@angular/platform-browser'; import { appRoutes } from './app.routes'; import { APP_ROUTE_PROVIDER } from './route.provider'; @@ -16,30 +20,33 @@ import { provideTenantManagementConfig } from '@abp/ng.tenant-management/config' import { provideFeatureManagementConfig } from '@abp/ng.feature-management'; import { provideThemeBasicConfig } from '@abp/ng.theme.basic'; import { provideAnimations } from '@angular/platform-browser/animations'; +import { provideServerRendering } from '@angular/platform-server'; -export const appConfig: ApplicationConfig = { - providers: [ - provideRouter(appRoutes), - APP_ROUTE_PROVIDER, - provideAbpCore( - withOptions({ - environment, - registerLocaleFn: registerLocale(), - sendNullsAsQueryParam: false, - skipGetAppConfiguration: false, - }), - ), - provideAbpOAuth({ ssr: false }), - provideAbpThemeShared(), - provideSettingManagementConfig(), - provideAccountConfig(), - provideIdentityConfig(), - provideTenantManagementConfig(), - provideFeatureManagementConfig(), - provideZoneChangeDetection({ eventCoalescing: true }), - provideThemeBasicConfig(), - provideAnimations(), - provideRouter(appRoutes), - provideClientHydration(withEventReplay()), - ], -}; +export function createAppConfig(ssr: boolean): ApplicationConfig { + return { + providers: [ + APP_ROUTE_PROVIDER, + provideAbpCore( + withOptions({ + environment, + registerLocaleFn: registerLocale(), + sendNullsAsQueryParam: false, + skipGetAppConfiguration: false, + }), + ), + provideAbpOAuth({ ssr }), + provideAbpThemeShared(), + provideSettingManagementConfig(), + provideAccountConfig(), + provideIdentityConfig(), + provideTenantManagementConfig(), + provideFeatureManagementConfig(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideThemeBasicConfig(), + provideAnimations(), + provideRouter(appRoutes), + provideClientHydration(withEventReplay(), withHttpTransferCacheOptions({})), + ...(ssr ? [provideServerRendering()] : []), + ], + }; +} diff --git a/npm/ng-packs/apps/dev-app/src/main.server.ts b/npm/ng-packs/apps/dev-app/src/main.server.ts index 4b9d4d1545..52b0f86243 100644 --- a/npm/ng-packs/apps/dev-app/src/main.server.ts +++ b/npm/ng-packs/apps/dev-app/src/main.server.ts @@ -1,7 +1,7 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { AppComponent } from './app/app.component'; -import { config } from './app/app.config.server'; +import { createAppConfig } from './app/app.config'; -const bootstrap = () => bootstrapApplication(AppComponent, config); +const bootstrap = () => bootstrapApplication(AppComponent, createAppConfig(true)); export default bootstrap; diff --git a/npm/ng-packs/apps/dev-app/src/main.ts b/npm/ng-packs/apps/dev-app/src/main.ts index 7180ec1a32..5c2e2a3147 100644 --- a/npm/ng-packs/apps/dev-app/src/main.ts +++ b/npm/ng-packs/apps/dev-app/src/main.ts @@ -1,5 +1,5 @@ import { bootstrapApplication } from '@angular/platform-browser'; -import { appConfig } from './app/app.config'; +import { createAppConfig } from './app/app.config'; import { AppComponent } from './app/app.component'; -bootstrapApplication(AppComponent, appConfig).catch(err => console.error(err)); +bootstrapApplication(AppComponent, createAppConfig(false)).catch(err => console.error(err)); diff --git a/npm/ng-packs/packages/core/src/lib/providers/cookie-language.provider.ts b/npm/ng-packs/packages/core/src/lib/providers/cookie-language.provider.ts index b6a8a30cb0..8a71c8a8da 100644 --- a/npm/ng-packs/packages/core/src/lib/providers/cookie-language.provider.ts +++ b/npm/ng-packs/packages/core/src/lib/providers/cookie-language.provider.ts @@ -1,10 +1,14 @@ -import { Injector, inject, provideAppInitializer } from '@angular/core'; -import { DOCUMENT } from '@angular/common'; +import { Injector, inject, provideAppInitializer, PLATFORM_ID } from '@angular/core'; +import { DOCUMENT, isPlatformBrowser } from '@angular/common'; import { SessionStateService } from '../services/session-state.service'; import { COOKIE_LANGUAGE_KEY } from '../tokens/cookie-language-key.token'; export function setLanguageToCookie() { const injector = inject(Injector); + const platformId = injector.get(PLATFORM_ID); + + if (!isPlatformBrowser(platformId)) return; + const sessionState = injector.get(SessionStateService); const document = injector.get(DOCUMENT); const cookieLanguageKey = injector.get(COOKIE_LANGUAGE_KEY); diff --git a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts index d5a8da5962..84f0781f16 100644 --- a/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts +++ b/npm/ng-packs/packages/identity/src/lib/components/roles/roles.component.ts @@ -131,7 +131,12 @@ export class RolesComponent implements OnInit { } private hookToQuery() { - this.list.hookToQuery(query => this.service.getList(query)).subscribe(res => (this.data = res)); + this.list + .hookToQuery(query => this.service.getList(query)) + .subscribe(res => { + console.log(res); + this.data = res; + }); } openPermissionsModal(providerKey: string) { diff --git a/npm/ng-packs/packages/oauth/src/lib/services/server-token-storage.service.ts b/npm/ng-packs/packages/oauth/src/lib/services/server-token-storage.service.ts index dfd769b55b..b3c68aec3e 100644 --- a/npm/ng-packs/packages/oauth/src/lib/services/server-token-storage.service.ts +++ b/npm/ng-packs/packages/oauth/src/lib/services/server-token-storage.service.ts @@ -7,7 +7,6 @@ import { OAuthStorage } from 'angular-oauth2-oidc'; export class ServerTokenStorageService implements OAuthStorage { private cookies: Map; constructor(@Inject('cookies') c: any) { - console.log('cookies ---->>>>>>>', c); const cookies = JSON.parse(c); this.cookies = new Map();