diff --git a/project-manager/package.json b/project-manager/package.json index b27e03a..ce07f8a 100644 --- a/project-manager/package.json +++ b/project-manager/package.json @@ -17,14 +17,14 @@ }, "private": true, "dependencies": { - "@angular/common": "^4.0.0", - "@angular/compiler": "^4.0.0", - "@angular/core": "^4.0.0", - "@angular/forms": "^4.0.0", - "@angular/http": "^4.0.0", - "@angular/platform-browser": "^4.0.0", - "@angular/platform-browser-dynamic": "^4.0.0", - "@angular/router": "^4.0.0", + "@angular/common": "4.0.0", + "@angular/compiler": "4.0.0", + "@angular/core": "4.0.0", + "@angular/forms": "4.0.0", + "@angular/http": "4.0.0", + "@angular/platform-browser": "4.0.0", + "@angular/platform-browser-dynamic": "4.0.0", + "@angular/router": "4.0.0", "bootstrap": "^3.3.7", "core-js": "^2.4.1", "jquery": "^3.1.0", @@ -38,7 +38,7 @@ }, "devDependencies": { "@angular/cli": "1.0.0", - "@angular/compiler-cli": "^4.0.0", + "@angular/compiler-cli": "4.0.0", "@types/jasmine": "2.5.38", "@types/node": "~6.0.60", "@types/socket.io-client": "^1.4.26", diff --git a/project-manager/src/app/about/about.component.ts b/project-manager/src/app/about/about.component.ts index c407e6c..43b49b6 100644 --- a/project-manager/src/app/about/about.component.ts +++ b/project-manager/src/app/about/about.component.ts @@ -8,6 +8,7 @@ import {Component} from '@angular/core'; }) export class AboutComponent { - constructor() {} + constructor() { + } } diff --git a/project-manager/src/app/app.component.css b/project-manager/src/app/app.component.css index b1b56d5..fcdca7f 100644 --- a/project-manager/src/app/app.component.css +++ b/project-manager/src/app/app.component.css @@ -13,11 +13,11 @@ li { padding-right: 15px; } - .right { float: right; width: 300px; } + .left { float: left; width: calc(100% - 300px); diff --git a/project-manager/src/app/app.component.html b/project-manager/src/app/app.component.html index e9cc263..c4d5474 100644 --- a/project-manager/src/app/app.component.html +++ b/project-manager/src/app/app.component.html @@ -50,24 +50,25 @@
  • @@ -81,10 +82,10 @@
    -
    - -
    - +
    + +
    +
    diff --git a/project-manager/src/app/app.component.ts b/project-manager/src/app/app.component.ts index f21143a..0137fa1 100644 --- a/project-manager/src/app/app.component.ts +++ b/project-manager/src/app/app.component.ts @@ -33,7 +33,7 @@ export class AppComponent { ngOnInit() { this.defaultTitle = this.titleService.getTitle(); this.router.events - //.do(event => console.log(event)) + //.do(event => console.log(event)) .filter(event => event instanceof NavigationEnd) .subscribe(event => { this.setBrowserTitle(); @@ -41,7 +41,7 @@ export class AppComponent { this.taskService.tasks$.subscribe((tasks) => { this.numberInProgress = tasks.filter( - (task:Task)=> task.state === 'IN_PROGRESS').length; + (task: Task) => task.state === 'IN_PROGRESS').length; }); } @@ -51,7 +51,7 @@ export class AppComponent { let title = this.defaultTitle; let route = this.activatedRoute; // firstChild gibt die Haupt-Kindroute der übergebenen Route zurück - while(route.firstChild) { + while (route.firstChild) { console.log() route = route.firstChild; title = route.snapshot.data['title'] || title; diff --git a/project-manager/src/app/app.routing.ts b/project-manager/src/app/app.routing.ts index 60b7e20..bf7cadb 100644 --- a/project-manager/src/app/app.routing.ts +++ b/project-manager/src/app/app.routing.ts @@ -15,11 +15,11 @@ import {ModelDrivenFormComponent} from "./model-driven-form/model-driven-form.co export const appRoutes: Routes = [ {path: 'dashboard', component: DashboardComponent, data: {title: 'Startseite'}}, {path: '', redirectTo: '/dashboard', pathMatch: 'full'}, - {path: 'settings', component: SettingsComponent, data: { title: 'Einstellungen' }}, + {path: 'settings', component: SettingsComponent, data: {title: 'Einstellungen'}}, {path: 'about', component: AboutComponent, data: {title: 'Über uns'}}, {path: 'rxdemo', component: RxDemoComponent, data: {title: 'RxJS Demo'}}, {path: 'blog', component: BlogComponent, data: {title: 'Blog'}}, - {path: 'model-form', component: ModelDrivenFormComponent, data: { title: 'Model Driven Task Form' }}, + {path: 'model-form', component: ModelDrivenFormComponent, data: {title: 'Model Driven Task Form'}}, {path: 'login', component: LoginComponent}, diff --git a/project-manager/src/app/blog/blog-entry/blog-entry.component.html b/project-manager/src/app/blog/blog-entry/blog-entry.component.html index e7c99b9..59c747a 100644 --- a/project-manager/src/app/blog/blog-entry/blog-entry.component.html +++ b/project-manager/src/app/blog/blog-entry/blog-entry.component.html @@ -1,14 +1,14 @@
    -
    - -
    -
    - {{entry.title}} -

    {{entry.text}}

    -
    -
    - -
    +
    + +
    +
    + {{entry.title}} +

    {{entry.text}}

    +
    +
    + +

    created at: diff --git a/project-manager/src/app/blog/blog-entry/blog-entry.component.spec.ts b/project-manager/src/app/blog/blog-entry/blog-entry.component.spec.ts index ff2f6b7..65b55ac 100644 --- a/project-manager/src/app/blog/blog-entry/blog-entry.component.spec.ts +++ b/project-manager/src/app/blog/blog-entry/blog-entry.component.spec.ts @@ -12,9 +12,9 @@ describe('Blog Entry Isolated Test', () => { declarations: [BlogEntryComponent] }); const fixture = TestBed.createComponent(BlogEntryComponent); - const blogEntryComponent : BlogEntryComponent = fixture.componentInstance; + const blogEntryComponent: BlogEntryComponent = fixture.componentInstance; const element = fixture.nativeElement; - const blogEntry : BlogEntry = new BlogEntry; + const blogEntry: BlogEntry = new BlogEntry; // Testdaten const testId = 101; @@ -60,19 +60,19 @@ describe('Blog Entry Isolated Test', () => { describe('BlogEntryComp -> BlogComp Relational Test', () => { - it ('should remove entry from BlogComponent on "delete" button click', () => { + it('should remove entry from BlogComponent on "delete" button click', () => { TestBed.configureTestingModule({ imports: [RouterTestingModule.withRoutes([])], declarations: [BlogEntryComponent, BlogComponent] }); const entryFixture = TestBed.createComponent(BlogEntryComponent); - const entryInstance : BlogEntryComponent = entryFixture.componentInstance; + const entryInstance: BlogEntryComponent = entryFixture.componentInstance; const blogFixture = TestBed.createComponent(BlogComponent); - const blogInstance : BlogComponent = blogFixture.componentInstance; + const blogInstance: BlogComponent = blogFixture.componentInstance; - const blogEntry : BlogEntry = blogInstance.entries[0]; + const blogEntry: BlogEntry = blogInstance.entries[0]; entryInstance.entry = blogEntry; entryInstance.blogComponent = blogInstance; diff --git a/project-manager/src/app/blog/blog-entry/blog-entry.component.ts b/project-manager/src/app/blog/blog-entry/blog-entry.component.ts index 933e4aa..e2a688b 100644 --- a/project-manager/src/app/blog/blog-entry/blog-entry.component.ts +++ b/project-manager/src/app/blog/blog-entry/blog-entry.component.ts @@ -11,7 +11,7 @@ export class BlogEntryComponent { @Input() blogComponent: BlogComponent; @Input() entry: BlogEntry; - deleteBlogEntry(id:number) { + deleteBlogEntry(id: number) { this.blogComponent.deleteBlogEntry(id); } diff --git a/project-manager/src/app/blog/blog-entry/blog-entry.ts b/project-manager/src/app/blog/blog-entry/blog-entry.ts index e37f920..a443de5 100644 --- a/project-manager/src/app/blog/blog-entry/blog-entry.ts +++ b/project-manager/src/app/blog/blog-entry/blog-entry.ts @@ -1,5 +1,5 @@ export class BlogEntry { - id : number; + id: number; title: string; text: string; image: string; diff --git a/project-manager/src/app/blog/blog.component.html b/project-manager/src/app/blog/blog.component.html index 88f701e..404bcbf 100644 --- a/project-manager/src/app/blog/blog.component.html +++ b/project-manager/src/app/blog/blog.component.html @@ -6,11 +6,11 @@
    - +
    - +
    diff --git a/project-manager/src/app/blog/blog.component.spec.ts b/project-manager/src/app/blog/blog.component.spec.ts index afca773..18e1b80 100644 --- a/project-manager/src/app/blog/blog.component.spec.ts +++ b/project-manager/src/app/blog/blog.component.spec.ts @@ -5,7 +5,7 @@ describe('Blog Component Isolated Test', () => { let blogComponent: BlogComponent; beforeEach(() => { - blogComponent = new BlogComponent(null, null, null); + blogComponent = new BlogComponent(null, null, null); }); it('should have initial entries', () => { diff --git a/project-manager/src/app/blog/blog.component.ts b/project-manager/src/app/blog/blog.component.ts index f2091ac..9393440 100644 --- a/project-manager/src/app/blog/blog.component.ts +++ b/project-manager/src/app/blog/blog.component.ts @@ -29,11 +29,11 @@ export class BlogComponent { title: "Neue Vorschläge für die kommende Module-Loader-Syntax", image: "https://cdn-images-1.medium.com/max/1000/1*RQFLsbQumE-iNrXzs_Oz8g.jpeg", text: "Nachdem im ES2015-Standard bereits die Module-API verabschiedet wurde, hat das zuständige Konsortium nun neue Vorschläge für die Module-Loader-Syntax bekannt gegeben...", - createdAt : null + createdAt: null } ]; this.entries = initialEntries; - this.entries.forEach((entry)=> { + this.entries.forEach((entry) => { entry.createdAt = new Date(); if (this.id < entry.id) { this.id = entry.id; @@ -41,7 +41,7 @@ export class BlogComponent { }); } - createBlogEntry(title:string, image:string, text:string) { + createBlogEntry(title: string, image: string, text: string) { this.id++; let entry = new BlogEntry(); entry.id = this.id; @@ -53,7 +53,7 @@ export class BlogComponent { this.entries.push(entry); } - deleteBlogEntry(id:number) { + deleteBlogEntry(id: number) { let entryIndex = this.entries.findIndex(entry => entry.id === id); if (entryIndex >= 0) { this.entries.splice(entryIndex, 1); diff --git a/project-manager/src/app/dashboard/dashboard.component.ts b/project-manager/src/app/dashboard/dashboard.component.ts index 718277b..1186875 100644 --- a/project-manager/src/app/dashboard/dashboard.component.ts +++ b/project-manager/src/app/dashboard/dashboard.component.ts @@ -11,6 +11,7 @@ import {Title} from '@angular/platform-browser'; export class DashboardComponent { title: string; + constructor(r: ActivatedRoute, private router: Router, private titleService: Title) { } @@ -22,6 +23,7 @@ export class DashboardComponent { this.titleService.setTitle(this.title); } } + ngOnDestroy() { this.titleService.setTitle(this.originalTitle); } diff --git a/project-manager/src/app/login/login.component.css b/project-manager/src/app/login/login.component.css index 2b060ac..33641f3 100644 --- a/project-manager/src/app/login/login.component.css +++ b/project-manager/src/app/login/login.component.css @@ -1,19 +1,18 @@ -.form-signin -{ +.form-signin { max-width: 330px; padding: 15px; margin: 0 auto; } -.form-signin .form-signin-heading, .form-signin .checkbox -{ + +.form-signin .form-signin-heading, .form-signin .checkbox { margin-bottom: 10px; } -.form-signin .checkbox -{ + +.form-signin .checkbox { font-weight: normal; } -.form-signin .form-control -{ + +.form-signin .form-control { position: relative; font-size: 16px; height: auto; @@ -22,24 +21,24 @@ -moz-box-sizing: border-box; box-sizing: border-box; } -.form-signin .form-control:focus -{ + +.form-signin .form-control:focus { z-index: 2; } -.form-signin input[type="text"] -{ + +.form-signin input[type="text"] { margin-bottom: -1px; border-bottom-left-radius: 0; border-bottom-right-radius: 0; } -.form-signin input[type="password"] -{ + +.form-signin input[type="password"] { margin-bottom: 10px; border-top-left-radius: 0; border-top-right-radius: 0; } -.account-wall -{ + +.account-wall { margin-top: 20px; padding: 40px 0px 20px 0px; background-color: #f7f7f7; @@ -47,15 +46,15 @@ -webkit-box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.3); } -.login-title -{ + +.login-title { color: #555; font-size: 18px; font-weight: 400; display: block; } -.profile-img -{ + +.profile-img { width: 96px; height: 96px; margin: 0 auto 10px; @@ -64,12 +63,12 @@ -webkit-border-radius: 50%; border-radius: 50%; } -.need-help -{ + +.need-help { margin-top: 10px; } -.new-account -{ + +.new-account { display: block; margin-top: 10px; } diff --git a/project-manager/src/app/login/login.component.html b/project-manager/src/app/login/login.component.html index 1d01cd0..f93934f 100644 --- a/project-manager/src/app/login/login.component.html +++ b/project-manager/src/app/login/login.component.html @@ -1,14 +1,14 @@
    diff --git a/project-manager/src/app/login/login.component.ts b/project-manager/src/app/login/login.component.ts index 12a5e3a..6714344 100644 --- a/project-manager/src/app/login/login.component.ts +++ b/project-manager/src/app/login/login.component.ts @@ -9,7 +9,7 @@ import {NgForm} from "@angular/forms"; styleUrls: ['./login.component.css'] }) export class LoginComponent { - @ViewChild(NgForm) form : NgForm; + @ViewChild(NgForm) form: NgForm; constructor(private loginService: LoginService, diff --git a/project-manager/src/app/login/login.guard.ts b/project-manager/src/app/login/login.guard.ts index e2da7a8..99ca894 100644 --- a/project-manager/src/app/login/login.guard.ts +++ b/project-manager/src/app/login/login.guard.ts @@ -1,10 +1,12 @@ -import { Injectable } from '@angular/core'; -import {CanActivate, - Router, - ActivatedRouteSnapshot, - RouterStateSnapshot } from '@angular/router'; -import { Observable } from 'rxjs/Observable'; -import { LoginService } from "../services/login-service/login-service"; +import {Injectable} from '@angular/core'; +import { + CanActivate, + Router, + ActivatedRouteSnapshot, + RouterStateSnapshot +} from '@angular/router'; +import {Observable} from 'rxjs/Observable'; +import {LoginService} from "../services/login-service/login-service"; @Injectable() export class LoginGuard implements CanActivate { diff --git a/project-manager/src/app/mocks/mock-socket.ts b/project-manager/src/app/mocks/mock-socket.ts index 8fd09b4..e7d5234 100644 --- a/project-manager/src/app/mocks/mock-socket.ts +++ b/project-manager/src/app/mocks/mock-socket.ts @@ -1,14 +1,16 @@ export class MockSocket { emit(action, data) { } + addEventListener(l) { } + removeEventListener(l) { } } export function mockIO(): any { - return new MockSocket(); -} \ No newline at end of file + return new MockSocket(); +} diff --git a/project-manager/src/app/model-driven-form/model-driven-form.component.html b/project-manager/src/app/model-driven-form/model-driven-form.component.html index 8fa0b91..2bd466a 100644 --- a/project-manager/src/app/model-driven-form/model-driven-form.component.html +++ b/project-manager/src/app/model-driven-form/model-driven-form.component.html @@ -28,14 +28,14 @@
    - +
    diff --git a/project-manager/src/app/model-driven-form/model-driven-form.component.spec.ts b/project-manager/src/app/model-driven-form/model-driven-form.component.spec.ts index 1fd905a..dea929f 100644 --- a/project-manager/src/app/model-driven-form/model-driven-form.component.spec.ts +++ b/project-manager/src/app/model-driven-form/model-driven-form.component.spec.ts @@ -4,12 +4,15 @@ import {ModelDrivenFormComponent} from './model-driven-form.component'; import {UserService} from '../services/user-service/user.service'; import {TaskServiceModelForm} from "../services/task-service/task-model-form.service"; import {ShowErrorComponentModelDriven} from "../show-error/show-error-model-driven.component"; -import {generateRandomString} from "../../test/test.helper"; +import {generateRandomString} from "../test/test.helper"; describe('Model Driven Form', () => { - let fixture ; - let form ; + // ModelDrivenFormComponent Fixture + let fixture; + + // main FormGroup + let form; beforeEach(() => { TestBed.configureTestingModule({ @@ -30,16 +33,20 @@ describe('Model Driven Form', () => { it('should show error on tag name provided with gt 0 and lt 3', () => { // "add tag" Aufruf starten -> neue FormGroup wird erstellt - const tagControlGroup : FormGroup = fixture.componentInstance.createTagControl() + const tagControlGroup: FormGroup = fixture.componentInstance.createTagControl() const tagLabel = tagControlGroup.get('label'); expectErrorOnInput(tagLabel, ''); + expectErrorOnInput(tagLabel, 'xyz'); expectErrorOnInput(tagLabel, 'xy', {requiredLength: 3, actualLength: 2}, 'minlength'); }); it('should show error in description gt 2000 signs', () => { const descriptionControl = form.get('description'); expectErrorOnInput(descriptionControl, generateRandomString(2000)); - expectErrorOnInput(descriptionControl, generateRandomString(2001), {requiredLength: 2000, actualLength: 2001}, 'maxlength'); + expectErrorOnInput(descriptionControl, generateRandomString(2001), { + requiredLength: 2000, + actualLength: 2001 + }, 'maxlength'); }); it('should show error on email not matching email-pattern', () => { @@ -52,16 +59,17 @@ describe('Model Driven Form', () => { expectErrorOnInput(assigneeEMail, 'test@web.de'); }); - function expectErrorOnInput(formControl, inputString, expectedErrorObject?, expectedErrorAttribute?){ + // helper method + // check for error object according to given input value + function expectErrorOnInput(formControl, inputString, expectedErrorObject?, expectedErrorAttribute?) { formControl.setValue(inputString); if (expectedErrorObject && expectedErrorAttribute) { - expect(formControl.errors[expectedErrorAttribute]).toEqual(expectedErrorObject); + expect(formControl.errors[expectedErrorAttribute]).toEqual(expectedErrorObject); } else if (expectedErrorObject) { - expect(formControl.errors).toEqual(expectedErrorObject); + expect(formControl.errors).toEqual(expectedErrorObject); } else { expect(formControl.errors).toBeNull(); } } - }); diff --git a/project-manager/src/app/model-driven-form/model-driven-form.component.ts b/project-manager/src/app/model-driven-form/model-driven-form.component.ts index 88ea84d..615f029 100644 --- a/project-manager/src/app/model-driven-form/model-driven-form.component.ts +++ b/project-manager/src/app/model-driven-form/model-driven-form.component.ts @@ -2,7 +2,7 @@ import {Component} from '@angular/core'; import {FormGroup, FormArray, FormControl, FormBuilder, Validators} from '@angular/forms'; import {Task, createInitialTask} from '../models/model-interfaces'; import * as model from '../models/model-interfaces'; -import {ifNotBacklogThanAssignee, emailValidator, UserExistsValidatorDirective} from '../models/app-validators'; +import {ifNotBacklogThanAssignee, emailValidator, UserExistsValidatorDirective} from '../models/app-validators'; import {UserService} from '../services/user-service/user.service'; import {TaskServiceModelForm} from "../services/task-service/task-model-form.service"; @@ -42,21 +42,21 @@ export class ModelDrivenFormComponent { this.tagsArray = this.taskForm.controls['tags']; /* - this.taskForm = new FormGroup({ - title: new FormControl(''), - description: new FormControl(''), - favorite: new FormControl(false), - state: new FormControl('BACKLOG'), - tags: new FormArray([ - new FormGroup({ - label: new FormControl('') - }) - ]), - assignee: new FormGroup({ - name: new FormControl(''), - email: new FormControl('') - }), - });*/ + this.taskForm = new FormGroup({ + title: new FormControl(''), + description: new FormControl(''), + favorite: new FormControl(false), + state: new FormControl('BACKLOG'), + tags: new FormArray([ + new FormGroup({ + label: new FormControl('') + }) + ]), + assignee: new FormGroup({ + name: new FormControl(''), + email: new FormControl('') + }), + });*/ } private createTagControl(): FormGroup { @@ -82,7 +82,7 @@ export class ModelDrivenFormComponent { } loadTask(id: number) { - const task : Task = this.taskService.getTask(id); + const task: Task = this.taskService.getTask(id); this.adjustTagsArray(task.tags); this.taskForm.patchValue(task); this.task = task; @@ -94,7 +94,7 @@ export class ModelDrivenFormComponent { while (tagCount > this.tagsArray.controls.length) { this.addTag(); } - while (tagCount < this.tagsArray.controls.length) { + while (tagCount < this.tagsArray.controls.length) { this.removeTag(0); } } diff --git a/project-manager/src/app/models/app-validators.ts b/project-manager/src/app/models/app-validators.ts index dd10e22..4244814 100644 --- a/project-manager/src/app/models/app-validators.ts +++ b/project-manager/src/app/models/app-validators.ts @@ -16,7 +16,7 @@ export function asyncIfNotBacklogThenAssignee(control): Promise { return promise; } -export function ifNotBacklogThanAssignee(formGroup: FormControl): {[key: string]: any} { +export function ifNotBacklogThanAssignee(formGroup: FormControl): { [key: string]: any } { const nameControl = formGroup.get('assignee.name'); const stateControl = formGroup.get('state'); if (!nameControl || !stateControl) { @@ -39,7 +39,7 @@ export function ifNotBacklogThanAssignee(formGroup: FormControl): {[key: string] }) export class IfNotBacklogThanAssigneeValidatorDirective { - public validate(formGroup: AbstractControl): {[key: string]: any} { + public validate(formGroup: AbstractControl): { [key: string]: any } { const nameControl = formGroup.get('assignee.name'); const stateControl = formGroup.get('state'); if (!nameControl || !stateControl) { @@ -61,7 +61,7 @@ export class IfNotBacklogThanAssigneeValidatorDirective { }] }) export class EmailValidatorDirective { - validate(control: AbstractControl): {[key: string]: any} { + validate(control: AbstractControl): { [key: string]: any } { const re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; if (!control.value || control.value === '' || re.test(control.value)) { return null; @@ -71,11 +71,11 @@ export class EmailValidatorDirective { } } -export function emailValidator(control): {[key: string]: any} { +export function emailValidator(control): { [key: string]: any } { return new EmailValidatorDirective().validate(control); } -export function emailValidator2(control): {[key: string]: any} { +export function emailValidator2(control): { [key: string]: any } { const re = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i; if (!control.value || control.value === '' || re.test(control.value)) { return null; @@ -100,7 +100,7 @@ export class UserExistsValidatorDirective { validate(control: AbstractControl): Observable { return this.userService.checkUserExists(control.value) .map(userExists => { - return (userExists === false) ? {userNotFound: true} :null; + return (userExists === false) ? {userNotFound: true} : null; }); } } diff --git a/project-manager/src/app/models/model-interfaces.ts b/project-manager/src/app/models/model-interfaces.ts index 8cb80ca..e025d36 100644 --- a/project-manager/src/app/models/model-interfaces.ts +++ b/project-manager/src/app/models/model-interfaces.ts @@ -55,9 +55,9 @@ export const stateTexts = { 'COMPLETED': 'Abgeschlossen' }; -export const statesAsObjects = [{ name: 'BACKLOG', text: 'Backlog'}, - { name: 'IN_PROGRESS', text: 'In Bearbeitung'}, - { name: 'TEST', text: 'Test'}, - { name: 'COMPLETED', text: 'Abgeschlossen'}]; +export const statesAsObjects = [{name: 'BACKLOG', text: 'Backlog'}, + {name: 'IN_PROGRESS', text: 'In Bearbeitung'}, + {name: 'TEST', text: 'Test'}, + {name: 'COMPLETED', text: 'Abgeschlossen'}]; diff --git a/project-manager/src/app/not-found/not-found.component.ts b/project-manager/src/app/not-found/not-found.component.ts index 2b3306b..da584de 100644 --- a/project-manager/src/app/not-found/not-found.component.ts +++ b/project-manager/src/app/not-found/not-found.component.ts @@ -1,4 +1,4 @@ -import { Component, OnInit } from '@angular/core'; +import {Component, OnInit} from '@angular/core'; @Component({ selector: 'app-not-found', @@ -7,7 +7,8 @@ import { Component, OnInit } from '@angular/core'; }) export class NotFoundComponent implements OnInit { - constructor() {} + constructor() { + } ngOnInit() { } diff --git a/project-manager/src/app/rxdemo/rxdemo.component.css b/project-manager/src/app/rxdemo/rxdemo.component.css index ef51b85..81f5ea2 100644 --- a/project-manager/src/app/rxdemo/rxdemo.component.css +++ b/project-manager/src/app/rxdemo/rxdemo.component.css @@ -1,20 +1,20 @@ ul { - list-style-type: none; - padding-left: 10px; + list-style-type: none; + padding-left: 10px; } li { - font-family: "Courier New"; - font-size: small; + font-family: "Courier New"; + font-size: small; } button { - margin-bottom: 10px; + margin-bottom: 10px; } #square { - background-color: red; - height: 100px; - width: 100px; - display: block; -} \ No newline at end of file + background-color: red; + height: 100px; + width: 100px; + display: block; +} diff --git a/project-manager/src/app/rxdemo/rxdemo.component.html b/project-manager/src/app/rxdemo/rxdemo.component.html index 2b07aa9..b980eda 100644 --- a/project-manager/src/app/rxdemo/rxdemo.component.html +++ b/project-manager/src/app/rxdemo/rxdemo.component.html @@ -86,7 +86,7 @@

    Behavior Subject

    - - - - -
    - + +
    - -
    - - -
    - -

    Zuständiger

    -
    -
    - - -
    -
    - - - -
    -
    - - + + +
    + + +
    + +

    Zuständiger

    +
    +
    + + +
    +
    + + + +
    +
    + + - + diff --git a/project-manager/src/app/tasks/edit-task/edit-task.component.js b/project-manager/src/app/tasks/edit-task/edit-task.component.js index efd5a96..fabbf65 100644 --- a/project-manager/src/app/tasks/edit-task/edit-task.component.js +++ b/project-manager/src/app/tasks/edit-task/edit-task.component.js @@ -1,80 +1,89 @@ -import { ViewChild, Component } from '@angular/core'; -import { Title } from '@angular/platform-browser'; -import { Router, ActivatedRoute } from '@angular/router'; -import { Location } from '@angular/common'; -import { NgForm } from '@angular/forms'; -import { createInitialTask } from '../../models/model-interfaces'; -import { TaskService } from '../../services/task-service/task.service'; +import {ViewChild, Component} from '@angular/core'; +import {Title} from '@angular/platform-browser'; +import {Router, ActivatedRoute} from '@angular/router'; +import {Location} from '@angular/common'; +import {NgForm} from '@angular/forms'; +import {createInitialTask} from '../../models/model-interfaces'; +import {TaskService} from '../../services/task-service/task.service'; import * as model from '../../models/model-interfaces'; export var EditTaskComponent = (function () { - function EditTaskComponent(route, taskService, router, titleService, location) { - this.route = route; - this.taskService = taskService; - this.router = router; - this.titleService = titleService; - this.location = location; - this.model = model; - this.task = createInitialTask(); - this.saved = false; + function EditTaskComponent(route, taskService, router, titleService, location) { + this.route = route; + this.taskService = taskService; + this.router = router; + this.titleService = titleService; + this.location = location; + this.model = model; + this.task = createInitialTask(); + this.saved = false; + } + + EditTaskComponent.prototype.ngOnInit = function () { + var _this = this; + this.subscription = this.route.params + .map(function (params) { + return params['id']; + }) + .filter(function (id) { + return id != undefined; + }) + .flatMap(function (id) { + return _this.taskService.getTask(id); + }) + .subscribe(function (task) { + _this.task = task; + }); + }; + EditTaskComponent.prototype.ngOnDestroy = function () { + this.subscription.unsubscribe(); + }; + EditTaskComponent.prototype.addTag = function () { + this.task.tags.push({label: ''}); + return false; + }; + EditTaskComponent.prototype.removeTag = function (i) { + this.task.tags.splice(i, 1); + return false; + }; + EditTaskComponent.prototype.saveTask = function () { + var _this = this; + this.taskService.saveTask(this.task).subscribe(function (task) { + _this.saved = true; + var relativeUrl = _this.router.url.includes('edit') ? '../..' : '..'; + _this.router.navigate([relativeUrl], {relativeTo: _this.route}); + }); + }; + EditTaskComponent.prototype.cancel = function () { + //this.location.back(); + var relativeUrl = this.router.url.includes('edit') ? '../..' : '..'; + this.router.navigate([relativeUrl], {relativeTo: this.route}); + return false; + }; + EditTaskComponent.prototype.canDeactivate = function () { + if (this.saved || !this.form.dirty) { + return true; } - EditTaskComponent.prototype.ngOnInit = function () { - var _this = this; - this.subscription = this.route.params - .map(function (params) { return params['id']; }) - .filter(function (id) { return id != undefined; }) - .flatMap(function (id) { return _this.taskService.getTask(id); }) - .subscribe(function (task) { - _this.task = task; - }); - }; - EditTaskComponent.prototype.ngOnDestroy = function () { - this.subscription.unsubscribe(); - }; - EditTaskComponent.prototype.addTag = function () { - this.task.tags.push({ label: '' }); - return false; - }; - EditTaskComponent.prototype.removeTag = function (i) { - this.task.tags.splice(i, 1); - return false; - }; - EditTaskComponent.prototype.saveTask = function () { - var _this = this; - this.taskService.saveTask(this.task).subscribe(function (task) { - _this.saved = true; - var relativeUrl = _this.router.url.includes('edit') ? '../..' : '..'; - _this.router.navigate([relativeUrl], { relativeTo: _this.route }); - }); - }; - EditTaskComponent.prototype.cancel = function () { - //this.location.back(); - var relativeUrl = this.router.url.includes('edit') ? '../..' : '..'; - this.router.navigate([relativeUrl], { relativeTo: this.route }); - return false; - }; - EditTaskComponent.prototype.canDeactivate = function () { - if (this.saved || !this.form.dirty) { - return true; - } - return window.confirm("Ihr Formular besitzt ungespeicherte \u00C4nderungen, m\u00F6chten Sie die Seite wirklich verlassen?"); - }; - EditTaskComponent.decorators = [ - { type: Component, args: [{ - templateUrl: './edit-task.component.html', - styleUrls: ['./edit-task.component.css'] - },] }, - ]; - /** @nocollapse */ - EditTaskComponent.ctorParameters = [ - { type: ActivatedRoute, }, - { type: TaskService, }, - { type: Router, }, - { type: Title, }, - { type: Location, }, - ]; - EditTaskComponent.propDecorators = { - 'form': [{ type: ViewChild, args: [NgForm,] },], - }; - return EditTaskComponent; + return window.confirm("Ihr Formular besitzt ungespeicherte \u00C4nderungen, m\u00F6chten Sie die Seite wirklich verlassen?"); + }; + EditTaskComponent.decorators = [ + { + type: Component, args: [{ + templateUrl: './edit-task.component.html', + styleUrls: ['./edit-task.component.css'] + },] + }, + ]; + /** @nocollapse */ + EditTaskComponent.ctorParameters = [ + {type: ActivatedRoute,}, + {type: TaskService,}, + {type: Router,}, + {type: Title,}, + {type: Location,}, + ]; + EditTaskComponent.propDecorators = { + 'form': [{type: ViewChild, args: [NgForm,]},], + }; + return EditTaskComponent; }()); -//# sourceMappingURL=edit-task.component.js.map \ No newline at end of file +//# sourceMappingURL=edit-task.component.js.map diff --git a/project-manager/src/app/tasks/edit-task/edit-task.component.js.map b/project-manager/src/app/tasks/edit-task/edit-task.component.js.map index dc5259e..45d3777 100644 --- a/project-manager/src/app/tasks/edit-task/edit-task.component.js.map +++ b/project-manager/src/app/tasks/edit-task/edit-task.component.js.map @@ -1 +1,10 @@ -{"version":3,"file":"edit-task.component.js","sourceRoot":"","sources":["edit-task.component.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{ + "version": 3, + "file": "edit-task.component.js", + "sourceRoot": "", + "sources": [ + "edit-task.component.ts" + ], + "names": [], + "mappings": "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" +} diff --git a/project-manager/src/app/tasks/edit-task/edit-task.component.spec.ts b/project-manager/src/app/tasks/edit-task/edit-task.component.spec.ts new file mode 100644 index 0000000..e69de29 diff --git a/project-manager/src/app/tasks/edit-task/edit-task.component.ts b/project-manager/src/app/tasks/edit-task/edit-task.component.ts index d73041e..3616e68 100644 --- a/project-manager/src/app/tasks/edit-task/edit-task.component.ts +++ b/project-manager/src/app/tasks/edit-task/edit-task.component.ts @@ -26,8 +26,7 @@ export class EditTaskComponent { subscription: Subscription; - constructor( - private route: ActivatedRoute, + constructor(private route: ActivatedRoute, private taskService: TaskService, private router: Router, private titleService: Title, @@ -53,7 +52,7 @@ export class EditTaskComponent { return false; } - removeTag(i:number) { + removeTag(i: number) { this.task.tags.splice(i, 1); return false; } @@ -75,7 +74,7 @@ export class EditTaskComponent { return false; } - canDeactivate() : boolean { + canDeactivate(): boolean { if (this.saved || !this.form.dirty) { return true; } diff --git a/project-manager/src/app/tasks/edit-task/edit-task.guard.js b/project-manager/src/app/tasks/edit-task/edit-task.guard.js index 6526933..9df1633 100644 --- a/project-manager/src/app/tasks/edit-task/edit-task.guard.js +++ b/project-manager/src/app/tasks/edit-task/edit-task.guard.js @@ -1,15 +1,16 @@ -import { Injectable } from '@angular/core'; +import {Injectable} from '@angular/core'; export var EditTaskGuard = (function () { - function EditTaskGuard() { - } - EditTaskGuard.prototype.canDeactivate = function (component, route, router) { - return component.canDeactivate(); - }; - EditTaskGuard.decorators = [ - { type: Injectable }, - ]; - /** @nocollapse */ - EditTaskGuard.ctorParameters = []; - return EditTaskGuard; + function EditTaskGuard() { + } + + EditTaskGuard.prototype.canDeactivate = function (component, route, router) { + return component.canDeactivate(); + }; + EditTaskGuard.decorators = [ + {type: Injectable}, + ]; + /** @nocollapse */ + EditTaskGuard.ctorParameters = []; + return EditTaskGuard; }()); -//# sourceMappingURL=edit-task.guard.js.map \ No newline at end of file +//# sourceMappingURL=edit-task.guard.js.map diff --git a/project-manager/src/app/tasks/edit-task/edit-task.guard.js.map b/project-manager/src/app/tasks/edit-task/edit-task.guard.js.map index 47de599..1e9fbd5 100644 --- a/project-manager/src/app/tasks/edit-task/edit-task.guard.js.map +++ b/project-manager/src/app/tasks/edit-task/edit-task.guard.js.map @@ -1 +1,10 @@ -{"version":3,"file":"edit-task.guard.js","sourceRoot":"","sources":["edit-task.guard.ts"],"names":[],"mappings":"OAAO,EAAE,UAAU,EAAE,MAAS,eAAe;AAM7C;IAAA;IAcA,CAAC;IAZC,qCAAa,GAAb,UAAc,SAA4B,EAC5B,KAA6B,EAC7B,MAA2B;QAEvC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IACI,wBAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,4BAAc,GAA6D,EACjF,CAAC;IACF,oBAAC;AAAD,CAAC,AAdD,IAcC"} \ No newline at end of file +{ + "version": 3, + "file": "edit-task.guard.js", + "sourceRoot": "", + "sources": [ + "edit-task.guard.ts" + ], + "names": [], + "mappings": "OAAO,EAAE,UAAU,EAAE,MAAS,eAAe;AAM7C;IAAA;IAcA,CAAC;IAZC,qCAAa,GAAb,UAAc,SAA4B,EAC5B,KAA6B,EAC7B,MAA2B;QAEvC,MAAM,CAAC,SAAS,CAAC,aAAa,EAAE,CAAC;IACnC,CAAC;IACI,wBAAU,GAA0B;QAC3C,EAAE,IAAI,EAAE,UAAU,EAAE;KACnB,CAAC;IACF,kBAAkB;IACX,4BAAc,GAA6D,EACjF,CAAC;IACF,oBAAC;AAAD,CAAC,AAdD,IAcC" +} diff --git a/project-manager/src/app/tasks/edit-task/edit-task.guard.ts b/project-manager/src/app/tasks/edit-task/edit-task.guard.ts index 46b56d4..cbdab94 100644 --- a/project-manager/src/app/tasks/edit-task/edit-task.guard.ts +++ b/project-manager/src/app/tasks/edit-task/edit-task.guard.ts @@ -1,15 +1,14 @@ -import { Injectable } from '@angular/core'; +import {Injectable} from '@angular/core'; import {ActivatedRouteSnapshot, RouterStateSnapshot, CanDeactivate} from '@angular/router'; -import { Observable } from 'rxjs/Observable'; +import {Observable} from 'rxjs/Observable'; import {EditTaskComponent} from "./edit-task.component"; @Injectable() -export class EditTaskGuard implements CanDeactivate{ +export class EditTaskGuard implements CanDeactivate { canDeactivate(component: EditTaskComponent, route: ActivatedRouteSnapshot, - router: RouterStateSnapshot) - : Observable | boolean { + router: RouterStateSnapshot): Observable | boolean { return component.canDeactivate(); } } diff --git a/project-manager/src/app/tasks/task-list/task-item.component.css b/project-manager/src/app/tasks/task-list/task-item.component.css index de48bd6..898b169 100644 --- a/project-manager/src/app/tasks/task-list/task-item.component.css +++ b/project-manager/src/app/tasks/task-list/task-item.component.css @@ -1,52 +1,77 @@ div.task-list-entry, a.task-list-entry { - padding: 8px; - width: 525px; - border-radius: 2px; - border: lightgrey solid 1px; - cursor: pointer; - margin-bottom: -1px; + padding: 8px; + width: 525px; + border-radius: 2px; + border: lightgrey solid 1px; + cursor: pointer; + margin-bottom: -1px; } .marked { - background: lightgrey; + background: lightgrey; } span { - cursor: pointer; + cursor: pointer; } + a { - font-size: x-large; - font-weight: 700; + font-size: x-large; + font-weight: 700; } + small { - color: grey; + color: grey; } .trash { - padding-top: 18px; - font-size: 17px; - margin-left: -10px; + padding-top: 18px; + font-size: 17px; + margin-left: -10px; } .selected { - background-color: aliceblue; + background-color: aliceblue; } -@-webkit-keyframes fadeIn { from { opacity:0; } to { opacity:1; } } -@-moz-keyframes fadeIn { from { opacity:0; } to { opacity:1; } } -@keyframes fadeIn { from { opacity:0; } to { opacity:1; } } +@-webkit-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@-moz-keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} + +@keyframes fadeIn { + from { + opacity: 0; + } + to { + opacity: 1; + } +} .fade-in { - opacity:0; /* make things invisible upon start */ - -webkit-animation:fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */ - -moz-animation:fadeIn ease-in 1; - animation:fadeIn ease-in 1; + opacity: 0; /* make things invisible upon start */ + -webkit-animation: fadeIn ease-in 1; /* call our keyframe named fadeIn, use animattion ease-in and repeat it only 1 time */ + -moz-animation: fadeIn ease-in 1; + animation: fadeIn ease-in 1; - -webkit-animation-fill-mode:forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/ - -moz-animation-fill-mode:forwards; - animation-fill-mode:forwards; + -webkit-animation-fill-mode: forwards; /* this makes sure that after animation is done we remain at the last keyframe value (opacity: 1)*/ + -moz-animation-fill-mode: forwards; + animation-fill-mode: forwards; - -webkit-animation-duration:0.5s; - -moz-animation-duration:0.5s; - animation-duration:0.5s; -} \ No newline at end of file + -webkit-animation-duration: 0.5s; + -moz-animation-duration: 0.5s; + animation-duration: 0.5s; +} diff --git a/project-manager/src/app/tasks/task-list/task-item.component.ts b/project-manager/src/app/tasks/task-list/task-item.component.ts index f6fce8b..2ac272d 100644 --- a/project-manager/src/app/tasks/task-list/task-item.component.ts +++ b/project-manager/src/app/tasks/task-list/task-item.component.ts @@ -8,7 +8,7 @@ import {Task} from '../../models/model-interfaces'; styleUrls: ['./task-item.component.css'], changeDetection: ChangeDetectionStrategy.OnPush, inputs: ['task', 'selected'], - outputs: ['taskSelected' , 'taskDelete'], + outputs: ['taskSelected', 'taskDelete'], }) export class TaskItemComponent { @@ -17,12 +17,13 @@ export class TaskItemComponent { checkCounter = 0; - taskSelected = new EventEmitter(); + taskSelected = new EventEmitter(); taskDelete = new EventEmitter(); constructor(private router: Router) { } + select() { this.taskSelected.emit(this.task.id) } @@ -33,7 +34,7 @@ export class TaskItemComponent { ngAfterViewChecked() { //var taskId = (this.task ? this.task.id : ''); - // console.log(`Task ${taskId} checked ${++this.checkCounter} times`) + // console.log(`Task ${taskId} checked ${++this.checkCounter} times`) } } diff --git a/project-manager/src/app/tasks/task-list/task-list.component.css b/project-manager/src/app/tasks/task-list/task-list.component.css index 553f9a6..f42aa33 100644 --- a/project-manager/src/app/tasks/task-list/task-list.component.css +++ b/project-manager/src/app/tasks/task-list/task-list.component.css @@ -1,8 +1,8 @@ .search-bar { - padding-top: 20px; - padding-bottom: 20px; + padding-top: 20px; + padding-bottom: 20px; } .task-list { - width: 525px; + width: 525px; } diff --git a/project-manager/src/app/tasks/task-list/task-list.component.ts b/project-manager/src/app/tasks/task-list/task-list.component.ts index 720c57d..0a1e299 100644 --- a/project-manager/src/app/tasks/task-list/task-list.component.ts +++ b/project-manager/src/app/tasks/task-list/task-list.component.ts @@ -40,15 +40,15 @@ export class TaskListComponent implements OnInit { Observable.merge(paramsStream, searchTermStream) .distinctUntilChanged() - .switchMap(query => this.taskService.findTasks(query)) + .switchMap(query => this.taskService.findTasks(query)) .subscribe(); /* - this.tasks$ = Observable.merge(paramsStream, searchTermStream) - .distinctUntilChanged() - .switchMap(query => this.taskService.findTasks(query)); - */ + this.tasks$ = Observable.merge(paramsStream, searchTermStream) + .distinctUntilChanged() + .switchMap(query => this.taskService.findTasks(query)); + */ } @@ -58,13 +58,13 @@ export class TaskListComponent implements OnInit { selectTask(taskId: string | number) { this.selectedTaskId = taskId; - this.router.navigate([ {outlets: {'right': [ 'overview' , taskId]}}], {relativeTo: this.route}); + this.router.navigate([{outlets: {'right': ['overview', taskId]}}], {relativeTo: this.route}); } findTasks(queryString: string) { - // jetzt über type-ahead gelöst - // this.tasks$ = this.taskService.findTasks(queryString); - // this.adjustBrowserUrl(queryString); + // jetzt über type-ahead gelöst + // this.tasks$ = this.taskService.findTasks(queryString); + // this.adjustBrowserUrl(queryString); } adjustBrowserUrl(queryString = '') { diff --git a/project-manager/src/app/tasks/task-overview/task-overview.component.css b/project-manager/src/app/tasks/task-overview/task-overview.component.css index ca39f6b..c62e2f3 100644 --- a/project-manager/src/app/tasks/task-overview/task-overview.component.css +++ b/project-manager/src/app/tasks/task-overview/task-overview.component.css @@ -1,12 +1,12 @@ .label-small { - font-size: 50%; - z-index: 10; + font-size: 50%; + z-index: 10; } .overview { - border-left: thin solid lightgrey; - padding-left: 10px; - padding-top: 20px; - margin-left: 10px; - height: 100vh; + border-left: thin solid lightgrey; + padding-left: 10px; + padding-top: 20px; + margin-left: 10px; + height: 100vh; } diff --git a/project-manager/src/app/tasks/task-overview/task-overview.component.html b/project-manager/src/app/tasks/task-overview/task-overview.component.html index ff00297..1b39995 100644 --- a/project-manager/src/app/tasks/task-overview/task-overview.component.html +++ b/project-manager/src/app/tasks/task-overview/task-overview.component.html @@ -24,7 +24,8 @@

    Status

    -