Vor erster Präsentation am 29.8.2022
This commit is contained in:
parent
5f3a5605fe
commit
f6c23c2d2b
@ -45,7 +45,8 @@ import { MatOption } from '@angular/material/core';
|
|||||||
import { MatSelectModule } from '@angular/material/select';
|
import { MatSelectModule } from '@angular/material/select';
|
||||||
import { PruefungsergebnisComponent } from './pruefungsergebnis/pruefungsergebnis.component';
|
import { PruefungsergebnisComponent } from './pruefungsergebnis/pruefungsergebnis.component';
|
||||||
import { MatDatepickerModule } from '@angular/material/datepicker';
|
import { MatDatepickerModule } from '@angular/material/datepicker';
|
||||||
|
import {MatTabsModule} from '@angular/material/tabs';
|
||||||
|
import {MatRadioModule} from '@angular/material/radio';
|
||||||
@NgModule({
|
@NgModule({
|
||||||
imports: [
|
imports: [
|
||||||
HttpClientModule,
|
HttpClientModule,
|
||||||
@ -68,7 +69,9 @@ import { MatDatepickerModule } from '@angular/material/datepicker';
|
|||||||
NgbModule,
|
NgbModule,
|
||||||
MatCardModule,
|
MatCardModule,
|
||||||
MatSelectModule,
|
MatSelectModule,
|
||||||
MatDatepickerModule
|
MatDatepickerModule,
|
||||||
|
MatTabsModule,
|
||||||
|
MatRadioModule
|
||||||
],
|
],
|
||||||
declarations: [
|
declarations: [
|
||||||
AppComponent,
|
AppComponent,
|
||||||
|
@ -1 +1,3 @@
|
|||||||
<p>ausbildung works!</p>
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
|
Ausbildung
|
||||||
|
</div>
|
||||||
|
@ -1 +1,3 @@
|
|||||||
<p>beruf works!</p>
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
|
Beruf
|
||||||
|
</div>
|
@ -1,10 +1,7 @@
|
|||||||
<script>
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
const someTabTriggerEl = document.querySelector('#someTabTrigger')
|
Übersicht der Ausbildung
|
||||||
const tab = new bootstrap.Tab(someTabTriggerEl)
|
</div>
|
||||||
tab.show()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<div class="col-md-1"> </div>
|
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<mat-form-field appearance="standard">
|
<mat-form-field appearance="standard">
|
||||||
<mat-label>Filter</mat-label>
|
<mat-label>Filter</mat-label>
|
||||||
@ -53,36 +50,23 @@
|
|||||||
aria-label="Seite wählen">
|
aria-label="Seite wählen">
|
||||||
</mat-paginator>
|
</mat-paginator>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="container col-md-8 mat-elevation-z8 bg-white" id="lehrlingTab">
|
<div class="container col-md-8 mat-elevation-z8 bg-white" id="lehrlingTab">
|
||||||
<ul class="nav nav-tabs" id="myTab" role="tablist">
|
<div class="ueberschrift">Lehrling</div>
|
||||||
<li class="nav-item" role="presentation">
|
<mat-tab-group mat-align-tabs="start">
|
||||||
<button class="nav-link active" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Home</button>
|
<mat-tab label="Kompetenz">
|
||||||
</li>
|
<br><br>Hier werden die erworbenen und noch fehlenden Kompetenzen des ausgewählten Lehrlings angezeigt
|
||||||
<li class="nav-item" role="presentation">
|
</mat-tab>
|
||||||
<button class="nav-link" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Profile</button>
|
<mat-tab label="Module">
|
||||||
</li>
|
<br><br>Hier werden die erworbenen und noch fehlenden Module des ausgewählten Lehrlings angezeigt
|
||||||
<li class="nav-item" role="presentation">
|
</mat-tab>
|
||||||
<button class="nav-link" id="messages-tab" data-bs-toggle="tab" data-bs-target="#messages" type="button" role="tab" aria-controls="messages" aria-selected="false">Messages</button>
|
<mat-tab label="Prüfungen">
|
||||||
</li>
|
<br><br>Hier werden die absolvierten und noch fehlenden Prüfungen des ausgewählten Lehrlings angezeigt
|
||||||
<li class="nav-item" role="presentation">
|
</mat-tab>
|
||||||
<button class="nav-link" id="settings-tab" data-bs-toggle="tab" data-bs-target="#settings" type="button" role="tab" aria-controls="settings" aria-selected="false">Settings</button>
|
<mat-tab label="Anmerkungen">
|
||||||
</li>
|
<br><br>Hier können Anmerkungen zum ausgewählten Lehrlings angezeigt oder eingetragen werden.
|
||||||
</ul>
|
</mat-tab>
|
||||||
|
</mat-tab-group>
|
||||||
<div class="tab-content">
|
|
||||||
<div class="tab-pane active" id="home" role="tabpanel" aria-labelledby="home-tab" tabindex="0">...</div>
|
|
||||||
<div class="tab-pane" id="profile" role="tabpanel" aria-labelledby="profile-tab" tabindex="0">...</div>
|
|
||||||
<div class="tab-pane" id="messages" role="tabpanel" aria-labelledby="messages-tab" tabindex="0">...</div>
|
|
||||||
<div class="tab-pane" id="settings" role="tabpanel" aria-labelledby="settings-tab" tabindex="0">...</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<script>
|
|
||||||
const firstTabEl = document.querySelector('#myTab li:last-child button')
|
|
||||||
const firstTab = new bootstrap.Tab(firstTabEl)
|
|
||||||
|
|
||||||
firstTab.show()
|
|
||||||
</script>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -12,7 +12,7 @@ import { MatPaginatorModule } from '@angular/material/paginator';
|
|||||||
import { MatPaginator} from '@angular/material/paginator';
|
import { MatPaginator} from '@angular/material/paginator';
|
||||||
import { MatSortModule, Sort } from '@angular/material/sort';
|
import { MatSortModule, Sort } from '@angular/material/sort';
|
||||||
import { MatSort } from '@angular/material/sort';
|
import { MatSort } from '@angular/material/sort';
|
||||||
|
import {MatTabsModule} from '@angular/material/tabs';
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-dash',
|
selector: 'app-dash',
|
||||||
templateUrl: './dash.component.html',
|
templateUrl: './dash.component.html',
|
||||||
|
@ -1,11 +1,13 @@
|
|||||||
<h3>Übersicht</h3>
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
|
Übersicht
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="row row-cols-1 row-cols-md-3 g-4">
|
<div class="row row-cols-1 row-cols-md-3 g-4">
|
||||||
<div class="col">
|
<div class="col">
|
||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<img src="../../assets/icons/user_klein.png" class="card-img-top" alt="Lehrlinge">
|
<img src="../../assets/icons/user_klein.png" class="card-img-top" alt="Lehrlinge">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">Lehrlinge</h5>
|
<div class="card-title display-6">Lehrlinge</div>
|
||||||
<table class="row-border hover table table-striped">
|
<table class="row-border hover table table-striped">
|
||||||
<thead class="kopf">
|
<thead class="kopf">
|
||||||
<th>Name</th>
|
<th>Name</th>
|
||||||
@ -31,7 +33,7 @@
|
|||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<img src="../../assets/icons/kompetenz.png" class="card-img-top" alt="Kompetenz">
|
<img src="../../assets/icons/kompetenz.png" class="card-img-top" alt="Kompetenz">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">Kompetenzen</h5>
|
<div class="card-title display-6">Kompetenzen</div>
|
||||||
<!-- Hier beginnt die Karte Kompetenzen -->
|
<!-- Hier beginnt die Karte Kompetenzen -->
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead class="kopf">
|
<thead class="kopf">
|
||||||
@ -67,7 +69,7 @@
|
|||||||
<div class="card h-100">
|
<div class="card h-100">
|
||||||
<img src="../../assets/icons/pruefung.png" class="card-img-top" alt="...">
|
<img src="../../assets/icons/pruefung.png" class="card-img-top" alt="...">
|
||||||
<div class="card-body">
|
<div class="card-body">
|
||||||
<h5 class="card-title">Prüfungen</h5>
|
<div class="card-title display-6">Prüfungen</div>
|
||||||
<table class="table table-striped">
|
<table class="table table-striped">
|
||||||
<thead class="kopf">
|
<thead class="kopf">
|
||||||
<th>Prüfung</th>
|
<th>Prüfung</th>
|
||||||
|
@ -1,24 +1,70 @@
|
|||||||
<h3>Kompetenzen</h3>
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
<br>
|
Kompetenzen
|
||||||
|
</div>
|
||||||
|
<div class="container col-5 float-left">
|
||||||
|
<mat-form-field appearance="standard">
|
||||||
|
<mat-label>Filter</mat-label>
|
||||||
|
<input matInput (keyup)="applyFilter($event)" placeholder="Suchbegriff" #input>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
<table class="table table-striped">
|
<table mat-table [dataSource]="dataSource" matSort (matSortChange)="announceSortChange($event)" class="mat-elevation-z8">
|
||||||
<thead class="kopf">
|
<ng-container matColumnDef="competenceid">
|
||||||
<th>Kompetenz</th>
|
<th class="kopf col-2" mat-header-cell *matHeaderCellDef> ID </th>
|
||||||
<th>Beschreibung</th>
|
<td mat-cell *matCellDef="let com"> {{com.competenceid}} </td>
|
||||||
<th class="text-center">Halbtage</th>
|
</ng-container>
|
||||||
<th>Aktion</th>
|
<ng-container matColumnDef="competence">
|
||||||
</thead>
|
<th class="kopf col-2" mat-sort-header mat-header-cell *matHeaderCellDef> Kompetenz </th>
|
||||||
<tbody>
|
<td mat-cell *matCellDef="let com"> {{com.competence}} </td>
|
||||||
<tr *ngFor="let aktkomp of kompetenzen">
|
</ng-container>
|
||||||
<td>{{aktkomp.competence}}</td>
|
<ng-container matColumnDef="competencedescription">
|
||||||
<td>{{aktkomp.competencedescription}}</td>
|
<th class="kopf col-8" mat-sort-header mat-header-cell *matHeaderCellDef> Beschreibung </th>
|
||||||
<td class="text-center">{{aktkomp.dauer}}</td>
|
<td mat-cell *matCellDef="let com"> {{com.competencedescription}} </td>
|
||||||
<td>
|
</ng-container>
|
||||||
<div class="d-grid gap-4 d-md-flex justify-content-md-center">
|
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
||||||
<a mat-mini-fab routerLink="/editkompetenz/{{aktkomp.competenceid}}" class="btn">
|
<tr mat-row
|
||||||
<mat-icon>edit</mat-icon>
|
*matRowDef="let comrow; columns: displayedColumns;"
|
||||||
</a>
|
(click)="onclick(comrow)"
|
||||||
|
></tr>
|
||||||
|
</table>
|
||||||
|
<mat-paginator class="mat-elevation-z8 mt-2" #paginator [pageSizeOptions]="[10, 20, 50]" showFirstLastButtons></mat-paginator>
|
||||||
|
</div>
|
||||||
|
<!-- Edit Bereich -->
|
||||||
|
<div class="container col-6 float-right">
|
||||||
|
<div class="abstandoben"> </div>
|
||||||
|
<div class="ueberschrift mt-3">Kompetenz bearbeiten</div>
|
||||||
|
<div class="container mt-8 mat-elevation-z8 bg-white">
|
||||||
|
|
||||||
|
<form class="form" [formGroup]="editForm" novalidate>
|
||||||
|
<div class="row">
|
||||||
|
<mat-form-field class="col-md-3" appearance="fill">
|
||||||
|
<mat-label>ID</mat-label>
|
||||||
|
<input readonly="true" type="text" matInput formControlName="competenceid" >
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Dauer in Halbtagen</mat-label>
|
||||||
|
<input type="text" matInput formControlName="dauer" >
|
||||||
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
<div class="row">
|
||||||
</tr>
|
<mat-form-field class="col-md-3" appearance="fill">
|
||||||
</table>
|
<mat-label>Kompetenz</mat-label>
|
||||||
|
<input class="col-md-5" appearance="fill" type="text" matInput formControlName="competence">
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<mat-form-field class="col-md-8" appearance="fill">
|
||||||
|
<mat-label>Beschreibung</mat-label>
|
||||||
|
<input type="textarea" matInput formControlName="competencedescription" >
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 " >
|
||||||
|
<button class="btn btn-success" (click)="onEdit()">Speichern</button>
|
||||||
|
<button class="btn btn-cancel p-10" (click)="onCancel()">Abbruch</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@ -1,7 +1,15 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { KompetenzService } from '../services/kompetenz.service';
|
import { KompetenzService } from '../services/kompetenz.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { MatSliderModule } from '@angular/material/slider';
|
import { MatSliderModule } from '@angular/material/slider';
|
||||||
|
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
||||||
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
|
import { MatSort, Sort } from '@angular/material/sort';
|
||||||
|
import { MatPaginator } from '@angular/material/paginator';
|
||||||
|
import { Kompetenz } from '../kompetenz';
|
||||||
|
import { HttpClient, HttpHeaders } from '@angular/common/http';
|
||||||
|
import { FormBuilder, UntypedFormBuilder, Validators } from '@angular/forms';
|
||||||
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-kompetenz',
|
selector: 'app-kompetenz',
|
||||||
@ -11,9 +19,31 @@ import { MatSliderModule } from '@angular/material/slider';
|
|||||||
export class KompetenzComponent implements OnInit {
|
export class KompetenzComponent implements OnInit {
|
||||||
|
|
||||||
public kompetenzen: any;
|
public kompetenzen: any;
|
||||||
|
public selection: any;
|
||||||
|
public dataSource: any;
|
||||||
|
public editForm: any;
|
||||||
|
public aktKompetenzId: any;
|
||||||
|
public aktkompetenz?: Kompetenz;
|
||||||
|
headers: HttpHeaders = new HttpHeaders()
|
||||||
|
.set('Accept', 'application/json');
|
||||||
|
|
||||||
constructor(private Kompetenz: KompetenzService) {
|
|
||||||
|
|
||||||
|
displayedColumns: any = ["competenceid", "competence", "competencedescription"];
|
||||||
|
|
||||||
|
constructor(private Kompetenz: KompetenzService,
|
||||||
|
private _liveAnnouncer: LiveAnnouncer,
|
||||||
|
private formbuilder: FormBuilder,
|
||||||
|
private router: Router,
|
||||||
|
private kompetenzservice: KompetenzService,
|
||||||
|
private activatedRoute: ActivatedRoute,
|
||||||
|
private http: HttpClient,)
|
||||||
|
{
|
||||||
|
this.editForm = this.formbuilder.group({
|
||||||
|
competenceid: [],
|
||||||
|
competence: ['', Validators.required],
|
||||||
|
competencedescription: ['', Validators.required ],
|
||||||
|
dauer: ['']
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
@ -22,7 +52,62 @@ export class KompetenzComponent implements OnInit {
|
|||||||
(
|
(
|
||||||
result: any) => {
|
result: any) => {
|
||||||
this.kompetenzen = result;
|
this.kompetenzen = result;
|
||||||
|
this.dataSource = new MatTableDataSource(this.kompetenzen);
|
||||||
|
this.dataSource.paginator = this.paginator;
|
||||||
|
this.dataSource.sort = this.sort;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
@ViewChild('paginator') paginator: MatPaginator;
|
||||||
|
@ViewChild(MatSort) sort: MatSort;
|
||||||
|
|
||||||
|
ngAfterViewInit() {
|
||||||
|
if(this.dataSource != undefined) {
|
||||||
|
this.dataSource.paginator = this.paginator;
|
||||||
|
this.dataSource.sort = this.sort;
|
||||||
|
console.log(this.dataSource);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
console.log("DataSource undefined in AfterViewInit");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
applyFilter(event: Event) {
|
||||||
|
const filterValue = (event.target as HTMLInputElement).value;
|
||||||
|
this.dataSource.filter = filterValue.trim().toLowerCase();
|
||||||
|
console.log("Filter: " + this.dataSource.filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Announce the change in sort state for assistive technology. */
|
||||||
|
announceSortChange(sortState: Sort) {
|
||||||
|
// This example uses English messages. If your application supports
|
||||||
|
// multiple language, you would internationalize these strings.
|
||||||
|
// Furthermore, you can customize the message to add additional
|
||||||
|
// details about the values being sorted.
|
||||||
|
if (sortState.direction) {
|
||||||
|
this._liveAnnouncer.announce(`Sorted ${sortState.direction}ending`);
|
||||||
|
} else {
|
||||||
|
this._liveAnnouncer.announce('Sorting cleared');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onclick(aktuell: Kompetenz) {
|
||||||
|
this.aktKompetenzId = aktuell.competenceid;
|
||||||
|
console.log("ausgewählt: " + aktuell.competenceid)
|
||||||
|
if (this.aktKompetenzId > 0) {
|
||||||
|
this.kompetenzservice.getSingleKompetenz(this.aktKompetenzId).subscribe((
|
||||||
|
(data: any) => {
|
||||||
|
// console.log(data);
|
||||||
|
this.editForm.patchValue(data);
|
||||||
|
}
|
||||||
|
))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
onEdit(): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
onCancel(): void {
|
||||||
|
this.editForm.reset();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
|
|
||||||
<div class="h4 pb-2 mb-4 text-danger border-bottom border-danger">
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
Teilnehmer zu Ausbildung zuordnen!
|
Teilnehmer zu Ausbildung zuordnen
|
||||||
</div>
|
</div>
|
||||||
<div class="beruf-container">
|
<div class="beruf-container">
|
||||||
<div [formGroup]="ProfessionFormGroup">
|
<div [formGroup]="ProfessionFormGroup">
|
||||||
|
@ -1,4 +1,18 @@
|
|||||||
.table {
|
.table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
.aktzeile {
|
||||||
|
color: red;
|
||||||
|
background: #472ddb;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-row .mat-cell {
|
||||||
|
border-bottom: 1px solid transparent;
|
||||||
|
border-top: 1px solid transparent;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
.mat-row:hover .mat-cell {
|
||||||
|
border-color: currentColor;
|
||||||
|
}
|
@ -1,33 +1,109 @@
|
|||||||
|
|
||||||
<h3>Lehrlinge</h3>
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
<div class="container mb-4">
|
Lehrlinge
|
||||||
<div class="bg-light clearfix">
|
|
||||||
<button type="button" class="btn btn-primary float-left">Neu</button>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<table class="table table-striped">
|
|
||||||
<thead class="kopf">
|
|
||||||
<th>Name</th>
|
|
||||||
<th>Gruppe</th>
|
|
||||||
<th>Geschlecht</th>
|
|
||||||
<th>Geboren</th>
|
|
||||||
<th>Eintritt</th>
|
|
||||||
<th>Austritt</th>
|
|
||||||
<th>Aktion</th>
|
|
||||||
</thead>
|
|
||||||
<tbody>
|
|
||||||
<tr *ngFor="let aktlehrling of lehrlinge">
|
|
||||||
<td>{{aktlehrling.firstname}} {{aktlehrling.lastname}}</td>
|
|
||||||
<td>{{aktlehrling.groupname}}</td>
|
|
||||||
<td>{{aktlehrling.sex}}</td>
|
|
||||||
<td>{{aktlehrling.date_of_birth}}</td>
|
|
||||||
<td>{{aktlehrling.date_joined}}</td>
|
|
||||||
<td>{{aktlehrling.date_leave}}</td>
|
|
||||||
<div class="d-grid gap-4 d-md-flex justify-content-md-center">
|
|
||||||
<a mat-mini-fab routerLink="/editLehrling/{{aktlehrling.lehrlingid}}" class="btn">
|
|
||||||
<mat-icon>edit</mat-icon>
|
|
||||||
</a>
|
|
||||||
</div>
|
</div>
|
||||||
|
<div class="container col-5 float-left">
|
||||||
|
<mat-form-field appearance="standard">
|
||||||
|
<mat-label>Filter</mat-label>
|
||||||
|
<input matInput (keyup)="applyFilter($event)" placeholder="Suchbegriff" #input>
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<table mat-table [dataSource]="dsLehrlinge" class=" table mat-elevation-z8">
|
||||||
|
<!-- Checkbox Column -->
|
||||||
|
<!-- <ng-container class="checkfeld" matColumnDef="select">
|
||||||
|
<th mat-header-cell *matHeaderCellDef>
|
||||||
|
<mat-checkbox (change)="$event ? masterToggle() : null"
|
||||||
|
[checked]="selection.hasValue() && isAllSelected()"
|
||||||
|
[indeterminate]="selection.hasValue() && !isAllSelected()">
|
||||||
|
</mat-checkbox>
|
||||||
|
</th>
|
||||||
|
<td mat-cell *matCellDef="let row">
|
||||||
|
<mat-checkbox (click)="$event.stopPropagation()"
|
||||||
|
(change)="$event ? selection.toggle(row) : null"
|
||||||
|
[checked]="selection.isSelected(row)">
|
||||||
|
</mat-checkbox>
|
||||||
|
</td>
|
||||||
|
</ng-container>
|
||||||
|
-->
|
||||||
|
<ng-container matColumnDef="apprenticeid">
|
||||||
|
<th mat-header-cell *matHeaderCellDef> ID </th>
|
||||||
|
<td mat-cell *matCellDef="let user"> {{user.apprenticeid}} </td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="firstname">
|
||||||
|
<th mat-header-cell *matHeaderCellDef> Vorname </th>
|
||||||
|
<td mat-cell *matCellDef="let user"> {{user.firstname}} </td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="lastname">
|
||||||
|
<th mat-header-cell *matHeaderCellDef> Name </th>
|
||||||
|
<td mat-cell *matCellDef="let user"> {{user.lastname}} </td>
|
||||||
|
</ng-container>
|
||||||
|
<ng-container matColumnDef="groupname">
|
||||||
|
<th mat-header-cell *matHeaderCellDef> Gruppe </th>
|
||||||
|
<td mat-cell *matCellDef="let user"> {{user.groupname}} </td>
|
||||||
|
</ng-container>
|
||||||
|
|
||||||
|
<tr class="kopf" mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
||||||
|
<tr mat-row *matRowDef="let row; columns: displayedColumns;"
|
||||||
|
(click)="onclick(row)"
|
||||||
|
>
|
||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
|
<mat-paginator [pageSizeOptions]="[10, 20, 50]"
|
||||||
|
showFirstLastButtons
|
||||||
|
aria-label="Seite auswählen">
|
||||||
|
</mat-paginator>
|
||||||
|
</div>
|
||||||
|
<!-- Edit Bereich -->
|
||||||
|
<div class="container col-6 float-left">
|
||||||
|
<div class="titel">Lehrling bearbeiten</div>
|
||||||
|
<div class="container mt-8 mat-elevation-z8 bg-white">
|
||||||
|
|
||||||
|
<form class="form" [formGroup]="editForm" novalidate>
|
||||||
|
<div class="row">
|
||||||
|
<mat-form-field class="col-md-3" appearance="fill">
|
||||||
|
<mat-label>ID</mat-label>
|
||||||
|
<input readonly="true" type="text" matInput formControlName="apprenticeid" >
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Vorname</mat-label>
|
||||||
|
<input type="text" matInput formControlName="firstname" >
|
||||||
|
</mat-form-field>
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Nachname</mat-label>
|
||||||
|
<input type="text" matInput formControlName="lastname" >
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Geboren</mat-label>
|
||||||
|
<input class="col-md-5" appearance="fill" type="date" matInput formControlName="date_of_birth">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Geschlecht</mat-label>
|
||||||
|
<input type="textarea" matInput formControlName="sex" >
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Eintritt</mat-label>
|
||||||
|
<input class="col-md-5" appearance="fill" type="date" matInput formControlName="date_joined">
|
||||||
|
</mat-form-field>
|
||||||
|
|
||||||
|
<mat-form-field class="col-md-5" appearance="fill">
|
||||||
|
<mat-label>Austritt</mat-label>
|
||||||
|
<input type="date" matInput formControlName="date_leave" >
|
||||||
|
</mat-form-field>
|
||||||
|
</div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-md-12 " >
|
||||||
|
<button class="btn btn-success" (click)="onEdit()">Speichern</button>
|
||||||
|
<button class="btn btn-cancel p-10" (click)="onCancel()">Abbruch</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,7 +1,14 @@
|
|||||||
import { Component, OnInit } from '@angular/core';
|
import { Component, OnInit, ViewChild } from '@angular/core';
|
||||||
import { LehrlingService } from '../services/lehrling.service';
|
import { LehrlingService } from '../services/lehrling.service';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
import { Lehrling } from '../lehrling';
|
import { Lehrling } from '../lehrling';
|
||||||
|
import { MatTableDataSource } from '@angular/material/table';
|
||||||
|
import { SelectionModel } from '@angular/cdk/collections';
|
||||||
|
import { Router } from '@angular/router';
|
||||||
|
import { UntypedFormBuilder, Validators } from '@angular/forms';
|
||||||
|
import { LiveAnnouncer } from '@angular/cdk/a11y';
|
||||||
|
import { MatSort, Sort } from '@angular/material/sort';
|
||||||
|
import { MatPaginator } from '@angular/material/paginator';
|
||||||
|
|
||||||
@Component({
|
@Component({
|
||||||
selector: 'app-list-lehrlinge',
|
selector: 'app-list-lehrlinge',
|
||||||
@ -10,16 +17,90 @@ import { Lehrling } from '../lehrling';
|
|||||||
})
|
})
|
||||||
export class ListLehrlingeComponent implements OnInit {
|
export class ListLehrlingeComponent implements OnInit {
|
||||||
|
|
||||||
|
public dsLehrlinge?: MatTableDataSource<Lehrling>;
|
||||||
|
selection = new SelectionModel<Lehrling>(true, []);
|
||||||
public lehrlinge: any;
|
public lehrlinge: any;
|
||||||
|
public displayedColumns: any;
|
||||||
|
public editForm: any;
|
||||||
|
public aktlehrling: any;
|
||||||
|
|
||||||
constructor(private Lehrlinge: LehrlingService) { }
|
constructor(private Lehrlinge: LehrlingService,
|
||||||
|
private router: Router,
|
||||||
|
private formbuilder: UntypedFormBuilder,
|
||||||
|
private _liveAnnouncer: LiveAnnouncer,)
|
||||||
|
{
|
||||||
|
this.editForm = this.formbuilder.group({
|
||||||
|
apprenticeid: [],
|
||||||
|
firstname: ['', Validators.required],
|
||||||
|
lastname: ['', Validators.required],
|
||||||
|
groupid: [''],
|
||||||
|
sex: [''],
|
||||||
|
date_of_birth: [''],
|
||||||
|
date_joined: [''],
|
||||||
|
date_leave: ['']
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
ngOnInit(): void {
|
ngOnInit(): void {
|
||||||
|
this.displayedColumns = ["apprenticeid", "firstname", "lastname", "groupname"];
|
||||||
this.Lehrlinge.getLehrlinge().subscribe(
|
this.Lehrlinge.getLehrlinge().subscribe(
|
||||||
(
|
(
|
||||||
data: any) => {
|
data: any) => {
|
||||||
console.log(data);
|
console.log(data);
|
||||||
this.lehrlinge = data.apprentice;
|
this.lehrlinge = data.apprentice;
|
||||||
|
this.dsLehrlinge = this.lehrlinge;
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ViewChild('paginator') paginator: MatPaginator;
|
||||||
|
@ViewChild(MatSort) sort: MatSort;
|
||||||
|
|
||||||
|
ngAfterViewInit() {
|
||||||
|
if(this.dsLehrlinge != undefined) {
|
||||||
|
this.dsLehrlinge.paginator = this.paginator;
|
||||||
|
this.dsLehrlinge.sort = this.sort;
|
||||||
|
// console.log(this.dsLehrlinge);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
console.log("DataSource undefined in AfterViewInit");
|
||||||
|
}
|
||||||
|
|
||||||
|
onclick(aktlehrling: any) {
|
||||||
|
this.aktlehrling = aktlehrling;
|
||||||
|
console.log("ausgewählt: " + aktlehrling.lastname)
|
||||||
|
}
|
||||||
|
/** Selects all rows if they are not all selected; otherwise clear selection. */
|
||||||
|
masterToggle() {
|
||||||
|
this.isAllSelected() ?
|
||||||
|
this.selection.clear() :
|
||||||
|
this.dsLehrlinge.data.forEach(row => this.selection.select(row));
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Whether the number of selected elements matches the total number of rows. */
|
||||||
|
isAllSelected() {
|
||||||
|
console.log(this.selection);
|
||||||
|
const numSelected = this.selection.selected.length;
|
||||||
|
const numRows = this.dsLehrlinge.data.length;
|
||||||
|
return numSelected === numRows;
|
||||||
|
}
|
||||||
|
applyFilter(event: Event) {
|
||||||
|
const filterValue = (event.target as HTMLInputElement).value;
|
||||||
|
this.dsLehrlinge.filter = filterValue.trim().toLowerCase();
|
||||||
|
// console.log("Filter: " + this.dsLehrlinge.filter);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Announce the change in sort state for assistive technology. */
|
||||||
|
announceSortChange(sortState: Sort) {
|
||||||
|
if (sortState.direction) {
|
||||||
|
this._liveAnnouncer.announce(`Sorted ${sortState.direction}ending`);
|
||||||
|
} else {
|
||||||
|
this._liveAnnouncer.announce('Sorting cleared');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
onEdit(): void {
|
||||||
|
|
||||||
|
}
|
||||||
|
onCancel(): void {
|
||||||
|
this.router.navigate(['/list-lehrling']);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,8 +1,7 @@
|
|||||||
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
|
Module
|
||||||
|
</div>
|
||||||
<div class="container col-5 float-left">
|
<div class="container col-5 float-left">
|
||||||
<div class="clearfix">
|
|
||||||
<div class="display-6">Module</div>
|
|
||||||
<button type="button" class="btn btn-primary float-left">Neu</button>
|
|
||||||
</div>
|
|
||||||
<mat-form-field appearance="standard">
|
<mat-form-field appearance="standard">
|
||||||
<mat-label>Filter</mat-label>
|
<mat-label>Filter</mat-label>
|
||||||
<input matInput (keyup)="applyFilter($event)" placeholder="Suchbegriff" #input>
|
<input matInput (keyup)="applyFilter($event)" placeholder="Suchbegriff" #input>
|
||||||
@ -30,3 +29,14 @@
|
|||||||
</table>
|
</table>
|
||||||
<mat-paginator class="mat-elevation-z8 mt-2" #paginator [pageSizeOptions]="[10, 20, 50]" showFirstLastButtons></mat-paginator>
|
<mat-paginator class="mat-elevation-z8 mt-2" #paginator [pageSizeOptions]="[10, 20, 50]" showFirstLastButtons></mat-paginator>
|
||||||
</div>
|
</div>
|
||||||
|
<!-- Edit Bereich -->
|
||||||
|
<div class="container col-6 float-right">
|
||||||
|
|
||||||
|
<div class="titel">Modul bearbeiten</div>
|
||||||
|
<div class="container mt-8 mat-elevation-z8">
|
||||||
|
|
||||||
|
<form>
|
||||||
|
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
@ -32,7 +32,7 @@ export class ModulComponent implements OnInit {
|
|||||||
this.Modulservice.getModule().subscribe(
|
this.Modulservice.getModule().subscribe(
|
||||||
(
|
(
|
||||||
data: any) => {
|
data: any) => {
|
||||||
console.log(data);
|
// console.log(data);
|
||||||
this.module = data.modul;
|
this.module = data.modul;
|
||||||
this.dataSource = new MatTableDataSource(this.module);
|
this.dataSource = new MatTableDataSource(this.module);
|
||||||
this.dataSource.paginator = this.paginator;
|
this.dataSource.paginator = this.paginator;
|
||||||
|
@ -1,2 +1,5 @@
|
|||||||
<h3>Seite wurde nicht gefunden!</h3>
|
|
||||||
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
|
Seite wurde nicht gefunden!
|
||||||
|
</div>
|
||||||
|
|
||||||
|
@ -4,14 +4,24 @@
|
|||||||
|
|
||||||
.row-is-clicked {
|
.row-is-clicked {
|
||||||
color: red;
|
color: red;
|
||||||
background-color: #fdf9e9;
|
background: #472ddb;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-row.hovered {
|
.mat-row.hovered {
|
||||||
background: #eee;
|
background: rgb(228, 238, 255);
|
||||||
}
|
}
|
||||||
|
|
||||||
.mat-row.highlighted {
|
.mat-row.highlighted {
|
||||||
background: #fdf9e9;
|
background: #d04b2d;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
.radiogruppe {
|
||||||
|
vertical-align: middle;
|
||||||
|
text-align: left;;
|
||||||
|
}
|
||||||
|
.radioknopf {
|
||||||
|
vertical-align: bottom;
|
||||||
|
margin-left: 8px;
|
||||||
|
margin-top: 10px;
|
||||||
}
|
}
|
@ -1,3 +1,6 @@
|
|||||||
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
|
Prüfungsergebnisse
|
||||||
|
</div>
|
||||||
<div class="container col-12 float-left">
|
<div class="container col-12 float-left">
|
||||||
<div class="row">
|
<div class="row">
|
||||||
<div class="auswahl col-6">
|
<div class="auswahl col-6">
|
||||||
@ -24,12 +27,11 @@
|
|||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="row col-12">
|
<div class="row col-12">
|
||||||
<div class="person col-6">
|
<div class="pruefung col-6">
|
||||||
<table mat-table [dataSource]="dataSource" matSort (matSortChange)="announceSortChange($event)" class="mat-elevation-z8">
|
<table mat-table [dataSource]="dataSource" matSort (matSortChange)="announceSortChange($event)" class="mat-elevation-z8 col-12">
|
||||||
<!-- Checkbox Column -->
|
<!-- Checkbox Column -->
|
||||||
<!-- <ng-container matColumnDef="select">
|
<!-- <ng-container matColumnDef="select">
|
||||||
<mat-header-cell class="kopf col-1" *matHeaderCellDef></mat-header-cell>
|
<mat-header-cell class="kopf col-1" *matHeaderCellDef></mat-header-cell>
|
||||||
<mat-cell class="align-bottom" *matCellDef="let pruerow">
|
<mat-cell class="align-bottom" *matCellDef="let pruerow">
|
||||||
<mat-checkbox class="pt-3" (click)="$event.stopPropagation()" (change)="selectHandler(pruerow)"
|
<mat-checkbox class="pt-3" (click)="$event.stopPropagation()" (change)="selectHandler(pruerow)"
|
||||||
@ -37,7 +39,7 @@
|
|||||||
</mat-checkbox>
|
</mat-checkbox>
|
||||||
</mat-cell>
|
</mat-cell>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
-->
|
-->
|
||||||
<ng-container matColumnDef="examid">
|
<ng-container matColumnDef="examid">
|
||||||
<th class="kopf col-1" mat-header-cell *matHeaderCellDef> ID </th>
|
<th class="kopf col-1" mat-header-cell *matHeaderCellDef> ID </th>
|
||||||
<td mat-cell *matCellDef="let prue"> {{prue.examid}} </td>
|
<td mat-cell *matCellDef="let prue"> {{prue.examid}} </td>
|
||||||
@ -51,64 +53,59 @@
|
|||||||
<td mat-cell *matCellDef="let prue"> {{prue.examname}} </td>
|
<td mat-cell *matCellDef="let prue"> {{prue.examname}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="examdescription">
|
<ng-container matColumnDef="examdescription">
|
||||||
<th class="kopf col-5" mat-sort-header mat-header-cell *matHeaderCellDef> Beschreibung </th>
|
<th class="kopf col-6" mat-sort-header mat-header-cell *matHeaderCellDef> Beschreibung </th>
|
||||||
<td mat-cell *matCellDef="let prue"> {{prue.examdescription}} </td>
|
<td mat-cell *matCellDef="let prue"> {{prue.examdescription}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="displayedColumns"></tr>
|
||||||
<tr mat-row
|
<tr mat-row
|
||||||
*matRowDef="let pruerow; columns: displayedColumns;"
|
*matRowDef="let row; columns: displayedColumns;"
|
||||||
(click)="selectHandler(pruerow)" (change)="selectHandler(pruerow)"
|
(click)="onclick(row)" (change)="selectHandler(row)"
|
||||||
[ngClass]="{hovered: pruerow.hovered, highlighted: selection.isSelected(pruerow)}"
|
[ngClass]="{hovered: row.hovered, highlighted: selection.isSelected(row)}"
|
||||||
(mouseover)="pruerow.hovered = true" (mouseout)="pruerow.hovered = false"></tr>
|
(mouseover)="row.hovered = true" (mouseout)="row.hovered = false"></tr>
|
||||||
</table>
|
</table>
|
||||||
<mat-paginator class="mat-elevation-z8 mt-3" #paginator [pageSizeOptions]="[5, 10, 20, 30]" showFirstLastButtons></mat-paginator>
|
<mat-paginator class="mat-elevation-z8 mt-3" #paginator [pageSizeOptions]="[10, 20, 30]" showFirstLastButtons></mat-paginator>
|
||||||
</div>
|
</div>
|
||||||
<div class="pruef col-6">
|
<div class="ergebnis col-6">
|
||||||
<table mat-table [dataSource]="ergdataSource" matSort (matSortChange)="ergannounceSortChange($event)" class="mat-elevation-z8">
|
<table mat-table [dataSource]="ergdataSource" matSort (matSortChange)="ergannounceSortChange($event)" class="mat-elevation-z8">
|
||||||
<!-- Checkbox Column -->
|
|
||||||
<!-- <ng-container matColumnDef="select">
|
|
||||||
<mat-header-cell class="kopf col-1" *matHeaderCellDef></mat-header-cell>
|
|
||||||
<mat-cell class="align-bottom" *matCellDef="let pruerow">
|
|
||||||
<mat-checkbox class="pt-3" (click)="$event.stopPropagation()" (change)="selectHandler(pruerow)"
|
|
||||||
[checked]="selection.isSelected(pruerow)">
|
|
||||||
</mat-checkbox>
|
|
||||||
</mat-cell>
|
|
||||||
</ng-container>
|
|
||||||
-->
|
|
||||||
<ng-container matColumnDef="firstname">
|
<ng-container matColumnDef="firstname">
|
||||||
<th class="kopf col-4" mat-sort-header mat-header-cell *matHeaderCellDef> Vorname </th>
|
<th class="kopf col-3" mat-sort-header mat-header-cell *matHeaderCellDef> Vorname </th>
|
||||||
<td mat-cell *matCellDef="let pers"> {{pers.firstname}} </td>
|
<td mat-cell *matCellDef="let pers"> {{pers.firstname}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="lastname">
|
<ng-container matColumnDef="lastname">
|
||||||
<th class="kopf col-4" mat-sort-header mat-header-cell *matHeaderCellDef> Nachname </th>
|
<th class="kopf col-3" mat-sort-header mat-header-cell *matHeaderCellDef> Nachname </th>
|
||||||
<td mat-cell *matCellDef="let pers"> {{pers.lastname}} </td>
|
<td mat-cell *matCellDef="let pers"> {{pers.lastname}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="date_of_exam">
|
<ng-container matColumnDef="date_of_exam">
|
||||||
<th class="kopf col-2" mat-sort-header mat-header-cell *matHeaderCellDef> Datum </th>
|
<th class="kopf col-2 text-center" mat-sort-header mat-header-cell *matHeaderCellDef> Datum </th>
|
||||||
<td mat-cell *matCellDef="let pers"> {{pers.date_of_exam}} </td>
|
<td mat-cell class="text-left" *matCellDef="let pers"> {{pers.date_of_exam | date:'d.M.y'}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="acquired">
|
<ng-container matColumnDef="acquired">
|
||||||
<th class="kopf text-right col-2" mat-sort-header mat-header-cell *matHeaderCellDef> Bestanden </th>
|
<th class="kopf text-center col-4" mat-sort-header mat-header-cell *matHeaderCellDef>Bestanden </th>
|
||||||
<td mat-cell class="text-center" *matCellDef="let pers">{{pers.acquired}}
|
<mat-radio-group class="radiogruppe" *matCellDef="let pers" [(ngModel)]="pers.acquired">
|
||||||
<!-- <div *ngIf="1">
|
<mat-radio-button class="radioknopf" value="0">ja </mat-radio-button>
|
||||||
<img src="../../assets/icons/ok.png">
|
<mat-radio-button class="radioknopf" value="0">nein</mat-radio-button>
|
||||||
</div> -->
|
</mat-radio-group>
|
||||||
</td>
|
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<tr mat-header-row *matHeaderRowDef="ergdisplayedColumns"></tr>
|
<tr mat-header-row *matHeaderRowDef="ergdisplayedColumns"></tr>
|
||||||
<tr mat-row
|
<tr mat-row
|
||||||
*matRowDef="let persrow; columns: ergdisplayedColumns;"
|
*matRowDef="let persrow; columns: ergdisplayedColumns;"
|
||||||
(click)="selectHandler(persrow)" (change)="selectHandler(persrow)"
|
(click)="onergclick(persrow)" (change)="ergselectHandler(persrow)"
|
||||||
[ngClass]="{hovered: persrow.hovered, highlighted: selection.isSelected(persrow)}"
|
[ngClass]="{hovered: persrow.hovered, highlighted: ergselection.isSelected(persrow)}"
|
||||||
(mouseover)="persrow.hovered = true" (mouseout)="persrow.hovered = false"></tr>
|
(mouseover)="persrow.hovered = true" (mouseout)="persrow.hovered = false"></tr>
|
||||||
</table>
|
</table>
|
||||||
<mat-paginator class="mat-elevation-z8 mt-3" #ergpaginator [pageSizeOptions]="[5, 10, 20, 50]" showFirstLastButtons></mat-paginator>
|
<mat-paginator class="mat-elevation-z8 mt-3" #ergpaginator [pageSizeOptions]="[5, 10, 20, 50]" showFirstLastButtons></mat-paginator>
|
||||||
</div>
|
</div>
|
||||||
|
<div>
|
||||||
|
<h3>
|
||||||
|
Ausgewählte Prüfung:
|
||||||
|
</h3>
|
||||||
|
{{angewaehlt | json}}
|
||||||
</div>
|
</div>
|
||||||
<div>
|
<div>
|
||||||
<h3>
|
<h3>
|
||||||
Ausgewählt:
|
Ausgewähltes Ergebnis:
|
||||||
</h3>
|
</h3>
|
||||||
{{selection.selected | json}}
|
{{ergangewaehlt | json}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
|
@ -9,6 +9,7 @@ import { PruefungService } from '../services/pruefung.service';
|
|||||||
import {MatSelectModule} from '@angular/material/select';
|
import {MatSelectModule} from '@angular/material/select';
|
||||||
import { PruefungsergebnisService } from '../services/pruefungsergebnis.service';
|
import { PruefungsergebnisService } from '../services/pruefungsergebnis.service';
|
||||||
import { Pruefungsergebnis } from '../Pruefungsergebnis';
|
import { Pruefungsergebnis } from '../Pruefungsergebnis';
|
||||||
|
import {MatRadioModule} from '@angular/material/radio';
|
||||||
|
|
||||||
export enum SelectType {
|
export enum SelectType {
|
||||||
single,
|
single,
|
||||||
@ -58,9 +59,9 @@ export class PrergebnisComponent implements OnInit {
|
|||||||
})
|
})
|
||||||
this.pruefungsergebnis.getPruefergebnisse().subscribe(
|
this.pruefungsergebnis.getPruefergebnisse().subscribe(
|
||||||
(
|
(
|
||||||
data: any) => {
|
dataerg: any) => {
|
||||||
// console.log(data);
|
// console.log(data);
|
||||||
this.pruefergebnisse = data;
|
this.pruefergebnisse = dataerg;
|
||||||
this.ergdataSource = new MatTableDataSource(this.pruefergebnisse);
|
this.ergdataSource = new MatTableDataSource(this.pruefergebnisse);
|
||||||
this.ergdataSource.ergpaginator = this.ergpaginator;
|
this.ergdataSource.ergpaginator = this.ergpaginator;
|
||||||
this.ergdataSource.sort = this.sort;
|
this.ergdataSource.sort = this.sort;
|
||||||
@ -119,19 +120,22 @@ export class PrergebnisComponent implements OnInit {
|
|||||||
}
|
}
|
||||||
onclick(pruerow: any) {
|
onclick(pruerow: any) {
|
||||||
this.angewaehlt = pruerow;
|
this.angewaehlt = pruerow;
|
||||||
console.log(this.angewaehlt);
|
}
|
||||||
|
|
||||||
|
onergclick(persrow: any) {
|
||||||
|
this.ergangewaehlt = persrow;
|
||||||
}
|
}
|
||||||
|
|
||||||
applypruefFilter(event: Event) {
|
applypruefFilter(event: Event) {
|
||||||
const filterValue = (event.target as HTMLInputElement).value;
|
const filterValue = (event.target as HTMLInputElement).value;
|
||||||
this.dataSource.filter = filterValue.trim().toLowerCase();
|
this.dataSource.filter = filterValue.trim().toLowerCase();
|
||||||
console.log("Filter: " + this.dataSource.filter);
|
// console.log("Filter: " + this.dataSource.filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
applypersonFilter(event: Event) {
|
applypersonFilter(event: Event) {
|
||||||
const filterValue = (event.target as HTMLInputElement).value;
|
const filterValue = (event.target as HTMLInputElement).value;
|
||||||
this.ergdataSource.filter = filterValue.trim().toLowerCase();
|
this.ergdataSource.filter = filterValue.trim().toLowerCase();
|
||||||
console.log("Filter: " + this.ergdataSource.filter);
|
// console.log("Filter: " + this.ergdataSource.filter);
|
||||||
}
|
}
|
||||||
|
|
||||||
/** Announce the change in sort state for assistive technology. */
|
/** Announce the change in sort state for assistive technology. */
|
||||||
|
@ -1,8 +1,6 @@
|
|||||||
<div class="container col-5 float-left">
|
<div class="pb-1 mb-4 display-6 border-bottom border-danger">
|
||||||
<div class="clearfix">
|
Prüfungen
|
||||||
<div class="display-6">Prüfungen</div>
|
</div>
|
||||||
<button type="button" class="btn btn-primary float-left">Neu</button>
|
|
||||||
</div>
|
|
||||||
<mat-form-field appearance="standard">
|
<mat-form-field appearance="standard">
|
||||||
<mat-label>Filter</mat-label>
|
<mat-label>Filter</mat-label>
|
||||||
<input matInput (keyup)="applyFilter($event)" placeholder="Suchbegriff" #input>
|
<input matInput (keyup)="applyFilter($event)" placeholder="Suchbegriff" #input>
|
||||||
@ -14,11 +12,11 @@
|
|||||||
<td mat-cell *matCellDef="let prue"> {{prue.examid}} </td>
|
<td mat-cell *matCellDef="let prue"> {{prue.examid}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="examshort">
|
<ng-container matColumnDef="examshort">
|
||||||
<th class="kopf col-1" mat-sort-header mat-header-cell *matHeaderCellDef> Prüfung </th>
|
<th class="kopf col-2" mat-sort-header mat-header-cell *matHeaderCellDef> Prüfung </th>
|
||||||
<td mat-cell *matCellDef="let prue"> {{prue.examshort}} </td>
|
<td mat-cell *matCellDef="let prue"> {{prue.examshort}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="examname">
|
<ng-container matColumnDef="examname">
|
||||||
<th class="kopf col-3" mat-sort-header mat-header-cell *matHeaderCellDef> Name </th>
|
<th class="kopf col-2" mat-sort-header mat-header-cell *matHeaderCellDef> Name </th>
|
||||||
<td mat-cell *matCellDef="let prue"> {{prue.examname}} </td>
|
<td mat-cell *matCellDef="let prue"> {{prue.examname}} </td>
|
||||||
</ng-container>
|
</ng-container>
|
||||||
<ng-container matColumnDef="examdescription">
|
<ng-container matColumnDef="examdescription">
|
||||||
@ -29,4 +27,3 @@
|
|||||||
<tr mat-row *matRowDef="let pruerow; columns: displayedColumns;"></tr>
|
<tr mat-row *matRowDef="let pruerow; columns: displayedColumns;"></tr>
|
||||||
</table>
|
</table>
|
||||||
<mat-paginator class="mat-elevation-z8 mt-2" #paginator [pageSizeOptions]="[10, 20, 50]" showFirstLastButtons></mat-paginator>
|
<mat-paginator class="mat-elevation-z8 mt-2" #paginator [pageSizeOptions]="[10, 20, 50]" showFirstLastButtons></mat-paginator>
|
||||||
</div>
|
|
@ -8,54 +8,52 @@
|
|||||||
</div>
|
</div>
|
||||||
<ul class="nav">
|
<ul class="nav">
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="dashboard">
|
<a class="mt-0" routerLink="dash">
|
||||||
<p>Dashboard</p>
|
<p>Dashboard</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="dash">
|
<a class="mt-0" routerLink="dashboard">
|
||||||
<p>Dash</p>
|
<p>Übersicht</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="list-lehrling">
|
<a class="mt-0" routerLink="list-lehrling">
|
||||||
<p>Lehrling</p>
|
<p>Lehrling</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="kompetenz">
|
<a class="mt-0" routerLink="kompetenz">
|
||||||
<p>Kompetenz</p>
|
<p>Kompetenz</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="modul">
|
<a class="mt-0" routerLink="modul">
|
||||||
<p>Modul</p>
|
<p>Modul</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="pruefung">
|
<a class="mt-0" routerLink="pruefung">
|
||||||
<p>Prüfung</p>
|
<p>Prüfung</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="pruefungergebnis">
|
<a class="mt-0" routerLink="pruefungergebnis">
|
||||||
<p>Prüfungsergebnis</p>
|
<p>Prüfungsergebnis</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li routerLinkActive="active">
|
||||||
<a routerLink="l2b">
|
<a class="mt-0" routerLink="l2b">
|
||||||
<p>Lehrling zu Beruf</p>
|
<p>Lehrling zu Beruf</p>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li routerLinkActive="active">
|
<li class="mt-0" routerLinkActive="active">
|
||||||
<a routerLink="about">
|
<a routerLink="about">
|
||||||
<p>Über</p>
|
<p>Über</p>
|
||||||
</a>
|
</a>
|
||||||
|
@ -4,3 +4,31 @@
|
|||||||
background-color: #fae584;
|
background-color: #fae584;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.titel {
|
||||||
|
background-color: #fae584;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
margin-top: 70px;
|
||||||
|
padding: 15px;
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.ueberschrift {
|
||||||
|
background-color: white;
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
margin-top: 3px;
|
||||||
|
padding: 15px;
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.abstandoben {
|
||||||
|
padding: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
margin-top: 3px;
|
||||||
|
padding: 15px;
|
||||||
|
font-size: 1.2em;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user