Non puoi selezionare più di 25 argomenti Gli argomenti devono iniziare con una lettera o un numero, possono includere trattini ('-') e possono essere lunghi fino a 35 caratteri.
 
 
 
 

86 righe
4.6 KiB

  1. <h2 *ngIf="!task.id">{{ 'basic.new-task' | translate }}</h2>
  2. <h2 *ngIf="task.id">{{ 'basic.edit-task' | translate }}</h2>
  3. <div class="spt-form">
  4. <form [formGroup]="taskForm" (ngSubmit)="onSubmit()">
  5. <div class="mb-3">
  6. <label for="headline" class="form-label">{{ 'form.headline' | translate }}:</label>
  7. <input type="text" class="form-control" id="headline" formControlName="headline"/>
  8. <div class="form-text" *ngIf="taskForm.get('headline')?.invalid && taskForm.get('headline')?.touched">
  9. {{ 'form.headline' | translate }} {{ 'form.mandatory' | translate }}.
  10. </div>
  11. </div>
  12. <div class="mb-3">
  13. <label for="description" class="form-label">{{ 'form.description' | translate }}:</label>
  14. <textarea class="form-control" id="description" formControlName="description" cols="50" rows="5"></textarea>
  15. <div class="form-text" *ngIf="taskForm.get('description')?.invalid && taskForm.get('description')?.touched">
  16. {{ 'form.description' | translate }} {{ 'form.mandatory' | translate }}.
  17. </div>
  18. </div>
  19. <div class="mb-3">
  20. <label for="productIri" class="form-label">{{ 'form.product' | translate }}:</label>
  21. <app-search-select #productSearchSelect id="productIri"
  22. [formId]="'productIri'"
  23. [formLabelLangKey]="'form.product'"
  24. [documentForm]="taskForm"
  25. [getDataFunction]="getProducts"
  26. [dataSource]="dataSourceProducts"
  27. [displayedDataField]="'name'"
  28. [dataSet]="task.product"
  29. [listColDefinitions]="SearchSelectComponent.getDefaultColDefProducts()"
  30. >
  31. <input type="hidden" formControlName="productIri" value="{{task.productIri}}"/>
  32. </app-search-select>
  33. </div>
  34. <div class="mb-3">
  35. <label for="assignedToIri" class="form-label">{{ 'form.assign-to' | translate }}:</label>
  36. <app-search-select #userSearchSelect id="assignedToIri"
  37. [formId]="'assignedToIri'"
  38. [formLabelLangKey]="'form.user'"
  39. [documentForm]="taskForm"
  40. [getDataFunction]="getUsers"
  41. [dataSource]="dataSourceUsers"
  42. [displayedDataField]="'fullName'"
  43. [dataSet]="task.assignedTo"
  44. [listColDefinitions]="SearchSelectComponent.getDefaultColDefUsers()"
  45. >
  46. <input type="hidden" formControlName="assignedToIri" value="{{task.productIri}}"/>
  47. </app-search-select>
  48. <div class="form-text" *ngIf="taskForm.get('assignedTo')?.invalid && taskForm.get('assignedTo')?.touched">
  49. {{ 'form.assign-to' | translate }} {{ 'form.mandatory' | translate }}.
  50. </div>
  51. </div>
  52. <div class="mb-3">
  53. <label for="dueAtValue" class="form-label">{{ 'form.due-date' | translate }}:</label>
  54. <input type="date" value="{{ dueAtValue }}" class="form-control" id="dueAtValue"
  55. (change)="onDueAtChange($event)"/>
  56. <div class="form-text" *ngIf="taskForm.get('dueAt')?.invalid && taskForm.get('dueAt')?.touched">
  57. {{ 'form.due-date' | translate }} {{ 'form.mandatory' | translate }}.
  58. </div>
  59. </div>
  60. <div class="d-flex mb-3">
  61. <div class="form-check me-3">
  62. <input type="radio" class="form-check-input" id="radio-prio-low" formControlName="prio" value="low"/>
  63. <label for="radio-prio-low" class="form-check-label">{{ 'form.prio-low' | translate }}</label>
  64. </div>
  65. <div class="form-check me-3">
  66. <input type="radio" class="form-check-input" id="radio-prio-medium" formControlName="prio"
  67. value="medium"/>
  68. <label for="radio-prio-medium" class="form-check-label">{{ 'form.prio-medium' | translate }}</label>
  69. </div>
  70. <div class="form-check me-3">
  71. <input type="radio" class="form-check-input" id="radio-prio-high" formControlName="prio" value="high"/>
  72. <label for="radio-prio-high" class="form-check-label">{{ 'form.prio-high' | translate }}</label>
  73. </div>
  74. </div>
  75. <button type="submit" class="btn btn-primary" [disabled]="taskForm.invalid">{{ 'form.send' | translate }}
  76. </button>
  77. </form>
  78. </div>