From 05397eb4f8464b5a06015a3b7c2f7c2a64a64ddf Mon Sep 17 00:00:00 2001 From: FORESTIER Fabien <fabien.forestier@soprasteria.com> Date: Mon, 26 Mar 2018 10:56:15 +0200 Subject: [PATCH] Create geosource module --- readme.md | 4 ++- webapp/src/app/app.module.ts | 4 +++ .../components/footer/footer.component.html | 17 ++++++++-- .../components/footer/footer.component.scss | 12 ++++++++ .../core/components/main/main.component.html | 8 ++--- webapp/src/app/core/core-routing.module.ts | 16 +++++++++- .../datasets/datasets.component.html | 5 +++ .../datasets/datasets.component.scss | 0 .../datasets/datasets.component.spec.ts | 25 +++++++++++++++ .../components/datasets/datasets.component.ts | 27 ++++++++++++++++ .../app/geosource/geosource-routing.module.ts | 11 +++++++ webapp/src/app/geosource/geosource.module.ts | 20 ++++++++++++ .../src/app/geosource/models/dataset.model.ts | 11 +++++++ webapp/src/app/geosource/models/index.ts | 1 + .../services/dataset.service.spec.ts | 15 +++++++++ .../app/geosource/services/dataset.service.ts | 29 ++++++++++++++++++ webapp/src/app/geosource/services/index.ts | 7 +++++ webapp/src/favicon.ico | Bin 5430 -> 15086 bytes webapp/src/index.html | 12 ++++++-- webapp/src/styles.scss | 2 ++ webapp/src/theming/_all-theme.scss | 8 ++--- webapp/src/theming/shared/_loader-theme.scss | 10 ++++++ webapp/src/theming/shared/_loader.scss | 12 ++++++++ webapp/tslint.json | 2 +- 24 files changed, 241 insertions(+), 17 deletions(-) create mode 100644 webapp/src/app/geosource/components/datasets/datasets.component.html create mode 100644 webapp/src/app/geosource/components/datasets/datasets.component.scss create mode 100644 webapp/src/app/geosource/components/datasets/datasets.component.spec.ts create mode 100644 webapp/src/app/geosource/components/datasets/datasets.component.ts create mode 100644 webapp/src/app/geosource/geosource-routing.module.ts create mode 100644 webapp/src/app/geosource/geosource.module.ts create mode 100644 webapp/src/app/geosource/models/dataset.model.ts create mode 100644 webapp/src/app/geosource/models/index.ts create mode 100644 webapp/src/app/geosource/services/dataset.service.spec.ts create mode 100644 webapp/src/app/geosource/services/dataset.service.ts create mode 100644 webapp/src/app/geosource/services/index.ts create mode 100644 webapp/src/theming/shared/_loader-theme.scss create mode 100644 webapp/src/theming/shared/_loader.scss diff --git a/readme.md b/readme.md index bb01c206..c161f311 100644 --- a/readme.md +++ b/readme.md @@ -65,4 +65,6 @@ Clean what you don't need: keep bootstrap-grid.scss with the files & folders imp @import "utilities/display"; @import "utilities/flex"; -Import the bootrap-grid.scss in your style.scss +Import the bootrap-grid.scss in your style.scss as following: + +`@import '~scss/bootstrap-grid.scss';` diff --git a/webapp/src/app/app.module.ts b/webapp/src/app/app.module.ts index 2d9e72fb..fe0fb589 100644 --- a/webapp/src/app/app.module.ts +++ b/webapp/src/app/app.module.ts @@ -1,12 +1,14 @@ import { BrowserModule } from '@angular/platform-browser'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { NgModule } from '@angular/core'; +import { HttpClientModule } from '@angular/common/http'; import { AppMaterialModule } from './app.material.module'; import { AppComponent } from './app.component'; import { AppRoutingModule } from './app-routing.module'; import { CoreModule } from './core/core.module'; +import { GeosourceModule } from './geosource/geosource.module'; @NgModule({ @@ -16,8 +18,10 @@ import { CoreModule } from './core/core.module'; imports: [ BrowserModule, BrowserAnimationsModule, + HttpClientModule, AppMaterialModule, CoreModule, + GeosourceModule, AppRoutingModule ], providers: [], diff --git a/webapp/src/app/core/components/footer/footer.component.html b/webapp/src/app/core/components/footer/footer.component.html index 6800e0eb..797c90ef 100644 --- a/webapp/src/app/core/components/footer/footer.component.html +++ b/webapp/src/app/core/components/footer/footer.component.html @@ -1,3 +1,14 @@ -<p> - footer works! -</p> +<div class="container"> + <div class="row"> + <div class="col-sm-10"> + <a routerLink="/app">CONDITIONS GÉNÉRALES D’UTILISATION</a> + <a class="left-border" routerLink="/app">MENTIONS LÉGALES</a> + <a class="left-border" routerLink="/app">CONTACT</a> + <a class="left-border" routerLink="/app">PLAN DU SITE</a> + </div> + + <div class="col-sm-2 footer-logo" > + <img src="./assets/img/logo.svg" height="25px" alt="" > + </div> + </div> +</div> \ No newline at end of file diff --git a/webapp/src/app/core/components/footer/footer.component.scss b/webapp/src/app/core/components/footer/footer.component.scss index e69de29b..24d90af5 100644 --- a/webapp/src/app/core/components/footer/footer.component.scss +++ b/webapp/src/app/core/components/footer/footer.component.scss @@ -0,0 +1,12 @@ +@import '~@angular/material/theming'; + +.footer-logo { + text-align: right; +} + +.left-border { + border-left: 2px solid black; + padding-left: 10px; + margin-left: 5px; +} + diff --git a/webapp/src/app/core/components/main/main.component.html b/webapp/src/app/core/components/main/main.component.html index bfa5088f..068953fb 100644 --- a/webapp/src/app/core/components/main/main.component.html +++ b/webapp/src/app/core/components/main/main.component.html @@ -1,9 +1,7 @@ <app-header></app-header> -<div class="container-fluid"> - <p> - main works! - </p> +<div class="container"> + <router-outlet></router-outlet> </div> -<app-footer></app-footer> +<app-footer></app-footer> \ No newline at end of file diff --git a/webapp/src/app/core/core-routing.module.ts b/webapp/src/app/core/core-routing.module.ts index 90928dee..92b0fd24 100644 --- a/webapp/src/app/core/core-routing.module.ts +++ b/webapp/src/app/core/core-routing.module.ts @@ -1,9 +1,23 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { MainComponent } from './components/main/main.component'; +import { DatasetsComponent } from '../geosource/components/datasets/datasets.component'; const routes: Routes = [ - { path: 'app', component: MainComponent } + { + path: 'app', + component: MainComponent, + children: [ + { + path: '', + redirectTo: 'geosource', + pathMatch: 'full' + }, + { + path: 'geosource', + component: DatasetsComponent + } + ]} ]; @NgModule({ diff --git a/webapp/src/app/geosource/components/datasets/datasets.component.html b/webapp/src/app/geosource/components/datasets/datasets.component.html new file mode 100644 index 00000000..153e25d5 --- /dev/null +++ b/webapp/src/app/geosource/components/datasets/datasets.component.html @@ -0,0 +1,5 @@ +<div class="row"> + <mat-card *ngFor="let dataset of datasets" class="col-md-6"> + {{ dataset.title }} + </mat-card> +</div> \ No newline at end of file diff --git a/webapp/src/app/geosource/components/datasets/datasets.component.scss b/webapp/src/app/geosource/components/datasets/datasets.component.scss new file mode 100644 index 00000000..e69de29b diff --git a/webapp/src/app/geosource/components/datasets/datasets.component.spec.ts b/webapp/src/app/geosource/components/datasets/datasets.component.spec.ts new file mode 100644 index 00000000..8fdfa872 --- /dev/null +++ b/webapp/src/app/geosource/components/datasets/datasets.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { DatasetsComponent } from './datasets.component'; + +describe('DatasetsComponent', () => { + let component: DatasetsComponent; + let fixture: ComponentFixture<DatasetsComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ DatasetsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(DatasetsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/webapp/src/app/geosource/components/datasets/datasets.component.ts b/webapp/src/app/geosource/components/datasets/datasets.component.ts new file mode 100644 index 00000000..594e5f72 --- /dev/null +++ b/webapp/src/app/geosource/components/datasets/datasets.component.ts @@ -0,0 +1,27 @@ +import { Component, OnInit } from '@angular/core'; +import { DatasetService } from '../../services/dataset.service'; +import { Dataset } from '../../models'; + +@Component({ + selector: 'app-datasets', + templateUrl: './datasets.component.html', + styleUrls: ['./datasets.component.scss'] +}) +export class DatasetsComponent implements OnInit { + + datasets: Array<Dataset>; + + constructor( + private datasetService: DatasetService + ) { } + + ngOnInit() { + this.datasetService.getDatasets().subscribe( + (res) => { + this.datasets = res; + }, (err) => { + + }); + } + +} diff --git a/webapp/src/app/geosource/geosource-routing.module.ts b/webapp/src/app/geosource/geosource-routing.module.ts new file mode 100644 index 00000000..07772e3f --- /dev/null +++ b/webapp/src/app/geosource/geosource-routing.module.ts @@ -0,0 +1,11 @@ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; +import { DatasetsComponent } from './components/datasets/datasets.component'; + +const routes: Routes = []; + +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule] +}) +export class GeosourceRoutingModule { } diff --git a/webapp/src/app/geosource/geosource.module.ts b/webapp/src/app/geosource/geosource.module.ts new file mode 100644 index 00000000..ee7201ab --- /dev/null +++ b/webapp/src/app/geosource/geosource.module.ts @@ -0,0 +1,20 @@ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; + +import { GeosourceRoutingModule } from './geosource-routing.module'; +import { DatasetsComponent } from './components/datasets/datasets.component'; +import { GeosourceServices } from './services'; +import { AppMaterialModule } from '../app.material.module'; + +@NgModule({ + imports: [ + CommonModule, + GeosourceRoutingModule, + AppMaterialModule + ], + declarations: [DatasetsComponent], + providers: [ + ...GeosourceServices + ] +}) +export class GeosourceModule { } diff --git a/webapp/src/app/geosource/models/dataset.model.ts b/webapp/src/app/geosource/models/dataset.model.ts new file mode 100644 index 00000000..ed65e8c7 --- /dev/null +++ b/webapp/src/app/geosource/models/dataset.model.ts @@ -0,0 +1,11 @@ +export interface DatasetInterface { + 'title': string; +} + +export class Dataset { + 'title': string; + + constructor(data?: DatasetInterface) { + Object.assign(this, data); + } +} diff --git a/webapp/src/app/geosource/models/index.ts b/webapp/src/app/geosource/models/index.ts new file mode 100644 index 00000000..60c33076 --- /dev/null +++ b/webapp/src/app/geosource/models/index.ts @@ -0,0 +1 @@ +export * from './dataset.model'; diff --git a/webapp/src/app/geosource/services/dataset.service.spec.ts b/webapp/src/app/geosource/services/dataset.service.spec.ts new file mode 100644 index 00000000..64c3f063 --- /dev/null +++ b/webapp/src/app/geosource/services/dataset.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { DatasetService } from './dataset.service'; + +describe('DatasetService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [DatasetService] + }); + }); + + it('should be created', inject([DatasetService], (service: DatasetService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/webapp/src/app/geosource/services/dataset.service.ts b/webapp/src/app/geosource/services/dataset.service.ts new file mode 100644 index 00000000..c2726b08 --- /dev/null +++ b/webapp/src/app/geosource/services/dataset.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from '@angular/core'; +import { HttpClient } from '@angular/common/http'; +import { Dataset } from '../models'; +import { Observable } from 'rxjs/Observable'; + +// To be removed when using real api +import 'rxjs/add/observable/of'; + +@Injectable() +export class DatasetService { + + constructor( + private http: HttpClient + ) { } + + getDatasets(): Observable<Array<Dataset>> { + // return this.http.request<Dataset>('GET', 'https://elastic2.recette.data.grandlyon.com/elastic/*.meta/_search?pretty', { + // body: { + // 'query': { + // 'query_string': { 'query': '*', 'fuzziness': 0 } + // } + // } + // }); + let a = new Array<Dataset>(); + a = [{'title': 'Velov'}, {'title': 'Velov'}]; + return Observable.of(a); + } + +} diff --git a/webapp/src/app/geosource/services/index.ts b/webapp/src/app/geosource/services/index.ts new file mode 100644 index 00000000..9e482ccb --- /dev/null +++ b/webapp/src/app/geosource/services/index.ts @@ -0,0 +1,7 @@ +import { DatasetService } from './dataset.service'; + +export * from './dataset.service'; + +export const GeosourceServices = [ + DatasetService +]; \ No newline at end of file diff --git a/webapp/src/favicon.ico b/webapp/src/favicon.ico index 8081c7ceaf2be08bf59010158c586170d9d2d517..5619a8f1cf3db720725e00d80636e23de406e8de 100644 GIT binary patch literal 15086 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 bMpie<CO-rqW2~U@Rvh>b4sr0<ECT}oShyQF literal 5430 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 diff --git a/webapp/src/index.html b/webapp/src/index.html index 7f7cdaad..19bf6b53 100644 --- a/webapp/src/index.html +++ b/webapp/src/index.html @@ -1,5 +1,6 @@ <!doctype html> <html lang="en"> + <head> <meta charset="utf-8"> <title>Webapp</title> @@ -8,7 +9,14 @@ <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="icon" type="image/x-icon" href="favicon.ico"> </head> + <body> - <app-root></app-root> + <app-root> + <section class="AppLoader"> + <img src="assets/img/logo.svg" alt="Grand Lyon, la métropole"> + + </section> + </app-root> </body> -</html> + +</html> \ No newline at end of file diff --git a/webapp/src/styles.scss b/webapp/src/styles.scss index df64f3c4..049daecb 100644 --- a/webapp/src/styles.scss +++ b/webapp/src/styles.scss @@ -10,6 +10,8 @@ body { height: 100%; } +@import "~theming/shared/loader"; + h1, h2, h3 { font-size: 2em; font-weight: 700; diff --git a/webapp/src/theming/_all-theme.scss b/webapp/src/theming/_all-theme.scss index 50310d03..d7f8f192 100644 --- a/webapp/src/theming/_all-theme.scss +++ b/webapp/src/theming/_all-theme.scss @@ -6,14 +6,14 @@ // Theming des éléments transverses // @import "shared/form-theme"; -// @import "shared/loader-theme"; +@import "shared/loader-theme"; // @import "shared/table-theme"; -// @mixin app-shared-theme($theme) { +@mixin app-shared-theme($theme) { // @include app-shared-form-theme($theme); -// @include app-shared-loader-theme($theme); + @include app-shared-loader-theme($theme); // @include app-shared-table-theme($theme); -// } +} // // Theming des composants Angular diff --git a/webapp/src/theming/shared/_loader-theme.scss b/webapp/src/theming/shared/_loader-theme.scss new file mode 100644 index 00000000..51e5fa01 --- /dev/null +++ b/webapp/src/theming/shared/_loader-theme.scss @@ -0,0 +1,10 @@ +@import '~@angular/material/theming'; + +@mixin app-shared-loader-theme($theme) { + $background: map-get($theme, background); + + .AppLoader { + background: mat-color($background, background); + } +} + diff --git a/webapp/src/theming/shared/_loader.scss b/webapp/src/theming/shared/_loader.scss new file mode 100644 index 00000000..f0256fc7 --- /dev/null +++ b/webapp/src/theming/shared/_loader.scss @@ -0,0 +1,12 @@ +.AppLoader { + display:flex; + align-items: center; + justify-content: center; + height:100vh; + img { + margin-left: 0px; + width: 70%; + text-align: center; + } +} + diff --git a/webapp/tslint.json b/webapp/tslint.json index 9963d6c3..3dc3ff9e 100644 --- a/webapp/tslint.json +++ b/webapp/tslint.json @@ -29,7 +29,7 @@ "interface-over-type-literal": true, "label-position": true, "max-line-length": [ - true, + false, 140 ], "member-access": false, -- GitLab