diff --git a/resources/data/.gitkeep b/resources/data/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/resources/data/en/.gitkeep b/resources/data/en/.gitkeep deleted file mode 100644 index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000 diff --git a/resources/data/en/test.json b/resources/data/en/test.json deleted file mode 100644 index 728f87a6468d830a3d784df3a3076e5c6e6b44e6..0000000000000000000000000000000000000000 --- a/resources/data/en/test.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "test": { - "message": "Hello, DSpace!" - } -} diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index cc8e28535a0c0fabf864ef4160441f4f0e6150a2..99cf1068e443c6dfb1f97a912444644b80ef752f 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -25,8 +25,6 @@ import { HostWindowState } from './shared/host-window.reducer'; import { HostWindowResizeAction } from './shared/host-window.actions'; import { MockTranslateLoader } from './shared/testing/mock-translate-loader'; -import { BrowserCookiesModule } from '../modules/cookies/browser-cookies.module'; -import { BrowserDataLoaderModule } from '../modules/data-loader/browser-data-loader.module'; import { BrowserTransferStateModule } from '../modules/transfer-state/browser-transfer-state.module'; import { BrowserTransferStoreModule } from '../modules/transfer-store/browser-transfer-store.module'; @@ -52,8 +50,6 @@ describe('App component', () => { useClass: MockTranslateLoader } }), - BrowserCookiesModule, - BrowserDataLoaderModule, BrowserTransferStateModule, BrowserTransferStoreModule ], diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 15e2be330b3d967d40ba9da3be533c8968ec45ca..3ec0cdebab2f6533ede409951154bd572ec02d0b 100755 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -21,7 +21,6 @@ import { appMetaReducers, debugMetaReducers } from './app.metareducers'; import { CoreModule } from './core/core.module'; import { AppRoutingModule } from './app-routing.module'; -import { TransferHttpModule } from '../modules/transfer-http/transfer-http.module'; import { AppComponent } from './app.component'; import { HeaderComponent } from './header/header.component'; @@ -66,7 +65,6 @@ if (!ENV_CONFIG.production) { EffectsModule.forRoot(appEffects), StoreModule.forRoot(appReducers), StoreRouterConnectingModule, - TransferHttpModule, ...DEV_MODULES ], providers: [ diff --git a/src/app/browser-app.module.ts b/src/app/browser-app.module.ts index 571a5266feeebb1c8b083fb97cb71cbf1c88cf90..a8e6b083127a1d06e15d3f4b6ecdb15f694d84a7 100644 --- a/src/app/browser-app.module.ts +++ b/src/app/browser-app.module.ts @@ -11,8 +11,6 @@ import { TranslateHttpLoader } from '@ngx-translate/http-loader'; import { EffectsModule } from '@ngrx/effects'; import { TransferState } from '../modules/transfer-state/transfer-state'; -import { BrowserCookiesModule } from '../modules/cookies/browser-cookies.module'; -import { BrowserDataLoaderModule } from '../modules/data-loader/browser-data-loader.module'; import { BrowserTransferStateModule } from '../modules/transfer-state/browser-transfer-state.module'; import { BrowserTransferStoreEffects } from '../modules/transfer-store/browser-transfer-store.effects'; import { BrowserTransferStoreModule } from '../modules/transfer-store/browser-transfer-store.module'; @@ -39,10 +37,13 @@ export function createTranslateLoader(http: HttpClient) { appId: 'ds-app-id' }), HttpClientModule, - IdlePreloadModule.forRoot(), // forRoot ensures the providers are only created once - RouterModule.forRoot([], { useHash: false, preloadingStrategy: IdlePreload }), - BrowserCookiesModule, - BrowserDataLoaderModule, + // forRoot ensures the providers are only created once + IdlePreloadModule.forRoot(), + RouterModule.forRoot([], { + useHash: false, + preloadingStrategy: + IdlePreload + }), BrowserTransferStateModule, BrowserTransferStoreModule, TranslateModule.forRoot({ diff --git a/src/app/server-app.module.ts b/src/app/server-app.module.ts index 09a9b9858985e90b95403d81018d69f67c5e8540..0b9a9fec1c911a744b6c17adca1cda5b392e82ef 100644 --- a/src/app/server-app.module.ts +++ b/src/app/server-app.module.ts @@ -23,10 +23,6 @@ import { TransferState } from '../modules/transfer-state/transfer-state'; import { ServerTransferStoreEffects } from '../modules/transfer-store/server-transfer-store.effects'; import { ServerTransferStoreModule } from '../modules/transfer-store/server-transfer-store.module'; -import { ServerCookiesModule } from '../modules/cookies/server-cookies.module'; - -import { ServerDataLoaderModule } from '../modules/data-loader/server-data-loader.module'; - import { AppState } from './app.reducer'; import { AppModule } from './app.module'; @@ -54,9 +50,9 @@ export function createTranslateLoader() { BrowserModule.withServerTransition({ appId: 'ds-app-id' }), - RouterModule.forRoot([], { useHash: false }), - ServerCookiesModule, - ServerDataLoaderModule, + RouterModule.forRoot([], { + useHash: false + }), ServerTransferStateModule, ServerTransferStoreModule, TranslateModule.forRoot({ diff --git a/src/modules/cookies/browser-cookies.module.ts b/src/modules/cookies/browser-cookies.module.ts deleted file mode 100644 index bd0340a7981d22231675243cb7c684dd36ab4728..0000000000000000000000000000000000000000 --- a/src/modules/cookies/browser-cookies.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { Cookies } from './cookies'; -import { BrowserCookies } from './browser-cookies'; - -@NgModule({ - providers: [ - { provide: Cookies, useClass: BrowserCookies } - ] -}) -export class BrowserCookiesModule { - -} diff --git a/src/modules/cookies/browser-cookies.ts b/src/modules/cookies/browser-cookies.ts deleted file mode 100644 index 51c1835471b0038a37f9ef431d72cd4e57ca6ee6..0000000000000000000000000000000000000000 --- a/src/modules/cookies/browser-cookies.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { Cookies } from './cookies'; - -@Injectable() -export class BrowserCookies implements Cookies { - - // TODO: improve - set domain from configuration value or ui baseUrl - set(name: string, value: string, days: number, path?: string): void { - const date: Date = new Date(); - date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); - const expires: string = 'expires=' + date.toUTCString(); - window.document.cookie = [name, '=', value, '; ', expires, path ? '; path=' + path : ''].join(''); - } - - get(name: string): string { - const cookies: string[] = window.document.cookie.split(';'); - let cookie: string; - for (const cc of cookies) { - const c: string = cc.replace(/^\s\+/g, ''); - if (c.indexOf(name + '=') === 0) { - cookie = c.substring(name.length + 1, c.length); - break; - } - } - return cookie; - } - - // TODO: set path from environment configuration - remove(name: string): void { - this.set(name, '', 0, '/'); - } - -} diff --git a/src/modules/cookies/cookies.ts b/src/modules/cookies/cookies.ts deleted file mode 100644 index 924012a4c40848a91be1bdd62cb485ff81e896f1..0000000000000000000000000000000000000000 --- a/src/modules/cookies/cookies.ts +++ /dev/null @@ -1,9 +0,0 @@ -export abstract class Cookies { - - abstract set(name: string, value: string, days: number, path?: string): void; - - abstract get(name: string): string; - - abstract remove(name: string): void; - -} diff --git a/src/modules/cookies/server-cookies.module.ts b/src/modules/cookies/server-cookies.module.ts deleted file mode 100644 index f39daaf62a4e367e1e2381e6b8f2cc8466d9d8e8..0000000000000000000000000000000000000000 --- a/src/modules/cookies/server-cookies.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { Cookies } from './cookies'; -import { ServerCookies } from './server-cookies'; - -@NgModule({ - providers: [ - { provide: Cookies, useClass: ServerCookies } - ] -}) -export class ServerCookiesModule { - -} diff --git a/src/modules/cookies/server-cookies.ts b/src/modules/cookies/server-cookies.ts deleted file mode 100644 index 5b83ca4d6a01614ab937ccd80a54f4a70ba46553..0000000000000000000000000000000000000000 --- a/src/modules/cookies/server-cookies.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { Cookies } from './cookies'; - -@Injectable() -export class ServerCookies implements Cookies { - - // tslint:disable:no-empty - set(name: string, value: string, days: number, path?: string): void { - - } - // tslint:enable:no-empty - - get(name: string): string { - return undefined; - } - - // tslint:disable:no-empty - remove(name: string): void { - - } - // tslint:enable:no-empty - -} diff --git a/src/modules/data-loader/browser-data-loader.module.ts b/src/modules/data-loader/browser-data-loader.module.ts deleted file mode 100644 index e702b8358e60c7c0f98da9b101d49a23e39733d3..0000000000000000000000000000000000000000 --- a/src/modules/data-loader/browser-data-loader.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { DataLoader } from './data-loader'; -import { BrowserDataLoader } from './browser-data-loader'; - -@NgModule({ - providers: [ - { provide: DataLoader, useClass: BrowserDataLoader } - ] -}) -export class BrowserDataLoaderModule { - -} diff --git a/src/modules/data-loader/browser-data-loader.ts b/src/modules/data-loader/browser-data-loader.ts deleted file mode 100644 index 2f95e5c47598b46b4915a4f9da5d0ad6d2503a0a..0000000000000000000000000000000000000000 --- a/src/modules/data-loader/browser-data-loader.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { Http, Response } from '@angular/http'; -import { Observable } from 'rxjs/Observable'; - -import { DataLoader } from './data-loader'; - -@Injectable() -export class BrowserDataLoader extends DataLoader { - - protected prefix: string; - - protected suffix: string; - - constructor(private http: Http) { - super(); - this.prefix = 'assets/data'; - this.suffix = '.json'; - } - - public getData(name: string): Observable<any> { - return this.http.get(`${this.prefix}/${this.language}/${name}${this.suffix}`, {}).map((response: Response) => { - return response.json(); - }); - } - -} diff --git a/src/modules/data-loader/data-loader.ts b/src/modules/data-loader/data-loader.ts deleted file mode 100644 index 1a3eee7a96728f47050d9123996b381bfe40ef52..0000000000000000000000000000000000000000 --- a/src/modules/data-loader/data-loader.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { Observable } from 'rxjs/Observable'; - -export abstract class DataLoader { - - protected language: string; - - protected abstract prefix: string; - - protected abstract suffix: string; - - constructor() { - this.language = 'en'; - } - - public setLanguage(language: string): void { - this.language = language; - } - - abstract getData(name: string): Observable<any>; - -} diff --git a/src/modules/data-loader/server-data-loader.module.ts b/src/modules/data-loader/server-data-loader.module.ts deleted file mode 100644 index e2418ef96863bcf611044f5fd896b7ed2a022b65..0000000000000000000000000000000000000000 --- a/src/modules/data-loader/server-data-loader.module.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { DataLoader } from './data-loader'; -import { ServerDataLoader } from './server-data-loader'; - -@NgModule({ - providers: [ - { provide: DataLoader, useClass: ServerDataLoader } - ] -}) -export class ServerDataLoaderModule { - -} diff --git a/src/modules/data-loader/server-data-loader.ts b/src/modules/data-loader/server-data-loader.ts deleted file mode 100644 index 27bb321da7c29157ac76eddee3e63cb33b46e011..0000000000000000000000000000000000000000 --- a/src/modules/data-loader/server-data-loader.ts +++ /dev/null @@ -1,28 +0,0 @@ -import { Injectable } from '@angular/core'; - -import { Observable } from 'rxjs/Observable'; -import * as fs from 'fs'; - -import { DataLoader } from './data-loader'; - -@Injectable() -export class ServerDataLoader extends DataLoader { - - protected prefix: string; - - protected suffix: string; - - constructor() { - super(); - this.prefix = 'dist/assets/data'; - this.suffix = '.json'; - } - - public getData(name: string): Observable<any> { - return Observable.create((observer: any) => { - observer.next(JSON.parse(fs.readFileSync(`${this.prefix}/${this.language}/${name}${this.suffix}`, 'utf8'))); - observer.complete(); - }); - } - -} diff --git a/src/modules/transfer-http/transfer-http.module.ts b/src/modules/transfer-http/transfer-http.module.ts deleted file mode 100644 index 37897b40e93851151346b16583ca334ea7082180..0000000000000000000000000000000000000000 --- a/src/modules/transfer-http/transfer-http.module.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { NgModule } from '@angular/core'; - -import { TransferHttp } from './transfer-http'; - -@NgModule({ - providers: [ - TransferHttp - ] -}) -export class TransferHttpModule { - -} diff --git a/src/modules/transfer-http/transfer-http.ts b/src/modules/transfer-http/transfer-http.ts deleted file mode 100644 index e24f1f8906f7e0a319739e85b02cb61d169352fe..0000000000000000000000000000000000000000 --- a/src/modules/transfer-http/transfer-http.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { Injectable } from '@angular/core'; -import { ConnectionBackend, Http, Request, RequestOptions, RequestOptionsArgs, Response } from '@angular/http'; - -import { Observable } from 'rxjs/Observable'; - -import { TransferState } from '../transfer-state/transfer-state'; - -import 'rxjs/add/operator/map'; -import 'rxjs/add/operator/do'; -import 'rxjs/add/observable/of'; - -@Injectable() -export class TransferHttp { - - constructor(private http: Http, protected transferState: TransferState) { } - - request(uri: string | Request, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getData(uri, options, (url: string, options: RequestOptionsArgs) => { - return this.http.request(url, options); - }); - } - - get(url: string, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getData(url, options, (url: string, options: RequestOptionsArgs) => { - return this.http.get(url, options); - }); - } - - post(url: string, body: any, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getPostData(url, body, options, (url: string, body: any, options: RequestOptionsArgs) => { - return this.http.post(url, body, options); - }); - } - - put(url: string, body: any, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getData(url, options, (url: string, options: RequestOptionsArgs) => { - return this.http.put(url, options); - }); - } - - delete(url: string, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getData(url, options, (url: string, options: RequestOptionsArgs) => { - return this.http.delete(url, options); - }); - } - - patch(url: string, body: any, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getPostData(url, body, options, (url: string, body: any, options: RequestOptionsArgs) => { - return this.http.patch(url, body, options); - }); - } - - head(url: string, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getData(url, options, (url: string, options: RequestOptionsArgs) => { - return this.http.head(url, options); - }); - } - - options(url: string, options?: RequestOptionsArgs): Observable<any> { - // tslint:disable-next-line:no-shadowed-variable - return this.getData(url, options, (url: string, options: RequestOptionsArgs) => { - return this.http.options(url, options); - }); - } - - // tslint:disable-next-line:max-line-length - private getData(uri: string | Request, options: RequestOptionsArgs, callback: (uri: string | Request, options?: RequestOptionsArgs) => Observable<Response>) { - - let url = uri; - - if (typeof uri !== 'string') { - url = uri.url; - } - - const key = url + JSON.stringify(options); - - try { - return this.resolveData(key); - } catch (e) { - return callback(uri, options) - .map((res: Response) => res.json()) - .do((data: any) => { - this.setCache(key, data); - }); - } - } - - private getPostData(uri: string | Request, body: any, options: RequestOptionsArgs, callback: (uri: string | Request, body: any, options?: RequestOptionsArgs) => Observable<Response>) { - - let url = uri; - - if (typeof uri !== 'string') { - url = uri.url; - } - - const key = url + JSON.stringify(body) + JSON.stringify(options); - - try { - return this.resolveData(key); - } catch (e) { - return callback(uri, body, options) - .map((res: Response) => res.json()) - .do((data: any) => { - this.setCache(key, data); - }); - } - } - - private resolveData(key: string) { - const data = this.getFromCache(key); - if (!data) { - throw new Error(); - } - return Observable.of(data); - } - - private setCache(key, data) { - return this.transferState.set(key, data); - } - - private getFromCache(key): any { - return this.transferState.get(key); - } - -} diff --git a/webpack/webpack.common.js b/webpack/webpack.common.js index 5abfea9e0451d4f57600b183e58a607f6cf2f6ed..6bf4620ca776993016450d24d3888ab47022f69e 100644 --- a/webpack/webpack.common.js +++ b/webpack/webpack.common.js @@ -91,9 +91,6 @@ module.exports = { }, { from: join(__dirname, '..', 'resources', 'images'), to: join('assets', 'images') - }, { - from: join(__dirname, '..', 'resources', 'data'), - to: join('assets', 'data') }, { from: join(__dirname, '..', 'resources', 'i18n'), to: join('assets', 'i18n')