mirror of
https://github.com/DSpace/dspace-angular.git
synced 2025-10-07 01:54:15 +00:00
48 lines
1.7 KiB
TypeScript
48 lines
1.7 KiB
TypeScript
import { InjectionToken } from '@angular/core';
|
|
import { makeStateKey } from '@angular/platform-browser';
|
|
import { Config } from './config.interface';
|
|
import { ServerConfig } from './server-config.interface';
|
|
import { CacheConfig } from './cache-config.interface';
|
|
import { UniversalConfig } from './universal-config.interface';
|
|
import { INotificationBoardOptions } from './notifications-config.interfaces';
|
|
import { SubmissionConfig } from './submission-config.interface';
|
|
import { FormConfig } from './form-config.interfaces';
|
|
import { LangConfig } from './lang-config.interface';
|
|
import { ItemPageConfig } from './item-page-config.interface';
|
|
import { CollectionPageConfig } from './collection-page-config.interface';
|
|
import { ThemeConfig } from './theme.model';
|
|
import { AuthConfig } from './auth-config.interfaces';
|
|
import { UIServerConfig } from './ui-server-config.interface';
|
|
import { MediaViewerConfig } from './media-viewer-config.interface';
|
|
import { BrowseByConfig } from './browse-by-config.interface';
|
|
|
|
interface AppConfig extends Config {
|
|
ui: UIServerConfig;
|
|
rest: ServerConfig;
|
|
production: boolean;
|
|
cache: CacheConfig;
|
|
auth?: AuthConfig;
|
|
form: FormConfig;
|
|
notifications: INotificationBoardOptions;
|
|
submission: SubmissionConfig;
|
|
universal: UniversalConfig;
|
|
debug: boolean;
|
|
defaultLanguage: string;
|
|
languages: LangConfig[];
|
|
browseBy: BrowseByConfig;
|
|
item: ItemPageConfig;
|
|
collection: CollectionPageConfig;
|
|
themes: ThemeConfig[];
|
|
mediaViewer: MediaViewerConfig;
|
|
}
|
|
|
|
const APP_CONFIG = new InjectionToken<AppConfig>('APP_CONFIG');
|
|
|
|
const APP_CONFIG_STATE = makeStateKey('APP_CONFIG_STATE');
|
|
|
|
export {
|
|
AppConfig,
|
|
APP_CONFIG,
|
|
APP_CONFIG_STATE
|
|
};
|