mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-13 21:13:07 +00:00
119602: Make AccessibilitySettings cookie expiration configurable
This commit is contained in:
@@ -394,3 +394,8 @@ liveRegion:
|
|||||||
messageTimeOutDurationMs: 30000
|
messageTimeOutDurationMs: 30000
|
||||||
# The visibility of the live region. Setting this to true is only useful for debugging purposes.
|
# The visibility of the live region. Setting this to true is only useful for debugging purposes.
|
||||||
isVisible: false
|
isVisible: false
|
||||||
|
|
||||||
|
# Configuration for storing accessibility settings, used by the AccessibilitySettingsService
|
||||||
|
accessibility:
|
||||||
|
# The duration in days after which the accessibility settings cookie expires
|
||||||
|
cookieExpirationDuration: 7
|
||||||
|
11
src/app/accessibility/accessibility-settings.config.ts
Normal file
11
src/app/accessibility/accessibility-settings.config.ts
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
import { Config } from '../../config/config.interface';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Configuration interface used by the AccessibilitySettingsService
|
||||||
|
*/
|
||||||
|
export class AccessibilitySettingsConfig implements Config {
|
||||||
|
/**
|
||||||
|
* The duration in days after which the accessibility settings cookie expires
|
||||||
|
*/
|
||||||
|
cookieExpirationDuration: number;
|
||||||
|
}
|
@@ -8,6 +8,7 @@ import { EPerson } from '../core/eperson/models/eperson.model';
|
|||||||
import { EPersonDataService } from '../core/eperson/eperson-data.service';
|
import { EPersonDataService } from '../core/eperson/eperson-data.service';
|
||||||
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
import { getFirstCompletedRemoteData } from '../core/shared/operators';
|
||||||
import cloneDeep from 'lodash/cloneDeep';
|
import cloneDeep from 'lodash/cloneDeep';
|
||||||
|
import { environment } from '../../environments/environment';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Name of the cookie used to store the settings locally
|
* Name of the cookie used to store the settings locally
|
||||||
@@ -19,11 +20,6 @@ export const ACCESSIBILITY_COOKIE = 'dsAccessibilityCookie';
|
|||||||
*/
|
*/
|
||||||
export const ACCESSIBILITY_SETTINGS_METADATA_KEY = 'dspace.accessibility.settings';
|
export const ACCESSIBILITY_SETTINGS_METADATA_KEY = 'dspace.accessibility.settings';
|
||||||
|
|
||||||
/**
|
|
||||||
* The duration in days after which the accessibility settings cookie expires
|
|
||||||
*/
|
|
||||||
export const ACCESSIBILITY_SETTINGS_COOKIE_STORAGE_DURATION = 7;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Enum containing all possible accessibility settings.
|
* Enum containing all possible accessibility settings.
|
||||||
* When adding new settings, the {@link AccessibilitySettingsService#getInputType} method and the i18n keys for the
|
* When adding new settings, the {@link AccessibilitySettingsService#getInputType} method and the i18n keys for the
|
||||||
@@ -208,7 +204,7 @@ export class AccessibilitySettingsService {
|
|||||||
*/
|
*/
|
||||||
setSettingsInCookie(settings: AccessibilitySettings) {
|
setSettingsInCookie(settings: AccessibilitySettings) {
|
||||||
if (isNotEmpty(settings)) {
|
if (isNotEmpty(settings)) {
|
||||||
this.cookieService.set(ACCESSIBILITY_COOKIE, settings, { expires: ACCESSIBILITY_SETTINGS_COOKIE_STORAGE_DURATION });
|
this.cookieService.set(ACCESSIBILITY_COOKIE, settings, { expires: environment.accessibility.cookieExpirationDuration });
|
||||||
} else {
|
} else {
|
||||||
this.cookieService.remove(ACCESSIBILITY_COOKIE);
|
this.cookieService.remove(ACCESSIBILITY_COOKIE);
|
||||||
}
|
}
|
||||||
|
@@ -23,6 +23,7 @@ import { MarkdownConfig } from './markdown-config.interface';
|
|||||||
import { FilterVocabularyConfig } from './filter-vocabulary-config';
|
import { FilterVocabularyConfig } from './filter-vocabulary-config';
|
||||||
import { DiscoverySortConfig } from './discovery-sort.config';
|
import { DiscoverySortConfig } from './discovery-sort.config';
|
||||||
import { LiveRegionConfig } from '../app/shared/live-region/live-region.config';
|
import { LiveRegionConfig } from '../app/shared/live-region/live-region.config';
|
||||||
|
import { AccessibilitySettingsConfig } from '../app/accessibility/accessibility-settings.config';
|
||||||
|
|
||||||
interface AppConfig extends Config {
|
interface AppConfig extends Config {
|
||||||
ui: UIServerConfig;
|
ui: UIServerConfig;
|
||||||
@@ -50,6 +51,7 @@ interface AppConfig extends Config {
|
|||||||
vocabularies: FilterVocabularyConfig[];
|
vocabularies: FilterVocabularyConfig[];
|
||||||
comcolSelectionSort: DiscoverySortConfig;
|
comcolSelectionSort: DiscoverySortConfig;
|
||||||
liveRegion: LiveRegionConfig;
|
liveRegion: LiveRegionConfig;
|
||||||
|
accessibility: AccessibilitySettingsConfig;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -23,6 +23,7 @@ import { MarkdownConfig } from './markdown-config.interface';
|
|||||||
import { FilterVocabularyConfig } from './filter-vocabulary-config';
|
import { FilterVocabularyConfig } from './filter-vocabulary-config';
|
||||||
import { DiscoverySortConfig } from './discovery-sort.config';
|
import { DiscoverySortConfig } from './discovery-sort.config';
|
||||||
import { LiveRegionConfig } from '../app/shared/live-region/live-region.config';
|
import { LiveRegionConfig } from '../app/shared/live-region/live-region.config';
|
||||||
|
import { AccessibilitySettingsConfig } from '../app/accessibility/accessibility-settings.config';
|
||||||
|
|
||||||
export class DefaultAppConfig implements AppConfig {
|
export class DefaultAppConfig implements AppConfig {
|
||||||
production = false;
|
production = false;
|
||||||
@@ -439,4 +440,9 @@ export class DefaultAppConfig implements AppConfig {
|
|||||||
messageTimeOutDurationMs: 30000,
|
messageTimeOutDurationMs: 30000,
|
||||||
isVisible: false,
|
isVisible: false,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
// Accessibility settings configuration, used by the AccessibilitySettingsService
|
||||||
|
accessibility: AccessibilitySettingsConfig = {
|
||||||
|
cookieExpirationDuration: 7,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
@@ -319,4 +319,8 @@ export const environment: BuildConfig = {
|
|||||||
messageTimeOutDurationMs: 30000,
|
messageTimeOutDurationMs: 30000,
|
||||||
isVisible: false,
|
isVisible: false,
|
||||||
},
|
},
|
||||||
|
|
||||||
|
accessibility: {
|
||||||
|
cookieExpirationDuration: 7,
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user