diff --git a/README.md b/README.md index d743a5f..e75a7ca 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,31 @@ -# Gisaf frontend +# GisafApp -The web app (front-end, user interface) for Gisaf, -a web based GIS initially developed for CSR Geomatics, Auroville. +This project was generated with [angular-cli](https://github.com/angular/angular-cli) version 1.0.0-beta.24. -See the [Gisaf server repository](https://code.philo.ydns.eu/philorg/gisaf-backend) -for information about this project. +## Development server +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive/pipe/service/class/module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `-prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +Before running the tests make sure you are serving the app via `ng serve`. + +## Deploying to Github Pages + +Run `ng github-pages:deploy` to deploy to Github Pages. + +## Further help + +To get more help on the `angular-cli` use `ng help` or go check out the [Angular-CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/src/app/app.component.html b/src/app/app.component.html index 7aedc3b..e3737be 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -2,7 +2,7 @@ @@ -47,4 +47,4 @@ account_circle - + \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 9ab6b35..1be626d 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,7 +1,5 @@ -import { - Component, OnInit, - ChangeDetectionStrategy, ChangeDetectorRef -} from '@angular/core' +import { Component, OnInit, + ChangeDetectionStrategy, ChangeDetectorRef } from '@angular/core' import { Title } from '@angular/platform-browser' import { BootstrapService } from './_services/bootstrap.service' import { ConfigService } from './_services/config.service' @@ -10,87 +8,80 @@ import { MatDialog, MatDialogRef } from '@angular/material/dialog' import { AuthenticationService } from './_services/authentication.service' import { LoginDialogComponent } from './login/login.component' -import versionJson from '../version.json' - -export class Version { - public backend: string - public frontend: string -} @Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'], - changeDetection: ChangeDetectionStrategy.OnPush, + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'], + changeDetection: ChangeDetectionStrategy.OnPush, }) export class AppComponent implements OnInit { - title: string = 'Gisaf' - version: Version = new Version() + title = 'Gisaf' + version: string - routes = [ - { - 'target': 'dashboard', - 'icon': 'home', - 'text': 'Home', - }, - { - 'target': 'map', - 'icon': 'map', - 'text': 'Map', - }, - { - 'target': 'measures', - 'icon': 'insert_chart', - 'text': 'Measures', - }, - ] + routes = [ + { + 'target': 'dashboard', + 'icon': 'home', + 'text': 'Home', + }, + { + 'target': 'map', + 'icon': 'map', + 'text': 'Map', + }, + { + 'target': 'measures', + 'icon': 'insert_chart', + 'text': 'Measures', + }, + ] - constructor( - public configService: ConfigService, - private titleService: Title, - private bootstrapService: BootstrapService, - public authenticationService: AuthenticationService, - private snackBar: MatSnackBar, - private cdr: ChangeDetectorRef, - public dialogRef: MatDialogRef, - public dialog: MatDialog - ) { } + constructor( + public configService: ConfigService, + private titleService: Title, + private bootstrapService: BootstrapService, + public authenticationService: AuthenticationService, + private snackBar: MatSnackBar, + private cdr: ChangeDetectorRef, + public dialogRef: MatDialogRef, + public dialog: MatDialog + ) {} - ngOnInit() { - // Bootstrap: set app wide configuration - this.bootstrapService.get().subscribe({ - next: res => { - this.version.backend = res.version - this.version.frontend = versionJson["version"] - this.title = res.title || this.title - this.titleService.setTitle(res.windowTitle || this.title) - this.configService.setConf(res) - if (res.redirect && (window != window.top)) { - // Refusing to be embedded in an iframe - let loc = res.redirect + window.location.pathname - window.document.body.innerHTML = ` + ngOnInit() { + // Bootstrap: set app wide configuration + this.bootstrapService.get().subscribe({ + next: res => { + this.version = res.version + this.title = res.title || this.title + this.titleService.setTitle(res.windowTitle || this.title) + this.configService.setConf(res) + if (res.redirect && (window != window.top)) { + // Refusing to be embedded in an iframe + let loc = res.redirect + window.location.pathname + window.document.body.innerHTML = ` The web site you are visiting is trying to embed Gisaf (${this.title}) in an iFrame, it isn't a nice thing to do.
Please click this link to go to the real site: ${loc} ` - } - }, - error: err => { - this.snackBar.open( - 'Cannot connect to the server (' + err.statusText + '). Please retry later.', - 'OK' - ) - } - }) - } + } + }, + error: err => { + this.snackBar.open( + 'Cannot connect to the server (' + err.statusText + '). Please retry later.', + 'OK' + ) + } + }) + } - openLoginDialog() { - const dialogRef = this.dialog.open(LoginDialogComponent, { - height: '24em', - width: '21em' - }) + openLoginDialog() { + const dialogRef = this.dialog.open(LoginDialogComponent, { + height: '24em', + width: '21em' + }) - // dialogRef.afterClosed().subscribe( - // result => {} - // ) - } + // dialogRef.afterClosed().subscribe( + // result => {} + // ) + } } diff --git a/src/version.json b/src/version.json deleted file mode 100644 index 1be1b18..0000000 --- a/src/version.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "version": "0.0.0" -} diff --git a/tsconfig.json b/tsconfig.json index 3b4a837..d8eccc2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,28 +1,27 @@ { "compileOnSave": false, "compilerOptions": { - "declaration": false, - "esModuleInterop": true, - "experimentalDecorators": true, "importHelpers": true, - "lib": [ - "es2019", - "dom", - "esnext.asynciterable" - ], "module": "es2020", - "moduleResolution": "node", - "resolveJsonModule": true, + "esModuleInterop": true, "outDir": "./dist/out-tsc", "sourceMap": true, + "declaration": false, + "moduleResolution": "node", + "experimentalDecorators": true, "target": "ES2022", "typeRoots": [ "node_modules/@types", "@types" ], + "lib": [ + "es2019", + "dom", + "esnext.asynciterable" + ], "useDefineForClassFields": false }, "angularCompilerOptions": { "strictTemplates": true } -} +} \ No newline at end of file