diff --git a/.gitignore b/.gitignore
index f4f46a5fe..8516691ed 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,6 @@ speed-measure-plugin.json
# IDE - VSCode
.vscode/*
-!.vscode/settings.json
!.vscode/tasks.json
!.vscode/launch.json
!.vscode/extensions.json
diff --git a/package-lock.json b/package-lock.json
index b3e3594df..fc9a399fd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -157,6 +157,23 @@
"tslib": "^1.9.0"
}
},
+ "@angular/cdk": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-8.2.1.tgz",
+ "integrity": "sha512-Y6xTxESrQlWw1kvSVWAs9cfeN/sYThrc/S9Ll4vekNkYSzye4mHHmDxzsKeGLR1tP+7urXTVz6xo44YUWVE7mw==",
+ "requires": {
+ "parse5": "^5.0.0",
+ "tslib": "^1.7.1"
+ },
+ "dependencies": {
+ "parse5": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.0.tgz",
+ "integrity": "sha512-fxNG2sQjHvlVAYmzBZS9YlDp6PTSSDwa98vkD4QgVDDCAo84z5X1t5XyJQ62ImdLXx5NdIIfihey6xpum9/gRQ==",
+ "optional": true
+ }
+ }
+ },
"@angular/cli": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/@angular/cli/-/cli-8.1.3.tgz",
@@ -239,6 +256,15 @@
"tslib": "^1.9.0"
}
},
+ "@angular/flex-layout": {
+ "version": "8.0.0-beta.27",
+ "resolved": "https://registry.npmjs.org/@angular/flex-layout/-/flex-layout-8.0.0-beta.27.tgz",
+ "integrity": "sha512-qmpvQPesU4ZQ56IscwgmVRpK2UnyV+gwvXUql7TMv0QV215hLcHczjGsrKkLfW2By5E7XEyDat9br72uVXcPMw==",
+ "dev": true,
+ "requires": {
+ "tslib": "^1.7.1"
+ }
+ },
"@angular/forms": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/@angular/forms/-/forms-8.1.3.tgz",
@@ -253,6 +279,14 @@
"integrity": "sha512-9s2LWlRlBhUXZ0oWh5ojYKnQgXgYH/VifEXteRWmEJ0dlwDApgw5Jk6usstDhv09XQvLdoumMQwOXf07zjcJrQ==",
"dev": true
},
+ "@angular/material": {
+ "version": "8.2.1",
+ "resolved": "https://registry.npmjs.org/@angular/material/-/material-8.2.1.tgz",
+ "integrity": "sha512-A3PbyVoj2Ao3h21YJSl1zCJahxnaipUKDG8wetCuqw8Ph8Qf5v+VtLfRXY2aYIp7HEBbAhuisrW9S2r+aVq7Ww==",
+ "requires": {
+ "tslib": "^1.7.1"
+ }
+ },
"@angular/platform-browser": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-8.1.3.tgz",
@@ -397,6 +431,11 @@
"to-fast-properties": "^2.0.0"
}
},
+ "@cospired/i18n-iso-languages": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@cospired/i18n-iso-languages/-/i18n-iso-languages-2.0.5.tgz",
+ "integrity": "sha512-1Pu0m7HfddFo8RNXMq+nJTn6Oz5QRh/MUN4ejb2IG4YEwHkEZlJ2tffVho8b05W/2EZEfhmwJ2kV5O65GHGEjQ=="
+ },
"@ngtools/webpack": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-8.1.3.tgz",
@@ -410,6 +449,22 @@
"webpack-sources": "1.3.0"
}
},
+ "@ngx-translate/core": {
+ "version": "11.0.1",
+ "resolved": "https://registry.npmjs.org/@ngx-translate/core/-/core-11.0.1.tgz",
+ "integrity": "sha512-nBCa1ZD9fAUY/3eskP3Lql2fNg8OMrYIej1/5GRsfcutx9tG/5fZLCv9m6UCw1aS+u4uK/vXjv1ctG/FdMvaWg==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "@rero/ng-core": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/@rero/ng-core/-/ng-core-0.0.3.tgz",
+ "integrity": "sha512-4nrlA8OPWyUBwyhkiBt5HTZLsAFz8oBKFE7bqNaOaO+Hnzsn1ls4P8nxMHYxmcHt4u2ryZoe38IA9dhVMgLcuw==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"@schematics/angular": {
"version": "8.1.3",
"resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-8.1.3.tgz",
@@ -803,6 +858,14 @@
"integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=",
"dev": true
},
+ "angular6-json-schema-form": {
+ "version": "7.3.0",
+ "resolved": "https://registry.npmjs.org/angular6-json-schema-form/-/angular6-json-schema-form-7.3.0.tgz",
+ "integrity": "sha512-ZoCCsE4KDjHF9sLcA3NnglVpA+N578R+DYMaSfc4F0UviUoil61oeGTMhVYOuFjJ6Yui0mxKY9B0sgJzvaCjxw==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
"ansi-colors": {
"version": "4.1.0",
"resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.0.tgz",
@@ -1500,6 +1563,11 @@
"multicast-dns-service-types": "^1.1.0"
}
},
+ "bootstrap": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.3.1.tgz",
+ "integrity": "sha512-rXqOmH1VilAt2DyPzluTi2blhk17bO7ef+zLLPlWvG494pDxcM234pJ8wTc/6R40UWizAIIMgxjvxZg5kmsbag=="
+ },
"brace-expansion": {
"version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
@@ -3528,6 +3596,11 @@
}
}
},
+ "font-awesome": {
+ "version": "4.7.0",
+ "resolved": "https://registry.npmjs.org/font-awesome/-/font-awesome-4.7.0.tgz",
+ "integrity": "sha1-j6jPBBGhoxr9B7BtKQK7n8gVoTM="
+ },
"for-in": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz",
@@ -5641,6 +5714,11 @@
"integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
"dev": true
},
+ "lodash-es": {
+ "version": "4.17.14",
+ "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.14.tgz",
+ "integrity": "sha512-7zchRrGa8UZXjD/4ivUWP1867jDkhzTG2c/uj739utSd7O/pFFdxspCemIFKEEjErbcqRzn8nKnGsi7mvTgRPA=="
+ },
"lodash.clonedeep": {
"version": "4.5.0",
"resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz",
@@ -6024,6 +6102,11 @@
"minimist": "0.0.8"
}
},
+ "moment": {
+ "version": "2.24.0",
+ "resolved": "https://registry.npmjs.org/moment/-/moment-2.24.0.tgz",
+ "integrity": "sha512-bV7f+6l2QigeBBZSM/6yTNq4P2fNpSWj/0e7jQcy87A8e7o2nAfP/34/2ky5Vw4B9S446EtIhodAzkFCcR4dQg=="
+ },
"move-concurrently": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz",
@@ -6104,6 +6187,24 @@
"integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==",
"dev": true
},
+ "ngx-bootstrap": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/ngx-bootstrap/-/ngx-bootstrap-5.1.2.tgz",
+ "integrity": "sha512-L9flZCGEf+/G0sOZXs3WJ2tp7SW6/7soQbAnpFmlvFURcSKv9p2/aiH/VbG47Ra50e5i6q3ereKEo7IpGEQwVQ=="
+ },
+ "ngx-toastr": {
+ "version": "10.2.0",
+ "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-10.2.0.tgz",
+ "integrity": "sha512-6ASr5bcvQmtNKb4D2VEsQjCXyROq6GwberBWO0bVt+xcBYPUea4aRTgX8in9apX9buaTafzG+h3HlnIraspoPg==",
+ "requires": {
+ "tslib": "^1.9.0"
+ }
+ },
+ "ngx-toggle-switch": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/ngx-toggle-switch/-/ngx-toggle-switch-2.0.5.tgz",
+ "integrity": "sha1-7Z3ji09SdjYS8dAL5V33M3Dn0CA="
+ },
"nice-try": {
"version": "1.0.5",
"resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
diff --git a/package.json b/package.json
index fe9f53c22..43ca5dc2c 100644
--- a/package.json
+++ b/package.json
@@ -24,27 +24,41 @@
"ng": "ng",
"start": "ng serve",
"build": "ng build admin --configuration production && ng build public-search --configuration production",
- "test": "ng test admin && ng test public-search",
- "lint": "ng lint admin && ng lint public-search",
- "e2e": "ng e2e admin && ng e2e public-search"
+ "test": "ng test",
+ "lint": "ng lint",
+ "e2e": "ng e2e"
},
"dependencies": {
"@angular/animations": "~8.1.2",
+ "@angular/cdk": "^8.2.0",
"@angular/common": "~8.1.2",
"@angular/compiler": "~8.1.2",
"@angular/core": "~8.1.2",
"@angular/forms": "~8.1.2",
+ "@angular/material": "^8.2.0",
"@angular/platform-browser": "~8.1.2",
"@angular/platform-browser-dynamic": "~8.1.2",
"@angular/router": "~8.1.2",
+ "@rero/ng-core": "0.0.3",
+ "lodash-es": "4.17.14",
+ "moment": "^2.24.0",
"rxjs": "~6.4.0",
"tslib": "^1.9.0",
- "zone.js": "~0.9.1"
+ "zone.js": "~0.9.1",
+ "ngx-bootstrap": "^5.1.1",
+ "bootstrap": "^4.3.1",
+ "font-awesome": "^4.7.0",
+ "@cospired/i18n-iso-languages": "^2.0.5",
+ "ngx-toggle-switch": "^2.0.5",
+ "angular6-json-schema-form": "^7.3.0",
+ "ngx-toastr": "^10.2.0",
+ "@ngx-translate/core": "^11.0.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.801.3",
"@angular/cli": "~8.1.2",
"@angular/compiler-cli": "~8.1.2",
+ "@angular/flex-layout": "^8.0.0-beta.27",
"@angular/language-service": "~8.1.2",
"@types/node": "~8.9.4",
"@types/jasmine": "~3.3.8",
diff --git a/projects/admin/src/app/app-config.service.ts b/projects/admin/src/app/app-config.service.ts
new file mode 100644
index 000000000..210f2ee65
--- /dev/null
+++ b/projects/admin/src/app/app-config.service.ts
@@ -0,0 +1,33 @@
+/*
+ * RERO ILS UI
+ * Copyright (C) 2019 RERO
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { Injectable } from '@angular/core';
+import { CoreConfigService } from '@rero/ng-core';
+
+import { environment } from '../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class AppConfigService extends CoreConfigService {
+ constructor() {
+ super();
+ this.production = environment.production;
+ this.apiBaseUrl = environment.apiBaseUrl;
+ this.$refPrefix = environment.$refPrefix;
+ this.languages = environment.languages;
+ }
+}
diff --git a/projects/admin/src/app/app-routing.module.ts b/projects/admin/src/app/app-routing.module.ts
new file mode 100644
index 000000000..4e53b676f
--- /dev/null
+++ b/projects/admin/src/app/app-routing.module.ts
@@ -0,0 +1,26 @@
+/*
+ * RERO ILS UI
+ * Copyright (C) 2019 RERO
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [];
+
+@NgModule({
+ imports: [RouterModule.forRoot(routes)],
+ exports: [RouterModule]
+})
+export class AppRoutingModule { }
diff --git a/projects/admin/src/app/app.component.html b/projects/admin/src/app/app.component.html
index 0ff4513e9..82cc29059 100644
--- a/projects/admin/src/app/app.component.html
+++ b/projects/admin/src/app/app.component.html
@@ -14,22 +14,5 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
-->
-
-
- Welcome to {{ title }}!
-
-
-
-Here are some links to help you start:
-
-
+Admin app
+
diff --git a/projects/admin/src/app/app.component.spec.ts b/projects/admin/src/app/app.component.spec.ts
index 732283e70..f62995967 100644
--- a/projects/admin/src/app/app.component.spec.ts
+++ b/projects/admin/src/app/app.component.spec.ts
@@ -1,9 +1,29 @@
+/*
+ * RERO ILS UI
+ * Copyright (C) 2019 RERO
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
import { TestBed, async } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
+ imports: [
+ RouterTestingModule
+ ],
declarations: [
AppComponent
],
@@ -16,16 +36,10 @@ describe('AppComponent', () => {
expect(app).toBeTruthy();
});
- it(`should have as title 'admin'`, () => {
- const fixture = TestBed.createComponent(AppComponent);
- const app = fixture.debugElement.componentInstance;
- expect(app.title).toEqual('admin');
- });
-
it('should render title in a h1 tag', () => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
- expect(compiled.querySelector('h1').textContent).toContain('Welcome to admin!');
+ expect(compiled.querySelector('h1').textContent).toContain('Admin app');
});
});
diff --git a/projects/admin/src/app/app.component.ts b/projects/admin/src/app/app.component.ts
index 4c9714d13..fbe747811 100644
--- a/projects/admin/src/app/app.component.ts
+++ b/projects/admin/src/app/app.component.ts
@@ -20,6 +20,4 @@ import { Component } from '@angular/core';
selector: 'admin-root',
templateUrl: './app.component.html'
})
-export class AppComponent {
- title = 'admin';
-}
+export class AppComponent {}
diff --git a/projects/admin/src/app/app.module.ts b/projects/admin/src/app/app.module.ts
index f1bc000a7..47fd5d811 100644
--- a/projects/admin/src/app/app.module.ts
+++ b/projects/admin/src/app/app.module.ts
@@ -17,16 +17,28 @@
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
+import { RecordModule, CoreModule, CoreConfigService } from '@rero/ng-core';
+
import { AppComponent } from './app.component';
+import { AppRoutingModule } from './app-routing.module';
+import { AppConfigService } from './app-config.service';
@NgModule({
declarations: [
AppComponent
],
imports: [
- BrowserModule
+ BrowserModule,
+ AppRoutingModule,
+ CoreModule,
+ RecordModule
+ ],
+ providers: [
+ {
+ provide: CoreConfigService,
+ useClass: AppConfigService
+ }
],
- providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
diff --git a/projects/admin/src/environments/environment.prod.ts b/projects/admin/src/environments/environment.prod.ts
index ed35ed8a0..17b1d2386 100644
--- a/projects/admin/src/environments/environment.prod.ts
+++ b/projects/admin/src/environments/environment.prod.ts
@@ -15,5 +15,8 @@
* along with this program. If not, see .
*/
export const environment = {
- production: true
+ production: true,
+ apiBaseUrl: 'https://ils.test.rero.ch',
+ $refPrefix: 'https://ils.rero.ch',
+ languages: ['fr', 'de', 'it', 'en']
};
diff --git a/projects/admin/src/environments/environment.ts b/projects/admin/src/environments/environment.ts
index d6e6dd4c6..7becad56c 100644
--- a/projects/admin/src/environments/environment.ts
+++ b/projects/admin/src/environments/environment.ts
@@ -20,7 +20,10 @@
// The list of file replacements can be found in `angular.json`.
export const environment = {
- production: false
+ production: false,
+ apiBaseUrl: 'https://localhost:5000',
+ $refPrefix: 'https://ils.rero.ch',
+ languages: ['fr', 'de', 'it', 'en']
};
/*
diff --git a/projects/public-search/src/app/app-config.service.ts b/projects/public-search/src/app/app-config.service.ts
new file mode 100644
index 000000000..210f2ee65
--- /dev/null
+++ b/projects/public-search/src/app/app-config.service.ts
@@ -0,0 +1,33 @@
+/*
+ * RERO ILS UI
+ * Copyright (C) 2019 RERO
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { Injectable } from '@angular/core';
+import { CoreConfigService } from '@rero/ng-core';
+
+import { environment } from '../environments/environment';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class AppConfigService extends CoreConfigService {
+ constructor() {
+ super();
+ this.production = environment.production;
+ this.apiBaseUrl = environment.apiBaseUrl;
+ this.$refPrefix = environment.$refPrefix;
+ this.languages = environment.languages;
+ }
+}
diff --git a/projects/public-search/src/app/app-routing.module.ts b/projects/public-search/src/app/app-routing.module.ts
new file mode 100644
index 000000000..56f4e2ba8
--- /dev/null
+++ b/projects/public-search/src/app/app-routing.module.ts
@@ -0,0 +1,42 @@
+/*
+ * RERO ILS UI
+ * Copyright (C) 2019 RERO
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as published by
+ * the Free Software Foundation, version 3 of the License.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see .
+ */
+import { NgModule } from '@angular/core';
+import { Routes, RouterModule } from '@angular/router';
+
+const routes: Routes = [
+ {
+ path: 'global/search',
+ loadChildren: () => import('@rero/ng-core').then(m => m.RecordModule),
+ data: {
+ showSearchInput: true,
+ adminMode: false,
+ linkPrefix: '/global/search',
+ types: [
+ {
+ key: 'documents',
+ label: 'Documents'
+ }
+ ]
+ }
+ }
+];
+
+@NgModule({
+ imports: [RouterModule.forRoot(routes)],
+ exports: [RouterModule]
+})
+export class AppRoutingModule { }
diff --git a/projects/public-search/src/app/app.component.html b/projects/public-search/src/app/app.component.html
index 0ff4513e9..f3c133d42 100644
--- a/projects/public-search/src/app/app.component.html
+++ b/projects/public-search/src/app/app.component.html
@@ -14,22 +14,11 @@
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see .
-->
-
-
- Welcome to {{ title }}!
-
-
-
-Here are some links to help you start:
+Public search app
+
diff --git a/projects/public-search/src/app/app.component.spec.ts b/projects/public-search/src/app/app.component.spec.ts
index dfbee517f..608fcc1c1 100644
--- a/projects/public-search/src/app/app.component.spec.ts
+++ b/projects/public-search/src/app/app.component.spec.ts
@@ -15,11 +15,15 @@
* along with this program. If not, see .
*/
import { TestBed, async } from '@angular/core/testing';
+import { RouterTestingModule } from '@angular/router/testing';
import { AppComponent } from './app.component';
describe('AppComponent', () => {
beforeEach(async(() => {
TestBed.configureTestingModule({
+ imports: [
+ RouterTestingModule
+ ],
declarations: [
AppComponent
],
@@ -32,16 +36,10 @@ describe('AppComponent', () => {
expect(app).toBeTruthy();
});
- it(`should have as title 'public-search'`, () => {
- const fixture = TestBed.createComponent(AppComponent);
- const app = fixture.debugElement.componentInstance;
- expect(app.title).toEqual('public-search');
- });
-
it('should render title in a h1 tag', () => {
const fixture = TestBed.createComponent(AppComponent);
fixture.detectChanges();
const compiled = fixture.debugElement.nativeElement;
- expect(compiled.querySelector('h1').textContent).toContain('Welcome to public-search!');
+ expect(compiled.querySelector('h1').textContent).toContain('Public search app');
});
});
diff --git a/projects/public-search/src/app/app.component.ts b/projects/public-search/src/app/app.component.ts
index 1f778883c..deeb28378 100644
--- a/projects/public-search/src/app/app.component.ts
+++ b/projects/public-search/src/app/app.component.ts
@@ -20,6 +20,4 @@ import { Component } from '@angular/core';
selector: 'public-search-root',
templateUrl: './app.component.html'
})
-export class AppComponent {
- title = 'public-search';
-}
+export class AppComponent {}
diff --git a/projects/public-search/src/app/app.module.ts b/projects/public-search/src/app/app.module.ts
index f1bc000a7..0f584d5f0 100644
--- a/projects/public-search/src/app/app.module.ts
+++ b/projects/public-search/src/app/app.module.ts
@@ -16,17 +16,31 @@
*/
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
+import { HttpClientModule } from '@angular/common/http';
+
+import { CoreConfigService, RecordModule, CoreModule } from '@rero/ng-core';
import { AppComponent } from './app.component';
+import { AppRoutingModule } from './app-routing.module';
+import { AppConfigService } from './app-config.service';
@NgModule({
declarations: [
AppComponent
],
imports: [
- BrowserModule
+ BrowserModule,
+ AppRoutingModule,
+ HttpClientModule,
+ CoreModule,
+ RecordModule
+ ],
+ providers: [
+ {
+ provide: CoreConfigService,
+ useClass: AppConfigService
+ }
],
- providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
diff --git a/projects/public-search/src/environments/environment.prod.ts b/projects/public-search/src/environments/environment.prod.ts
index ed35ed8a0..17b1d2386 100644
--- a/projects/public-search/src/environments/environment.prod.ts
+++ b/projects/public-search/src/environments/environment.prod.ts
@@ -15,5 +15,8 @@
* along with this program. If not, see .
*/
export const environment = {
- production: true
+ production: true,
+ apiBaseUrl: 'https://ils.test.rero.ch',
+ $refPrefix: 'https://ils.rero.ch',
+ languages: ['fr', 'de', 'it', 'en']
};
diff --git a/projects/public-search/src/environments/environment.ts b/projects/public-search/src/environments/environment.ts
index d6e6dd4c6..7becad56c 100644
--- a/projects/public-search/src/environments/environment.ts
+++ b/projects/public-search/src/environments/environment.ts
@@ -20,7 +20,10 @@
// The list of file replacements can be found in `angular.json`.
export const environment = {
- production: false
+ production: false,
+ apiBaseUrl: 'https://localhost:5000',
+ $refPrefix: 'https://ils.rero.ch',
+ languages: ['fr', 'de', 'it', 'en']
};
/*