mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-17 23:13:04 +00:00
Add configuration to toggle replace/transfer
This commit is contained in:

committed by
Giuseppe Digilio

parent
a3ffda3bf8
commit
f9d8e4e0b7
@@ -48,6 +48,9 @@ export class DefaultAppConfig implements AppConfig {
|
||||
|
||||
// Trust X-FORWARDED-* headers from proxies
|
||||
useProxies: true,
|
||||
|
||||
transferState: true,
|
||||
replaceRestUrl: false,
|
||||
};
|
||||
|
||||
// The REST API server settings
|
||||
|
@@ -13,4 +13,7 @@ export class UIServerConfig extends ServerConfig {
|
||||
|
||||
// Trust X-FORWARDED-* headers from proxies
|
||||
useProxies: boolean;
|
||||
|
||||
transferState: boolean;
|
||||
replaceRestUrl: boolean;
|
||||
}
|
||||
|
@@ -90,7 +90,9 @@ export class BrowserInitService extends InitService {
|
||||
|
||||
protected init(): () => Promise<boolean> {
|
||||
return async () => {
|
||||
await this.loadAppState();
|
||||
if (this.appConfig.ui.transferState) {
|
||||
await this.loadAppState();
|
||||
}
|
||||
this.checkAuthenticationToken();
|
||||
this.externalAuthCheck();
|
||||
this.initCorrelationId();
|
||||
@@ -122,7 +124,7 @@ export class BrowserInitService extends InitService {
|
||||
*/
|
||||
private async loadAppState(): Promise<boolean> {
|
||||
// The app state can be transferred only when SSR and CSR are using the same base url for the REST API
|
||||
if (!this.appConfig.rest.hasSsrBaseUrl) {
|
||||
if (this.appConfig.ui.transferState && (!this.appConfig.rest.hasSsrBaseUrl || this.appConfig.ui.replaceRestUrl)) {
|
||||
const state = this.transferState.get<any>(InitService.NGRX_STATE, null);
|
||||
this.transferState.remove(InitService.NGRX_STATE);
|
||||
this.store.dispatch(new StoreAction(StoreActionTypes.REHYDRATE, state));
|
||||
|
@@ -59,7 +59,9 @@ export class ServerInitService extends InitService {
|
||||
return async () => {
|
||||
this.checkAuthenticationToken();
|
||||
this.saveAppConfigForCSR();
|
||||
this.saveAppState();
|
||||
if (this.appConfig.ui.transferState) {
|
||||
this.saveAppState();
|
||||
}
|
||||
this.initCorrelationId();
|
||||
|
||||
this.checkEnvironment();
|
||||
|
Reference in New Issue
Block a user