281 lines
9.8 KiB
HTML
281 lines
9.8 KiB
HTML
<!--Popup form to create and modify a task-->
|
|
|
|
<div class="card" style="width: 100%;">
|
|
<div class="container">
|
|
<div class="card-body">
|
|
<div style="text-align: right;">
|
|
<i class="fa fa-times fa-2x" (click)="onClose()"></i>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-8" style="text-align: left;">
|
|
<h4 *ngIf="editing" class="card-title">Userstory #{{ userstory.id }} bearbeiten</h4>
|
|
<h4 *ngIf="!editing" class="card-title">Neue Userstory anlegen</h4>
|
|
</div>
|
|
<div class="col-4"></div>
|
|
</div>
|
|
<form (ngSubmit)="onSubmit()">
|
|
<div class="row">
|
|
<div class="col-8">
|
|
<div class="form-group">
|
|
<label for="Title">Titel</label>
|
|
<input
|
|
type="text"
|
|
class="form-control"
|
|
id="Title"
|
|
required
|
|
name="title"
|
|
[(ngModel)]="userstory.title"
|
|
id="titleField"
|
|
/>
|
|
</div>
|
|
<div class="form-group">
|
|
<label for="Inhalt">Story</label>
|
|
<textarea
|
|
type="text"
|
|
class="form-control"
|
|
id="Story"
|
|
required
|
|
name="story"
|
|
rows="5"
|
|
[(ngModel)]="userstory.content"
|
|
></textarea>
|
|
</div>
|
|
</div>
|
|
<div class="col-4">
|
|
<div ngbDropdown class="dropdown">
|
|
<button
|
|
ngbDropdownToggle
|
|
class="btn btn-secondary dropdown-toggle"
|
|
type="button"
|
|
id="dropdownMenu2"
|
|
data-toggle="dropdown"
|
|
aria-haspopup="true"
|
|
aria-expanded="false"
|
|
>
|
|
Prio: {{ userstory.priority }}
|
|
</button>
|
|
<div
|
|
ngbDropdownMenu
|
|
class="dropdown-menu"
|
|
aria-labelledby="dropdownMenu2"
|
|
>
|
|
<option
|
|
ngbDropdownItem
|
|
*ngFor="let p of getAllPriorities()"
|
|
(click)="userstory.priority = p"
|
|
>
|
|
{{ p }}</option
|
|
>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div ngbDropdown class="dropdown" [autoClose]="false">
|
|
<button
|
|
ngbDropdownToggle
|
|
class="btn btn-secondary dropdown-toggle"
|
|
type="button"
|
|
id="dropdownMenu2"
|
|
data-toggle="dropdown"
|
|
aria-haspopup="true"
|
|
aria-expanded="false"
|
|
>
|
|
Status: {{ getStatusTitleById(userstory.statusId) }}
|
|
</button>
|
|
<div
|
|
ngbDropdownMenu
|
|
class="dropdown-menu"
|
|
aria-labelledby="dropdownMenu2"
|
|
>
|
|
<div class="card-text" for="Inhalt">Status wählen</div>
|
|
<option
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
*ngFor="let status of allStatus"
|
|
(click)="userstory.statusId = status.id"
|
|
>{{ status.title }}</option
|
|
>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
<div class="card-text" for="Inhalt">Neuer Status</div>
|
|
<input
|
|
#statusname
|
|
type="text"
|
|
id="statusname"
|
|
class="dropdown-item"
|
|
(change)="status.title = statusname.value"
|
|
placeholder="New Title..."
|
|
style="background-color: rgba(211, 211, 211, 0.342);"
|
|
/>
|
|
<button
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
class="dropdown-item"
|
|
type="button"
|
|
(click)="createUserstoryStatus(status)"
|
|
>
|
|
Status anlegen
|
|
</button>
|
|
<button
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
class="dropdown-item"
|
|
type="button"
|
|
(click)="deleteStatus(userstory.statusId)"
|
|
>
|
|
Status löschen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="dropdown-menu">
|
|
<select
|
|
class="form-control custom-select mr-sm-2"
|
|
id="prio"
|
|
required
|
|
name="prio"
|
|
[(ngModel)]="userstory.statusId"
|
|
>
|
|
<option
|
|
*ngFor="let status of allStatus"
|
|
[value]="status.id"
|
|
>{{ status.title }}</option
|
|
>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div ngbDropdown class="dropdown" [autoClose]="false">
|
|
<button
|
|
ngbDropdownToggle
|
|
class="btn btn-secondary dropdown-toggle"
|
|
type="button"
|
|
id="dropdownMenu2"
|
|
data-toggle="dropdown"
|
|
aria-haspopup="true"
|
|
aria-expanded="false"
|
|
>
|
|
Kategorie: {{ getCategoryById(userstory.categoryId) }}
|
|
</button>
|
|
<div
|
|
ngbDropdownMenu
|
|
class="dropdown-menu"
|
|
aria-labelledby="dropdownMenu2"
|
|
>
|
|
<div class="card-text" for="Inhalt">Kategorie wählen</div>
|
|
<option
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
*ngFor="let category of allCategories"
|
|
(click)="userstory.categoryId = category.id"
|
|
>{{ category.title }}</option
|
|
>
|
|
|
|
<div class="dropdown-divider"></div>
|
|
<div class="card-text" for="Inhalt">Neue Kategorie</div>
|
|
<input
|
|
#categoryname
|
|
type="text"
|
|
id="categoryname"
|
|
class="dropdown-item"
|
|
(change)="category.title = categoryname.value"
|
|
placeholder="New Title..."
|
|
style="background-color: rgba(211, 211, 211, 0.342);"
|
|
/>
|
|
<button
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
class="dropdown-item"
|
|
type="button"
|
|
(click)="createUserstoryCategory(category)"
|
|
>
|
|
Kategorie anlegen
|
|
</button>
|
|
<button
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
class="dropdown-item"
|
|
type="button"
|
|
(click)="deleteCategory(userstory.categoryId)"
|
|
>
|
|
Kategorie löschen
|
|
</button>
|
|
</div>
|
|
</div>
|
|
<div class="dropdown-menu">
|
|
<select
|
|
class="form-control custom-select mr-sm-2"
|
|
id="prio"
|
|
required
|
|
name="prio"
|
|
[(ngModel)]="userstory.categoryId"
|
|
>
|
|
<option
|
|
*ngFor="let category of allCategories"
|
|
[value]="category.id"
|
|
>{{ category.title }}</option
|
|
>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group">
|
|
<div ngbDropdown class="dropdown" [autoClose]="true">
|
|
<button
|
|
ngbDropdownToggle
|
|
class="btn btn-secondary dropdown-toggle"
|
|
type="button"
|
|
id="dropdownMenu2"
|
|
data-toggle="dropdown"
|
|
aria-haspopup="true"
|
|
aria-expanded="false"
|
|
>
|
|
Autor: {{ getAuthorById(userstory.createdbyId) }}
|
|
</button>
|
|
<div
|
|
ngbDropdownMenu
|
|
class="dropdown-menu"
|
|
aria-labelledby="dropdownMenu2"
|
|
>
|
|
<div class="card-text" for="Inhalt">User wählen</div>
|
|
<option
|
|
disable-auto-close
|
|
ngbDropdownItem
|
|
*ngFor="let user of allUser"
|
|
(click)="userstory.createdbyId = user.id"
|
|
>{{ user.name }}</option
|
|
>
|
|
</div>
|
|
</div>
|
|
<div class="dropdown-menu">
|
|
<select
|
|
class="form-control custom-select mr-sm-2"
|
|
id="prio"
|
|
required
|
|
name="prio"
|
|
[(ngModel)]="userstory.createdbyId"
|
|
>
|
|
<option *ngFor="let user of allUser" [value]="user.id">{{
|
|
user.name
|
|
}}</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="row">
|
|
<div class="col-6">
|
|
<button
|
|
(click)="onClose()"
|
|
type="dismiss"
|
|
class="btn btn-secondary"
|
|
data-dismiss="modal"
|
|
>
|
|
Abbrechen
|
|
</button>
|
|
<button *ngIf="editing" type="submit" class="btn btn-primary">Speichern</button>
|
|
<button *ngIf="!editing" type="submit" class="btn btn-primary">Erstellen</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|