From c431f007751f28b1d28211f6f173e447e0d85c5d Mon Sep 17 00:00:00 2001 From: VanessaHuertas Date: Fri, 18 May 2018 08:43:38 -0500 Subject: [PATCH] src --- .../alerta-detail/alerta-detail.component.css | 0 .../alerta-detail.component.html | 14 +++ .../alerta-detail.component.spec.ts | 25 +++++ .../alerta-detail/alerta-detail.component.ts | 35 ++++++ .../src/app/alerta.service.spec.ts | 15 +++ Front/SoftSecurity/src/app/alerta.service.ts | 26 +++++ Front/SoftSecurity/src/app/alerta.ts | 4 + .../src/app/alerta/alerta.component.css | 0 .../src/app/alerta/alerta.component.html | 3 + .../src/app/alerta/alerta.component.spec.ts | 25 +++++ .../src/app/alerta/alerta.component.ts | 15 +++ Front/SoftSecurity/src/app/alertas.ts | 6 ++ .../src/app/app-routing.module.spec.ts | 13 +++ .../src/app/app-routing.module.ts | 21 ++++ Front/SoftSecurity/src/app/app.component.css | 32 ++++++ Front/SoftSecurity/src/app/app.component.html | 19 ++++ .../src/app/app.component.spec.ts | 27 +++++ Front/SoftSecurity/src/app/app.component.ts | 10 ++ Front/SoftSecurity/src/app/app.module.ts | 33 ++++++ .../fallo-detail/fallo-detail.component.css | 0 .../fallo-detail/fallo-detail.component.html | 3 + .../fallo-detail.component.spec.ts | 25 +++++ .../fallo-detail/fallo-detail.component.ts | 15 +++ .../src/app/fallo/fallo.component.css | 0 .../src/app/fallo/fallo.component.html | 3 + .../src/app/fallo/fallo.component.spec.ts | 25 +++++ .../src/app/fallo/fallo.component.ts | 15 +++ .../SoftSecurity/src/app/imagenes/alerta.png | Bin 0 -> 3927 bytes Front/SoftSecurity/src/app/imagenes/mapa.png | Bin 0 -> 2678 bytes Front/SoftSecurity/src/app/imagenes/menu.png | Bin 0 -> 4273 bytes .../src/app/imagenes/seguridad.jpg | Bin 0 -> 97099 bytes .../src/app/mapa/mapa.component.css | 5 + .../src/app/mapa/mapa.component.html | 11 ++ .../src/app/mapa/mapa.component.spec.ts | 25 +++++ .../src/app/mapa/mapa.component.ts | 101 ++++++++++++++++++ Front/SoftSecurity/src/app/residencia.ts | 4 + .../softsecurity/softsecurity.component.css | 0 .../softsecurity/softsecurity.component.html | 23 ++++ .../softsecurity.component.spec.ts | 25 +++++ .../softsecurity/softsecurity.component.ts | 30 ++++++ Front/SoftSecurity/src/assets/.gitkeep | 0 Front/SoftSecurity/src/browserslist | 9 ++ .../src/environments/environment.prod.ts | 3 + .../src/environments/environment.ts | 15 +++ Front/SoftSecurity/src/favicon.ico | Bin 0 -> 5430 bytes Front/SoftSecurity/src/icono.ico | Bin 0 -> 4286 bytes Front/SoftSecurity/src/icono.png | Bin 0 -> 8888 bytes Front/SoftSecurity/src/index.html | 41 +++++++ Front/SoftSecurity/src/karma.conf.js | 31 ++++++ Front/SoftSecurity/src/main.ts | 13 +++ Front/SoftSecurity/src/polyfills.ts | 80 ++++++++++++++ Front/SoftSecurity/src/styles.css | 85 +++++++++++++++ Front/SoftSecurity/src/test.ts | 20 ++++ Front/SoftSecurity/src/tsconfig.app.json | 12 +++ Front/SoftSecurity/src/tsconfig.spec.json | 19 ++++ Front/SoftSecurity/src/tslint.json | 17 +++ 56 files changed, 978 insertions(+) create mode 100644 Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.css create mode 100644 Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.html create mode 100644 Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.ts create mode 100644 Front/SoftSecurity/src/app/alerta.service.spec.ts create mode 100644 Front/SoftSecurity/src/app/alerta.service.ts create mode 100644 Front/SoftSecurity/src/app/alerta.ts create mode 100644 Front/SoftSecurity/src/app/alerta/alerta.component.css create mode 100644 Front/SoftSecurity/src/app/alerta/alerta.component.html create mode 100644 Front/SoftSecurity/src/app/alerta/alerta.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/alerta/alerta.component.ts create mode 100644 Front/SoftSecurity/src/app/alertas.ts create mode 100644 Front/SoftSecurity/src/app/app-routing.module.spec.ts create mode 100644 Front/SoftSecurity/src/app/app-routing.module.ts create mode 100644 Front/SoftSecurity/src/app/app.component.css create mode 100644 Front/SoftSecurity/src/app/app.component.html create mode 100644 Front/SoftSecurity/src/app/app.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/app.component.ts create mode 100644 Front/SoftSecurity/src/app/app.module.ts create mode 100644 Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.css create mode 100644 Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.html create mode 100644 Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.ts create mode 100644 Front/SoftSecurity/src/app/fallo/fallo.component.css create mode 100644 Front/SoftSecurity/src/app/fallo/fallo.component.html create mode 100644 Front/SoftSecurity/src/app/fallo/fallo.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/fallo/fallo.component.ts create mode 100644 Front/SoftSecurity/src/app/imagenes/alerta.png create mode 100644 Front/SoftSecurity/src/app/imagenes/mapa.png create mode 100644 Front/SoftSecurity/src/app/imagenes/menu.png create mode 100644 Front/SoftSecurity/src/app/imagenes/seguridad.jpg create mode 100644 Front/SoftSecurity/src/app/mapa/mapa.component.css create mode 100644 Front/SoftSecurity/src/app/mapa/mapa.component.html create mode 100644 Front/SoftSecurity/src/app/mapa/mapa.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/mapa/mapa.component.ts create mode 100644 Front/SoftSecurity/src/app/residencia.ts create mode 100644 Front/SoftSecurity/src/app/softsecurity/softsecurity.component.css create mode 100644 Front/SoftSecurity/src/app/softsecurity/softsecurity.component.html create mode 100644 Front/SoftSecurity/src/app/softsecurity/softsecurity.component.spec.ts create mode 100644 Front/SoftSecurity/src/app/softsecurity/softsecurity.component.ts create mode 100644 Front/SoftSecurity/src/assets/.gitkeep create mode 100644 Front/SoftSecurity/src/browserslist create mode 100644 Front/SoftSecurity/src/environments/environment.prod.ts create mode 100644 Front/SoftSecurity/src/environments/environment.ts create mode 100644 Front/SoftSecurity/src/favicon.ico create mode 100644 Front/SoftSecurity/src/icono.ico create mode 100644 Front/SoftSecurity/src/icono.png create mode 100644 Front/SoftSecurity/src/index.html create mode 100644 Front/SoftSecurity/src/karma.conf.js create mode 100644 Front/SoftSecurity/src/main.ts create mode 100644 Front/SoftSecurity/src/polyfills.ts create mode 100644 Front/SoftSecurity/src/styles.css create mode 100644 Front/SoftSecurity/src/test.ts create mode 100644 Front/SoftSecurity/src/tsconfig.app.json create mode 100644 Front/SoftSecurity/src/tsconfig.spec.json create mode 100644 Front/SoftSecurity/src/tslint.json diff --git a/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.css b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.html b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.html new file mode 100644 index 0000000..a41a180 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.html @@ -0,0 +1,14 @@ +
+

{{ alerta.tipoAlerta }}

+ +
Cantidad Alertas: {{ alerta.cantidadAlertas }}
+ +
+ +
+ + + +
\ No newline at end of file diff --git a/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.spec.ts b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.spec.ts new file mode 100644 index 0000000..4ab22a0 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AlertaDetailComponent } from './alerta-detail.component'; + +describe('AlertaDetailComponent', () => { + let component: AlertaDetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AlertaDetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AlertaDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.ts b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.ts new file mode 100644 index 0000000..fa87b9b --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta-detail/alerta-detail.component.ts @@ -0,0 +1,35 @@ +import { Component, OnInit, Input} from '@angular/core'; +import { Alerta } from '../alerta'; +import { ActivatedRoute } from '@angular/router'; +import { Location } from '@angular/common'; + +import { AlertaService } from '../alerta.service'; + +@Component({ + selector: 'app-alerta-detail', + templateUrl: './alerta-detail.component.html', + styleUrls: ['./alerta-detail.component.css'] +}) +export class AlertaDetailComponent implements OnInit { + + @Input() alerta: Alerta; + + constructor( + private route: ActivatedRoute, + private alertaService: AlertaService, + private location: Location + ) { } + + ngOnInit(): void { + this.getAlerta(); + } + + getAlerta(): void { + const cantidadAlertas = +this.route.snapshot.paramMap.get('cantidadAlertas'); + this.alertaService.getAlerta(cantidadAlertas).subscribe(alerta => this.alerta = alerta); + } + + goBack(): void { + this.location.back(); + } +} diff --git a/Front/SoftSecurity/src/app/alerta.service.spec.ts b/Front/SoftSecurity/src/app/alerta.service.spec.ts new file mode 100644 index 0000000..e335f31 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta.service.spec.ts @@ -0,0 +1,15 @@ +import { TestBed, inject } from '@angular/core/testing'; + +import { AlertaService } from './alerta.service'; + +describe('AlertaService', () => { + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [AlertaService] + }); + }); + + it('should be created', inject([AlertaService], (service: AlertaService) => { + expect(service).toBeTruthy(); + })); +}); diff --git a/Front/SoftSecurity/src/app/alerta.service.ts b/Front/SoftSecurity/src/app/alerta.service.ts new file mode 100644 index 0000000..7cc9709 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta.service.ts @@ -0,0 +1,26 @@ +import { Injectable } from '@angular/core'; +import { Alerta } from './alerta'; +import { ALERTAS } from './alertas'; +import { Observable, of } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) + +export class AlertaService { + + constructor() { } + + getAlertas(): Observable { + // TODO: send the message _after_ fetching the heroes + //this.mensajeService.add(`AlertaService: fetched alertas`); + return of(ALERTAS); + } + + getAlerta(cantidadAlertas: number): Observable { + // TODO: send the message _after_ fetching the heroes + //this.mensajeService.add(`HeroService: fetched hero cantidadAlertas=${cantidadAlertas}`); + return of(ALERTAS.find(alerta => alerta.cantidadAlertas === cantidadAlertas)); + } + +} diff --git a/Front/SoftSecurity/src/app/alerta.ts b/Front/SoftSecurity/src/app/alerta.ts new file mode 100644 index 0000000..16b1108 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta.ts @@ -0,0 +1,4 @@ +export class Alerta { + cantidadAlertas: number; + tipoAlerta: string; +} diff --git a/Front/SoftSecurity/src/app/alerta/alerta.component.css b/Front/SoftSecurity/src/app/alerta/alerta.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/SoftSecurity/src/app/alerta/alerta.component.html b/Front/SoftSecurity/src/app/alerta/alerta.component.html new file mode 100644 index 0000000..6b80b78 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta/alerta.component.html @@ -0,0 +1,3 @@ +

+ alerta works! +

diff --git a/Front/SoftSecurity/src/app/alerta/alerta.component.spec.ts b/Front/SoftSecurity/src/app/alerta/alerta.component.spec.ts new file mode 100644 index 0000000..2bf0d21 --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta/alerta.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { AlertaComponent } from './alerta.component'; + +describe('AlertaComponent', () => { + let component: AlertaComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ AlertaComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(AlertaComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/alerta/alerta.component.ts b/Front/SoftSecurity/src/app/alerta/alerta.component.ts new file mode 100644 index 0000000..a72aa5d --- /dev/null +++ b/Front/SoftSecurity/src/app/alerta/alerta.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-alerta', + templateUrl: './alerta.component.html', + styleUrls: ['./alerta.component.css'] +}) +export class AlertaComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Front/SoftSecurity/src/app/alertas.ts b/Front/SoftSecurity/src/app/alertas.ts new file mode 100644 index 0000000..19ecbaa --- /dev/null +++ b/Front/SoftSecurity/src/app/alertas.ts @@ -0,0 +1,6 @@ +import { Alerta } from './alerta'; + +export const ALERTAS: Alerta[] = [ + { cantidadAlertas: 4, tipoAlerta: 'puerta Abierta'}, + { cantidadAlertas: 7, tipoAlerta: 'contrasenha Incorrecta'} +]; diff --git a/Front/SoftSecurity/src/app/app-routing.module.spec.ts b/Front/SoftSecurity/src/app/app-routing.module.spec.ts new file mode 100644 index 0000000..d68ef06 --- /dev/null +++ b/Front/SoftSecurity/src/app/app-routing.module.spec.ts @@ -0,0 +1,13 @@ +import { AppRoutingModule } from './app-routing.module'; + +describe('AppRoutingModule', () => { + let appRoutingModule: AppRoutingModule; + + beforeEach(() => { + appRoutingModule = new AppRoutingModule(); + }); + + it('should create an instance', () => { + expect(appRoutingModule).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/app-routing.module.ts b/Front/SoftSecurity/src/app/app-routing.module.ts new file mode 100644 index 0000000..8f9db14 --- /dev/null +++ b/Front/SoftSecurity/src/app/app-routing.module.ts @@ -0,0 +1,21 @@ +import { NgModule } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { SoftsecurityComponent } from './softsecurity/softsecurity.component'; +import { AlertaDetailComponent } from './alerta-detail/alerta-detail.component'; + + +const routes: Routes = [ + { path: '', redirectTo: '/dashboard', pathMatch: 'full' }, + { path: 'detail/:id', component: AlertaDetailComponent }, + { path: 'alertas', component: SoftsecurityComponent } +]; + +@NgModule({ + imports: [ RouterModule.forRoot(routes) ], + exports: [ RouterModule ] +}) + +export class AppRoutingModule {} + + + diff --git a/Front/SoftSecurity/src/app/app.component.css b/Front/SoftSecurity/src/app/app.component.css new file mode 100644 index 0000000..e48eab8 --- /dev/null +++ b/Front/SoftSecurity/src/app/app.component.css @@ -0,0 +1,32 @@ +/* Application-wide Styles */ +h1 { + color: #5a001b; + font-family: Arial, Helvetica, sans-serif; + font-size: 800%; +} +h2, h3 { + color: #444; + font-family: Arial, Helvetica, sans-serif; + font-weight: lighter; + font-size: 2em; + margin-top: 0; + padding-top: 0; +} +nav a { + padding: 5px 10px; + text-decoration: none; + margin-top: 10px; + display: inline-block; + background-color: #eee; + border-radius: 4px; +} +nav a:visited, a:link { + color: #607D8B; +} +nav a:hover { + color: #039be5; + background-color: #CFD8DC; +} +nav a.active { + color: #039be5; +} diff --git a/Front/SoftSecurity/src/app/app.component.html b/Front/SoftSecurity/src/app/app.component.html new file mode 100644 index 0000000..2b9d366 --- /dev/null +++ b/Front/SoftSecurity/src/app/app.component.html @@ -0,0 +1,19 @@ + + + +
+

{{title}}

+ + + +
+ + + + + + + diff --git a/Front/SoftSecurity/src/app/app.component.spec.ts b/Front/SoftSecurity/src/app/app.component.spec.ts new file mode 100644 index 0000000..bcbdf36 --- /dev/null +++ b/Front/SoftSecurity/src/app/app.component.spec.ts @@ -0,0 +1,27 @@ +import { TestBed, async } from '@angular/core/testing'; +import { AppComponent } from './app.component'; +describe('AppComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }).compileComponents(); + })); + it('should create the app', async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); + it(`should have as title 'app'`, async(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('app'); + })); + it('should render title in a h1 tag', async(() => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to app!'); + })); +}); diff --git a/Front/SoftSecurity/src/app/app.component.ts b/Front/SoftSecurity/src/app/app.component.ts new file mode 100644 index 0000000..0fe0a31 --- /dev/null +++ b/Front/SoftSecurity/src/app/app.component.ts @@ -0,0 +1,10 @@ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'] +}) +export class AppComponent { + title = 'SoftSecurity'; +} diff --git a/Front/SoftSecurity/src/app/app.module.ts b/Front/SoftSecurity/src/app/app.module.ts new file mode 100644 index 0000000..8d2bcf8 --- /dev/null +++ b/Front/SoftSecurity/src/app/app.module.ts @@ -0,0 +1,33 @@ +import { BrowserModule } from '@angular/platform-browser'; +import { NgModule } from '@angular/core'; + +import { AppComponent } from './app.component'; +import { SoftsecurityComponent } from './softsecurity/softsecurity.component'; + +import { FormsModule } from '@angular/forms'; +import { AlertaDetailComponent } from './alerta-detail/alerta-detail.component'; +import { AppRoutingModule } from './/app-routing.module'; +import { MapaComponent } from './mapa/mapa.component'; +import { AlertaComponent } from './alerta/alerta.component'; +import { FalloComponent } from './fallo/fallo.component'; +import { FalloDetailComponent } from './fallo-detail/fallo-detail.component'; + +@NgModule({ + declarations: [ + AppComponent, + SoftsecurityComponent, + AlertaDetailComponent, + MapaComponent, + AlertaComponent, + FalloComponent, + FalloDetailComponent + ], + imports: [ + BrowserModule, + FormsModule, + AppRoutingModule + ], + providers: [], + bootstrap: [AppComponent] +}) +export class AppModule { } diff --git a/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.css b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.html b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.html new file mode 100644 index 0000000..65b1996 --- /dev/null +++ b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.html @@ -0,0 +1,3 @@ +

+ fallo-detail works! +

diff --git a/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.spec.ts b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.spec.ts new file mode 100644 index 0000000..843de29 --- /dev/null +++ b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FalloDetailComponent } from './fallo-detail.component'; + +describe('FalloDetailComponent', () => { + let component: FalloDetailComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FalloDetailComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FalloDetailComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.ts b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.ts new file mode 100644 index 0000000..dbae23b --- /dev/null +++ b/Front/SoftSecurity/src/app/fallo-detail/fallo-detail.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-fallo-detail', + templateUrl: './fallo-detail.component.html', + styleUrls: ['./fallo-detail.component.css'] +}) +export class FalloDetailComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Front/SoftSecurity/src/app/fallo/fallo.component.css b/Front/SoftSecurity/src/app/fallo/fallo.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/SoftSecurity/src/app/fallo/fallo.component.html b/Front/SoftSecurity/src/app/fallo/fallo.component.html new file mode 100644 index 0000000..f30bdc1 --- /dev/null +++ b/Front/SoftSecurity/src/app/fallo/fallo.component.html @@ -0,0 +1,3 @@ +

+ fallo works! +

diff --git a/Front/SoftSecurity/src/app/fallo/fallo.component.spec.ts b/Front/SoftSecurity/src/app/fallo/fallo.component.spec.ts new file mode 100644 index 0000000..23c71e5 --- /dev/null +++ b/Front/SoftSecurity/src/app/fallo/fallo.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FalloComponent } from './fallo.component'; + +describe('FalloComponent', () => { + let component: FalloComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FalloComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FalloComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/fallo/fallo.component.ts b/Front/SoftSecurity/src/app/fallo/fallo.component.ts new file mode 100644 index 0000000..fd27122 --- /dev/null +++ b/Front/SoftSecurity/src/app/fallo/fallo.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-fallo', + templateUrl: './fallo.component.html', + styleUrls: ['./fallo.component.css'] +}) +export class FalloComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/Front/SoftSecurity/src/app/imagenes/alerta.png b/Front/SoftSecurity/src/app/imagenes/alerta.png new file mode 100644 index 0000000000000000000000000000000000000000..dfdf2e2200c7f31fd363966e3ad3d84ac0204dba GIT binary patch literal 3927 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 literal 0 HcmV?d00001 diff --git a/Front/SoftSecurity/src/app/imagenes/mapa.png b/Front/SoftSecurity/src/app/imagenes/mapa.png new file mode 100644 index 0000000000000000000000000000000000000000..ccf8f52be21b2b61cad15b5f6124c5b1bf36dac0 GIT binary patch literal 2678 zcmV-+3W@cJP)tnsg%sl-Nd+ptw_3UYAm7lcQ*?Et7p8xyI`^@{!Dn286 zRxO`vx%F=fa-Bjg6sQ5BD2^*pdn`*fH*Vd%O@Wlt4pq+1?dZAj%8;dboeH$BCIHCkKaVtq!7VT55l~e&4(A?N*{` zZA!>+Q~@YZIR>|_0Ck3XUg_%gTpW!_f>TBxClY;}Fnama=wk%*`fwc~R}Bw-ypvE` zo2X$Vo!6^tnf-%D2`u{(@$NHp{r2aKeEcDXWic=squ!r7XDZ9Q+!Yyq(g;*#IC|b3 z;e^r0Nu!q&MlUCfKAxO$XZ`}%B0@!?i$L@+{?Wq(qKDa~dHHc=E0XrC;;{mpP7H85 zF@U%GY(`f@@kH`?$K5OO&$9@{ItkU+Q2*HDjNW@U)?k>Scsx@8z|()0KCjLRqi@X7 z3(gK&k(}Kb$5DXokpo;Gew)Q3AL2F#Q_5}tj!Ts1ybH3n4@8ZOa|zQ-9&c$G!5G+{ zQhr~vheZb=VOh3)zTEp3+k6#Hrsss_RAKYT9v;_RbW5fq0QZj`W=-^1*7k8%<|VXA z_tT92(bPhb#{ zW{+o9O40N}8zhKB;n86|TeSBc3lhCiUy8cLo!GCRP&)?h|mkFL{N9i*qCsVSRdcix7jg|9K&fRKu z;+yo$kZ@@{cYRY{{qAV5rK2S?iq|`au=;xg!Q>VrLfSXsZDQwcrhtlU2;9shqgOm0@zhNFgrR@rByl(2W zxbeE#L@S(L8x&7j1OV9NYEK@wN|+Va$&~V`(&CW@AKQw2Z~~~aqK_+|-3`rHz?S79dTR4ady~WcrueD6 z-}IDK0D#SUTXM0aaUmn5bF|UVYbzUgEzh;W(nLQm=MnC9lwE*RS~c%$6Jfo|{3KW44&&v|-r;VBXu_)gk+c|;~aMl9>_Z406RyQ z@$~t-IAhMrS|^=p5dfvwq_^{^u?rYqBz5wNYjM)SkPOox!-QmL?EAte$c5FU71wZ? z_EX$xVTo=({X@Joya878V+m?-qIRl+^SUhXvZCmk$=n7Dai@Mc~dx|uln z?K6y1aslQVVeX0TrNuRvGJ@$;Vp54|Tb2ujgu5Lj6TojJcwn@XHL>Fmu+YT*y#WRCz7!hB|jhhY}1<2<7c(@-;w3OVa=_Kzg&~H}r z%kWyZj)nXGIynnqh{om|!`(oird3w)&N2(OQ&9Yc2v! z?WlBUn(8nOIdsmWI&WXGV$`8+5_@~07*qoM6N<$f|Ela0RR91 literal 0 HcmV?d00001 diff --git a/Front/SoftSecurity/src/app/imagenes/menu.png b/Front/SoftSecurity/src/app/imagenes/menu.png new file mode 100644 index 0000000000000000000000000000000000000000..ee459649993e565548fa28c90f331d6d3c7480d8 GIT binary patch literal 4273 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 +

+ \ No newline at end of file diff --git a/Front/SoftSecurity/src/app/mapa/mapa.component.spec.ts b/Front/SoftSecurity/src/app/mapa/mapa.component.spec.ts new file mode 100644 index 0000000..37349b4 --- /dev/null +++ b/Front/SoftSecurity/src/app/mapa/mapa.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { MapaComponent } from './mapa.component'; + +describe('MapaComponent', () => { + let component: MapaComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ MapaComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(MapaComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/mapa/mapa.component.ts b/Front/SoftSecurity/src/app/mapa/mapa.component.ts new file mode 100644 index 0000000..fac4391 --- /dev/null +++ b/Front/SoftSecurity/src/app/mapa/mapa.component.ts @@ -0,0 +1,101 @@ +import { Component, OnInit } from '@angular/core'; +import { ViewChild } from '@angular/core'; +import { } from '@types/googlemaps'; + +@Component({ + selector: 'app-mapa', + templateUrl: './mapa.component.html', + styleUrls: ['./mapa.component.css'] +}) +export class MapaComponent implements OnInit { + + @ViewChild('gmap') gmapElement: any; + map: google.maps.Map; + + latitude: any; + longitude: any; + + startPos: any; + nudge = document.getElementById('nudge'); + nudgeTimeoutId = setTimeout(this.showNudgeBanner, 5000); + + constructor() { } + + ngOnInit() { + const mapProp = { + center: new google.maps.LatLng(4.6015, -74.0664), + zoom: 15, + mapTypeId: google.maps.MapTypeId.ROADMAP + }; + this.map = new google.maps.Map(this.gmapElement.nativeElement, mapProp); + // check for Geolocation support + if (navigator.geolocation) { + console.log('Geolocation is supported!'); + let watchId = navigator.geolocation.watchPosition(function(position) { + this.latitude = position.coords.latitude; + this.longitude = position.coords.longitude; + }); + } else { + console.log('Geolocation is not supported for this Browser/OS.'); + } + + } + + setMapType(mapTypeId: string) { + this.map.setMapTypeId(mapTypeId); + } + + setCenter() { + this.map.setCenter(new google.maps.LatLng(this.latitude, this.longitude)); + + const location = new google.maps.LatLng(this.latitude, this.longitude); + + const marker = new google.maps.Marker({ + position: location, + map: this.map, + title: 'Got you!' + }); + + marker.addListener('click', this.simpleMarkerHandler); + + marker.addListener('click', () => { + this.markerHandler(marker); + }); + } + + simpleMarkerHandler() { + alert('Simple Component\'s function...'); + } + + markerHandler(marker: google.maps.Marker) { + alert('Marker\'s Title: ' + marker.getTitle()); + } + + showNudgeBanner() { + this.nudge.style.display = 'block'; + } + + hideNudgeBanner() { + this.nudge.style.display = 'none'; + } + + geoSuccess(position) { + this.hideNudgeBanner(); + // We have the location, don't display banner + clearTimeout(this.nudgeTimeoutId); + + // Do magic with location + this.startPos = position; + document.getElementById('startLat').innerHTML = this.startPos.coords.latitude; + document.getElementById('startLon').innerHTML = this.startPos.coords.longitude; + } + + geoError(error) { + switch (error.code) { + case error.TIMEOUT: + // The user didn't accept the callout + this.showNudgeBanner(); + break; + } + } +} \ No newline at end of file diff --git a/Front/SoftSecurity/src/app/residencia.ts b/Front/SoftSecurity/src/app/residencia.ts new file mode 100644 index 0000000..571c6c3 --- /dev/null +++ b/Front/SoftSecurity/src/app/residencia.ts @@ -0,0 +1,4 @@ +export class Residencia { + nombre: string; + numero: number; +} diff --git a/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.css b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.css new file mode 100644 index 0000000..e69de29 diff --git a/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.html b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.html new file mode 100644 index 0000000..12194a4 --- /dev/null +++ b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.html @@ -0,0 +1,23 @@ +

{{ residencia.nombre }}

+ +
Numero: {{ residencia.numero }}
+ +
+ +
+ +

Alertas

+
+ + diff --git a/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.spec.ts b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.spec.ts new file mode 100644 index 0000000..40602b8 --- /dev/null +++ b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SoftsecurityComponent } from './softsecurity.component'; + +describe('SoftsecurityComponent', () => { + let component: SoftsecurityComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SoftsecurityComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SoftsecurityComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.ts b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.ts new file mode 100644 index 0000000..6ead0d4 --- /dev/null +++ b/Front/SoftSecurity/src/app/softsecurity/softsecurity.component.ts @@ -0,0 +1,30 @@ +import { Component, OnInit } from '@angular/core'; +import { Residencia } from '../residencia'; +import { Alerta } from '../alerta'; +import { AlertaService } from '../alerta.service'; + +@Component({ + selector: 'app-softsecurity', + templateUrl: './softsecurity.component.html', + styleUrls: ['./softsecurity.component.css'] +}) +export class SoftsecurityComponent implements OnInit { + + residencia: Residencia = { + nombre: 'Residencia 1', + numero: 1 + }; + + alertas: Alerta[]; + + constructor( private alertaService: AlertaService ) { } + + getAlertas(): void { + this.alertaService.getAlertas().subscribe(alertas => this.alertas = alertas); + } + + ngOnInit() { + this.getAlertas(); + } + +} diff --git a/Front/SoftSecurity/src/assets/.gitkeep b/Front/SoftSecurity/src/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/Front/SoftSecurity/src/browserslist b/Front/SoftSecurity/src/browserslist new file mode 100644 index 0000000..8e09ab4 --- /dev/null +++ b/Front/SoftSecurity/src/browserslist @@ -0,0 +1,9 @@ +# This file is currently used by autoprefixer to adjust CSS to support the below specified browsers +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries +# For IE 9-11 support, please uncomment the last line of the file and adjust as needed +> 0.5% +last 2 versions +Firefox ESR +not dead +# IE 9-11 \ No newline at end of file diff --git a/Front/SoftSecurity/src/environments/environment.prod.ts b/Front/SoftSecurity/src/environments/environment.prod.ts new file mode 100644 index 0000000..3612073 --- /dev/null +++ b/Front/SoftSecurity/src/environments/environment.prod.ts @@ -0,0 +1,3 @@ +export const environment = { + production: true +}; diff --git a/Front/SoftSecurity/src/environments/environment.ts b/Front/SoftSecurity/src/environments/environment.ts new file mode 100644 index 0000000..012182e --- /dev/null +++ b/Front/SoftSecurity/src/environments/environment.ts @@ -0,0 +1,15 @@ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build ---prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +export const environment = { + production: false +}; + +/* + * In development mode, to ignore zone related error stack frames such as + * `zone.run`, `zoneDelegate.invokeTask` for easier debugging, you can + * import the following file, but please comment it out in production mode + * because it will have performance impact when throw error + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/Front/SoftSecurity/src/favicon.ico b/Front/SoftSecurity/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8081c7ceaf2be08bf59010158c586170d9d2d517 GIT binary patch literal 5430 zcmc(je{54#6vvCoAI3i*G5%$U7!sA3wtMZ$fH6V9C`=eXGJb@R1%(I_{vnZtpD{6n z5Pl{DmxzBDbrB>}`90e12m8T*36WoeDLA&SD_hw{H^wM!cl_RWcVA!I+x87ee975; z@4kD^=bYPn&pmG@(+JZ`rqQEKxW<}RzhW}I!|ulN=fmjVi@x{p$cC`)5$a!)X&U+blKNvN5tg=uLvuLnuqRM;Yc*swiexsoh#XPNu{9F#c`G zQLe{yWA(Y6(;>y|-efAy11k<09(@Oo1B2@0`PtZSkqK&${ zgEY}`W@t{%?9u5rF?}Y7OL{338l*JY#P!%MVQY@oqnItpZ}?s z!r?*kwuR{A@jg2Chlf0^{q*>8n5Ir~YWf*wmsh7B5&EpHfd5@xVaj&gqsdui^spyL zB|kUoblGoO7G(MuKTfa9?pGH0@QP^b#!lM1yHWLh*2iq#`C1TdrnO-d#?Oh@XV2HK zKA{`eo{--^K&MW66Lgsktfvn#cCAc*(}qsfhrvOjMGLE?`dHVipu1J3Kgr%g?cNa8 z)pkmC8DGH~fG+dlrp(5^-QBeEvkOvv#q7MBVLtm2oD^$lJZx--_=K&Ttd=-krx(Bb zcEoKJda@S!%%@`P-##$>*u%T*mh+QjV@)Qa=Mk1?#zLk+M4tIt%}wagT{5J%!tXAE;r{@=bb%nNVxvI+C+$t?!VJ@0d@HIyMJTI{vEw0Ul ze(ha!e&qANbTL1ZneNl45t=#Ot??C0MHjjgY8%*mGisN|S6%g3;Hlx#fMNcL<87MW zZ>6moo1YD?P!fJ#Jb(4)_cc50X5n0KoDYfdPoL^iV`k&o{LPyaoqMqk92wVM#_O0l z09$(A-D+gVIlq4TA&{1T@BsUH`Bm=r#l$Z51J-U&F32+hfUP-iLo=jg7Xmy+WLq6_tWv&`wDlz#`&)Jp~iQf zZP)tu>}pIIJKuw+$&t}GQuqMd%Z>0?t%&BM&Wo^4P^Y z)c6h^f2R>X8*}q|bblAF?@;%?2>$y+cMQbN{X$)^R>vtNq_5AB|0N5U*d^T?X9{xQnJYeU{ zoZL#obI;~Pp95f1`%X3D$Mh*4^?O?IT~7HqlWguezmg?Ybq|7>qQ(@pPHbE9V?f|( z+0xo!#m@Np9PljsyxBY-UA*{U*la#8Wz2sO|48_-5t8%_!n?S$zlGe+NA%?vmxjS- zHE5O3ZarU=X}$7>;Okp(UWXJxI%G_J-@IH;%5#Rt$(WUX?6*Ux!IRd$dLP6+SmPn= z8zjm4jGjN772R{FGkXwcNv8GBcZI#@Y2m{RNF_w8(Z%^A*!bS*!}s6sh*NnURytky humW;*g7R+&|Ledvc-=_ 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 literal 0 HcmV?d00001 diff --git a/Front/SoftSecurity/src/index.html b/Front/SoftSecurity/src/index.html new file mode 100644 index 0000000..f614d02 --- /dev/null +++ b/Front/SoftSecurity/src/index.html @@ -0,0 +1,41 @@ + + + + + SoftSecurity + + + + + + + + +
+

SoftSecurity

+
+
+
+ + + + + + + diff --git a/Front/SoftSecurity/src/karma.conf.js b/Front/SoftSecurity/src/karma.conf.js new file mode 100644 index 0000000..b6e0042 --- /dev/null +++ b/Front/SoftSecurity/src/karma.conf.js @@ -0,0 +1,31 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, '../coverage'), + reports: ['html', 'lcovonly'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false + }); +}; \ No newline at end of file diff --git a/Front/SoftSecurity/src/main.ts b/Front/SoftSecurity/src/main.ts new file mode 100644 index 0000000..fc71950 --- /dev/null +++ b/Front/SoftSecurity/src/main.ts @@ -0,0 +1,13 @@ +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.log(err)); + diff --git a/Front/SoftSecurity/src/polyfills.ts b/Front/SoftSecurity/src/polyfills.ts new file mode 100644 index 0000000..d310405 --- /dev/null +++ b/Front/SoftSecurity/src/polyfills.ts @@ -0,0 +1,80 @@ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/docs/ts/latest/guide/browser-support.html + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE9, IE10 and IE11 requires all of the following polyfills. **/ +// import 'core-js/es6/symbol'; +// import 'core-js/es6/object'; +// import 'core-js/es6/function'; +// import 'core-js/es6/parse-int'; +// import 'core-js/es6/parse-float'; +// import 'core-js/es6/number'; +// import 'core-js/es6/math'; +// import 'core-js/es6/string'; +// import 'core-js/es6/date'; +// import 'core-js/es6/array'; +// import 'core-js/es6/regexp'; +// import 'core-js/es6/map'; +// import 'core-js/es6/weak-map'; +// import 'core-js/es6/set'; + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** IE10 and IE11 requires the following for the Reflect API. */ +// import 'core-js/es6/reflect'; + + +/** Evergreen browsers require these. **/ +// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove. +import 'core-js/es7/reflect'; + + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + **/ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + */ + + // (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + // (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + // (window as any).__zone_symbol__BLACK_LISTED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + + /* + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + */ +// (window as any).__Zone_enable_cross_context_check = true; + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. + + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/Front/SoftSecurity/src/styles.css b/Front/SoftSecurity/src/styles.css new file mode 100644 index 0000000..6b100f7 --- /dev/null +++ b/Front/SoftSecurity/src/styles.css @@ -0,0 +1,85 @@ +/* You can add global styles to this file, and also import other style files */ +* { + margin:0px; + padding:0px; + font-family: verdana; + color:#919293; +} + +div#menu { + position:absolute; + width:85px; + height:100%; + background-color:#2f3030; + overflow:hidden; + -webkit-transition: width 0.5s; +} + +div#menu:hover { + width:170px; +} + +div#logo-principal { + width:65px; + height:65px; + margin:10px; + background-image: url(app/imagenes/menu.png); +} + +div.logo-alerta { + width:65px; + height:65px; + margin:10px; + background-image: url(app/imagenes/alerta.png); + float:left; +} + +div.logo-mapa { + width:65px; + height:65px; + margin:10px; + background-image: url(app/imagenes/mapa.png); + float:left; +} +body { + + background-image: url(app/imagenes/seguridad.jpg); + background-position: center center; + background-repeat: no-repeat; + background-attachment: fixed; + background-size: cover; + background-color: #08697a; + +} + +div.funciones { + width:150px; + height:65px; +} + +div#funciones-izq { + +} + +p.texto { + margin-left:80px; + line-height:75px; +} + +p.textoSoft { + margin-left:100px; + line-height:75px; + font-size:180%; +} + +div#sesion { + position:absolute; + width:100%; + height:75px; + background-color:#2f3030; +} + +div.perfil { + margin-left:1000px; + line-height:75px; +} \ No newline at end of file diff --git a/Front/SoftSecurity/src/test.ts b/Front/SoftSecurity/src/test.ts new file mode 100644 index 0000000..1631789 --- /dev/null +++ b/Front/SoftSecurity/src/test.ts @@ -0,0 +1,20 @@ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/Front/SoftSecurity/src/tsconfig.app.json b/Front/SoftSecurity/src/tsconfig.app.json new file mode 100644 index 0000000..722c370 --- /dev/null +++ b/Front/SoftSecurity/src/tsconfig.app.json @@ -0,0 +1,12 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/app", + "module": "es2015", + "types": [] + }, + "exclude": [ + "src/test.ts", + "**/*.spec.ts" + ] +} diff --git a/Front/SoftSecurity/src/tsconfig.spec.json b/Front/SoftSecurity/src/tsconfig.spec.json new file mode 100644 index 0000000..8f7cede --- /dev/null +++ b/Front/SoftSecurity/src/tsconfig.spec.json @@ -0,0 +1,19 @@ +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "outDir": "../out-tsc/spec", + "module": "commonjs", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "test.ts", + "polyfills.ts" + ], + "include": [ + "**/*.spec.ts", + "**/*.d.ts" + ] +} diff --git a/Front/SoftSecurity/src/tslint.json b/Front/SoftSecurity/src/tslint.json new file mode 100644 index 0000000..52e2c1a --- /dev/null +++ b/Front/SoftSecurity/src/tslint.json @@ -0,0 +1,17 @@ +{ + "extends": "../tslint.json", + "rules": { + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ] + } +}