| @@ -34,5 +34,6 @@ export class SearchInputComponent { | |||||
| protected onItemSelect(selectedItem: any): void { | protected onItemSelect(selectedItem: any): void { | ||||
| this.documentForm.get(this.formId)?.setValue(selectedItem.item.id); | this.documentForm.get(this.formId)?.setValue(selectedItem.item.id); | ||||
| console.log(this.documentForm); | |||||
| } | } | ||||
| } | } | ||||
| @@ -448,6 +448,7 @@ export const taskForm = new FormGroup({ | |||||
| contactIri: new FormControl(null, []), | contactIri: new FormControl(null, []), | ||||
| prio: new FormControl(null, [Validators.required]), | prio: new FormControl(null, [Validators.required]), | ||||
| completed: new FormControl(null, [Validators.required]), | completed: new FormControl(null, [Validators.required]), | ||||
| numTaskNotes: new FormControl(null, []), | |||||
| createdAt: new FormControl(null, []) | createdAt: new FormControl(null, []) | ||||
| }); | }); | ||||
| @@ -467,6 +468,7 @@ export const taskJsonhalForm = new FormGroup({ | |||||
| contactIri: new FormControl(null, []), | contactIri: new FormControl(null, []), | ||||
| prio: new FormControl(null, [Validators.required]), | prio: new FormControl(null, [Validators.required]), | ||||
| completed: new FormControl(null, [Validators.required]), | completed: new FormControl(null, [Validators.required]), | ||||
| numTaskNotes: new FormControl(null, []), | |||||
| createdAt: new FormControl(null, []) | createdAt: new FormControl(null, []) | ||||
| }); | }); | ||||
| @@ -485,6 +487,7 @@ export const taskJsonldForm = new FormGroup({ | |||||
| contactIri: new FormControl(null, []), | contactIri: new FormControl(null, []), | ||||
| prio: new FormControl(null, [Validators.required]), | prio: new FormControl(null, [Validators.required]), | ||||
| completed: new FormControl(null, [Validators.required]), | completed: new FormControl(null, [Validators.required]), | ||||
| numTaskNotes: new FormControl(null, []), | |||||
| createdAt: new FormControl(null, []) | createdAt: new FormControl(null, []) | ||||
| }); | }); | ||||
| @@ -1,5 +1,4 @@ | |||||
| import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core'; | import {AfterViewInit, Component, OnInit, ViewChild} from '@angular/core'; | ||||
| import {NgbModal} from "@ng-bootstrap/ng-bootstrap"; | |||||
| import {ActivatedRoute} from "@angular/router"; | import {ActivatedRoute} from "@angular/router"; | ||||
| import { | import { | ||||
| PartnerFollowJsonld, PartnerFollowService, | PartnerFollowJsonld, PartnerFollowService, | ||||
| @@ -30,9 +30,7 @@ | |||||
| data-type="user-tool" | data-type="user-tool" | ||||
| data-action="edit" (click)="openModalEditPost(post)"></span> | data-action="edit" (click)="openModalEditPost(post)"></span> | ||||
| <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | ||||
| <!-- <span *ngIf="post.comments?.length !== 0" role="button" class="badge bg-secondary p-2 me-2"--> | |||||
| <span *ngIf="post.numComments !== 0" role="button" class="badge bg-secondary p-2 me-2" | |||||
| <span *ngIf="post?.numComments !== undefined && post?.numComments !== null && post?.numComments !== 0" role="button" class="badge bg-secondary p-2 me-2" | |||||
| (click)="showComments(post)"> | (click)="showComments(post)"> | ||||
| <ng-container | <ng-container | ||||
| *ngIf="post.id && commentsVisibility.get(post.id)">{{ 'basic.hide-comments' | translate }}</ng-container> | *ngIf="post.id && commentsVisibility.get(post.id)">{{ 'basic.hide-comments' | translate }}</ng-container> | ||||
| @@ -1,2 +1,20 @@ | |||||
| <h2 >{{'basic.assign-product' | translate}}</h2> | <h2 >{{'basic.assign-product' | translate}}</h2> | ||||
| <div class="spt-form"> | |||||
| <form [formGroup]="form" (ngSubmit)="onSubmit()"> | |||||
| <div class="mb-3" *ngIf="this.partnerProduct"> | |||||
| <app-search-input #productSearchInput | |||||
| [formId]="'productIri'" | |||||
| [formLabelLangKey]="'form.productIri'" | |||||
| [dataField]="'productName'" | |||||
| [documentForm]="form" | |||||
| [documentFormField]="'productName'" | |||||
| [fetchFunction]="fetchProducts"> | |||||
| </app-search-input> | |||||
| <input type="hidden" formControlName="partnerIri" value="{{partnerProduct.partnerIri}}"/> | |||||
| </div> | |||||
| <button type="submit" class="btn btn-primary" [disabled]="form.invalid">{{'form.send' | translate}}</button> | |||||
| </form> | |||||
| </div> | |||||
| @@ -1,17 +1,80 @@ | |||||
| import {Component, EventEmitter, Input, Output, ViewChild} from '@angular/core'; | |||||
| import {ContactJsonld, PartnerJsonld, ProductJsonld, UserJsonld} from "@app/core/api/v1"; | |||||
| import {Component, EventEmitter, Input, OnInit, Output, ViewChild} from '@angular/core'; | |||||
| import { | |||||
| ContactJsonld, | |||||
| PartnerProductJsonld, PartnerProductService, | |||||
| ProductService, | |||||
| UserJsonld | |||||
| } from "@app/core/api/v1"; | |||||
| import {ModalStatus} from "@app/_helpers/modal.states"; | import {ModalStatus} from "@app/_helpers/modal.states"; | ||||
| import {SearchInputComponent} from "@app/_components/search-input/search-input.component"; | import {SearchInputComponent} from "@app/_components/search-input/search-input.component"; | ||||
| import {FormGroupInitializer} from "@app/_helpers/formgroup.initializer"; | |||||
| import {FormGroup} from "@angular/forms"; | |||||
| import {partnerProductForm} from "@app/_forms/apiForms"; | |||||
| import {forkJoin, Observable} from "rxjs"; | |||||
| import {map} from "rxjs/operators"; | |||||
| @Component({ | @Component({ | ||||
| selector: 'app-assign-product', | selector: 'app-assign-product', | ||||
| templateUrl: './assign-product.component.html', | templateUrl: './assign-product.component.html', | ||||
| styleUrl: './assign-product.component.scss' | styleUrl: './assign-product.component.scss' | ||||
| }) | }) | ||||
| export class AssignProductComponent { | |||||
| export class AssignProductComponent implements OnInit { | |||||
| @Input() public user!: UserJsonld; | @Input() public user!: UserJsonld; | ||||
| @Input() public partner!: PartnerJsonld; | |||||
| @Input() public partnerProduct!: PartnerProductJsonld; | |||||
| @Input() public contact!: ContactJsonld; | @Input() public contact!: ContactJsonld; | ||||
| @Output() public submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>(); | @Output() public submit: EventEmitter<ModalStatus> = new EventEmitter<ModalStatus>(); | ||||
| @ViewChild('productSearchInput', { static: false }) $productSearchInput!: SearchInputComponent; | @ViewChild('productSearchInput', { static: false }) $productSearchInput!: SearchInputComponent; | ||||
| protected form!: FormGroup; | |||||
| constructor( | |||||
| protected productService: ProductService, | |||||
| protected partnerProductService: PartnerProductService | |||||
| ) { | |||||
| } | |||||
| ngOnInit(): void { | |||||
| if (this.partnerProduct !== undefined) { | |||||
| this.form = FormGroupInitializer.initFormGroup(partnerProductForm, this.partnerProduct); | |||||
| } | |||||
| } | |||||
| fetchProducts = (term: string): Observable<{ id: any; name: any }[]> => { | |||||
| // Beide API-Calls werden hier definiert | |||||
| let products$ = this.productService.productsGetCollection(1, 50, term); | |||||
| let partnerProducts$ = this.partnerProductService.partnerProductsGetCollection( | |||||
| 1, | |||||
| 50, | |||||
| this.partnerProduct.partnerIri!, | |||||
| undefined, | |||||
| undefined, | |||||
| undefined, | |||||
| term | |||||
| ); | |||||
| // Combine api calls | |||||
| return forkJoin([products$, partnerProducts$]) | |||||
| .pipe( | |||||
| map(([productsResponse, partnerProductsResponse]) => { | |||||
| let products = productsResponse['hydra:member'].map(product => ({ id: product.id, name: product.name })); | |||||
| let partnerProductIds = partnerProductsResponse['hydra:member'].map(partnerProduct => partnerProduct.product?.id); | |||||
| // Filter all products where a partner product already exists | |||||
| return products.filter(product => !partnerProductIds.includes(product.id)); | |||||
| }) | |||||
| ); | |||||
| } | |||||
| onSubmit() { | |||||
| if (this.form.valid) { | |||||
| this.partnerProductService.partnerProductsPost( | |||||
| this.form.value as PartnerProductJsonld | |||||
| ).subscribe( | |||||
| data => { | |||||
| this.form.reset(); | |||||
| this.submit.emit(ModalStatus.Submitted); | |||||
| } | |||||
| ) | |||||
| } | |||||
| } | |||||
| } | } | ||||
| @@ -4,8 +4,8 @@ import {PagingComponent} from "@app/_components/paging/paging.component"; | |||||
| import {Subscription} from "rxjs"; | import {Subscription} from "rxjs"; | ||||
| import { | import { | ||||
| ContactJsonld, ContactPartnerProductService, | ContactJsonld, ContactPartnerProductService, | ||||
| PartnerJsonld, | |||||
| PartnerProductService, | |||||
| PartnerJsonld, PartnerProductJsonld, | |||||
| PartnerProductService, PostJsonld, | |||||
| ProductJsonld, | ProductJsonld, | ||||
| ProductService, | ProductService, | ||||
| UserJsonld, | UserJsonld, | ||||
| @@ -179,14 +179,28 @@ export class ProductListComponent implements OnInit, AfterViewInit { | |||||
| } | } | ||||
| openModalAssignProduct() { | openModalAssignProduct() { | ||||
| let data = {}; | |||||
| if (this.user !== undefined) { | if (this.user !== undefined) { | ||||
| this.appHelperService.openModal(AssignProductComponent, { 'user' : this.user }, this.getUserProducts); | |||||
| this.appHelperService.openModal( | |||||
| AssignProductComponent, | |||||
| { 'user' : this.user }, | |||||
| this.getUserProducts | |||||
| ); | |||||
| } else if (this.partner !== undefined) { | } else if (this.partner !== undefined) { | ||||
| data = { 'partner' : this.partner }; | |||||
| this.appHelperService.openModal(AssignProductComponent, { 'partner' : this.partner }, this.getPartnerProducts); | |||||
| let partnerProduct: PartnerProductJsonld = {} as PartnerProductJsonld; | |||||
| if (this.partner.id) { | |||||
| partnerProduct.partnerIri = this.partner.id; | |||||
| } | |||||
| this.appHelperService.openModal( | |||||
| AssignProductComponent, | |||||
| { 'partnerProduct' : partnerProduct }, | |||||
| this.getPartnerProducts | |||||
| ); | |||||
| } else if (this.contact !== undefined) { | } else if (this.contact !== undefined) { | ||||
| this.appHelperService.openModal(AssignProductComponent, { 'contact' : this.contact }, this.getContactPartnerProduct); | |||||
| this.appHelperService.openModal( | |||||
| AssignProductComponent, | |||||
| { 'contact' : this.contact }, | |||||
| this.getContactPartnerProduct | |||||
| ); | |||||
| } else { | } else { | ||||
| throw new Error('data not found') | throw new Error('data not found') | ||||
| } | } | ||||
| @@ -3,7 +3,7 @@ | |||||
| <button *ngIf="partner" class="btn btn-primary" (click)="openModalNewTask()">+ {{ 'basic.new-task' | translate }}</button> | <button *ngIf="partner" class="btn btn-primary" (click)="openModalNewTask()">+ {{ 'basic.new-task' | translate }}</button> | ||||
| </div> | </div> | ||||
| <app-paging #pagingComponent | <app-paging #pagingComponent | ||||
| [getDataFunction]="getData" | |||||
| [getDataFunction]="getTasksData" | |||||
| [dataSource]="dataSource" | [dataSource]="dataSource" | ||||
| > | > | ||||
| <div class="tasks-box"> | <div class="tasks-box"> | ||||
| @@ -36,15 +36,15 @@ | |||||
| <span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" | <span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" | ||||
| data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | ||||
| <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | ||||
| <!-- <span *ngIf="task.taskNotes?.length !== 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2"--> | |||||
| <!-- (click)="showTaskNotes(task)">--> | |||||
| <!-- <ng-container--> | |||||
| <!-- *ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container>--> | |||||
| <!-- <ng-container--> | |||||
| <!-- *ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }}</ng-container>--> | |||||
| <!-- </span>--> | |||||
| <!-- <span role="button" class="badge bg-secondary p-2"--> | |||||
| <!-- (click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span>--> | |||||
| <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2" | |||||
| (click)="showTaskNotes(task)"> | |||||
| <ng-container | |||||
| *ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> | |||||
| <ng-container | |||||
| *ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} ({{task.numTaskNotes}})</ng-container> | |||||
| </span> | |||||
| <span role="button" class="badge bg-secondary p-2" | |||||
| (click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -70,33 +70,33 @@ | |||||
| <span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" | <span *ngIf="task.createdBy === currentUser?.id" class="position-absolute bi bi-pencil p-2" | ||||
| data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | data-type="user-tool" data-action="edit" (click)="openModalEditTask(task)"></span> | ||||
| <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | <div class="spt-comments-box d-flex justify-content-end mt-1 position-absolute"> | ||||
| <!-- <span *ngIf="task.taskNotes?.length !== 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2"--> | |||||
| <!-- (click)="showTaskNotes(task)">--> | |||||
| <!-- <ng-container--> | |||||
| <!-- *ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container>--> | |||||
| <!-- <ng-container--> | |||||
| <!-- *ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }}</ng-container>--> | |||||
| <!-- </span>--> | |||||
| <!-- <span role="button" class="badge bg-secondary p-2"--> | |||||
| <!-- (click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span>--> | |||||
| <span *ngIf="task.numTaskNotes !== undefined && task.numTaskNotes !== null && task.numTaskNotes > 0" role="button" class="spt-btn-low badge bg-secondary p-2 me-2" | |||||
| (click)="showTaskNotes(task)"> | |||||
| <ng-container | |||||
| *ngIf="task.id && taskNotesVisibility.get(task.id)">{{ 'basic.hide-comments' | translate }}</ng-container> | |||||
| <ng-container | |||||
| *ngIf="task.id && !taskNotesVisibility.get(task.id)">{{ 'basic.show-comments' | translate }} ({{task.numTaskNotes}})</ng-container> | |||||
| </span> | |||||
| <span role="button" class="badge bg-secondary p-2" | |||||
| (click)="openModalNewTaskNote(task)">{{ 'basic.comment-it' | translate }}</span> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| <div *ngIf="task.id && taskNotesVisibility.get(task.id)" class="pb-1"> | <div *ngIf="task.id && taskNotesVisibility.get(task.id)" class="pb-1"> | ||||
| <!-- <div class="card spt-comments" *ngFor="let taskNote of task.taskNotes">--> | |||||
| <!-- <div class="card-body">--> | |||||
| <!-- <div class="d-flex justify-content-between align-items-center">--> | |||||
| <!-- <p>{{ taskNote.createdAt | date:'dd.MM.YYYY' }}</p>--> | |||||
| <!-- <p>{{ taskNote.owner?.firstName }} {{ taskNote.owner?.lastName }}</p>--> | |||||
| <!-- </div>--> | |||||
| <!-- <div>--> | |||||
| <!-- <p [innerHTML]="appHelperService.getSafeLongtext(taskNote.message)"></p>--> | |||||
| <!-- </div>--> | |||||
| <!-- <span *ngIf="taskNote.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2"--> | |||||
| <!-- data-type="user-tool" data-action="edit" (click)="openModalEditTaskNote(taskNote)"></span>--> | |||||
| <!-- </div>--> | |||||
| <!-- </div>--> | |||||
| <div class="card spt-comments" *ngFor="let taskNote of taskNotes.get(task.id)"> | |||||
| <div class="card-body"> | |||||
| <div class="d-flex justify-content-between align-items-center"> | |||||
| <p>{{ taskNote.createdAt | date:'dd.MM.YYYY' }}</p> | |||||
| <p>{{ taskNote.owner?.firstName }} {{ taskNote.owner?.lastName }}</p> | |||||
| </div> | |||||
| <div> | |||||
| <p [innerHTML]="appHelperService.getSafeLongtext(taskNote.message)"></p> | |||||
| </div> | |||||
| <span *ngIf="taskNote.owner === currentUser?.id" class="position-absolute bi bi-pencil p-2" | |||||
| data-type="user-tool" data-action="edit" (click)="openModalEditTaskNote(taskNote)"></span> | |||||
| </div> | |||||
| </div> | |||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| </div> | </div> | ||||
| @@ -1,7 +1,15 @@ | |||||
| import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core'; | import {AfterViewInit, Component, Input, OnInit, ViewChild} from '@angular/core'; | ||||
| import {PagingComponent} from "@app/_components/paging/paging.component"; | import {PagingComponent} from "@app/_components/paging/paging.component"; | ||||
| import {Subscription} from "rxjs"; | import {Subscription} from "rxjs"; | ||||
| import {PartnerJsonld, TaskJsonld, TaskNoteJsonld, TaskService, UserJsonld} from "@app/core/api/v1"; | |||||
| import { | |||||
| CommentJsonld, | |||||
| PartnerJsonld, | |||||
| TaskJsonld, | |||||
| TaskNoteJsonld, | |||||
| TaskNoteService, | |||||
| TaskService, | |||||
| UserJsonld | |||||
| } from "@app/core/api/v1"; | |||||
| import {MatTableDataSource} from "@angular/material/table"; | import {MatTableDataSource} from "@angular/material/table"; | ||||
| import {NewTaskComponent} from "@app/_views/tasks/new-task/new-task.component"; | import {NewTaskComponent} from "@app/_views/tasks/new-task/new-task.component"; | ||||
| import {NewTaskNoteComponent} from "@app/_views/tasks/new-task-note/new-task-note.component"; | import {NewTaskNoteComponent} from "@app/_views/tasks/new-task-note/new-task-note.component"; | ||||
| @@ -22,9 +30,12 @@ export class TaskListComponent implements OnInit, AfterViewInit { | |||||
| protected currentUser: User | null; | protected currentUser: User | null; | ||||
| protected tasksSub: Subscription; | protected tasksSub: Subscription; | ||||
| protected tasksNotesSub: Subscription; | |||||
| protected tasks: Array<TaskJsonld>; | protected tasks: Array<TaskJsonld>; | ||||
| protected dataSource; | protected dataSource; | ||||
| protected taskCompactMode: boolean; | protected taskCompactMode: boolean; | ||||
| protected taskNotes: Map<string, TaskNoteJsonld[]>; | |||||
| protected taskSub: Subscription; | |||||
| protected taskNotesVisibility: Map<string, boolean>; | protected taskNotesVisibility: Map<string, boolean>; | ||||
| @@ -32,11 +43,15 @@ export class TaskListComponent implements OnInit, AfterViewInit { | |||||
| private taskService: TaskService, | private taskService: TaskService, | ||||
| private accountService: AccountService, | private accountService: AccountService, | ||||
| protected appHelperService: AppHelperService, | protected appHelperService: AppHelperService, | ||||
| protected taskNotesService: TaskNoteService, | |||||
| ) { | ) { | ||||
| this.tasksSub = new Subscription(); | this.tasksSub = new Subscription(); | ||||
| this.tasks = []; | this.tasks = []; | ||||
| this.tasksNotesSub = new Subscription(); | |||||
| this.taskNotes = new Map<string, TaskNoteJsonld[]>(); | |||||
| this.dataSource = new MatTableDataSource<TaskJsonld>(this.tasks); | this.dataSource = new MatTableDataSource<TaskJsonld>(this.tasks); | ||||
| this.taskNotesVisibility = new Map<string, boolean>(); | this.taskNotesVisibility = new Map<string, boolean>(); | ||||
| this.taskSub = new Subscription(); | |||||
| this.currentUser = this.accountService.userValue; | this.currentUser = this.accountService.userValue; | ||||
| if (localStorage.getItem('taskCompactMode') !== null) { | if (localStorage.getItem('taskCompactMode') !== null) { | ||||
| this.taskCompactMode = localStorage.getItem('taskCompactMode') === 'true'; | this.taskCompactMode = localStorage.getItem('taskCompactMode') === 'true'; | ||||
| @@ -52,7 +67,7 @@ export class TaskListComponent implements OnInit, AfterViewInit { | |||||
| this.pagingComponent.getData(); | this.pagingComponent.getData(); | ||||
| } | } | ||||
| getData = () => { | |||||
| getTasksData = () => { | |||||
| this.tasksSub = this.taskService.tasksGetCollection( | this.tasksSub = this.taskService.tasksGetCollection( | ||||
| this.pagingComponent.getPageIndex(), | this.pagingComponent.getPageIndex(), | ||||
| this.pagingComponent.getPageSize(), | this.pagingComponent.getPageSize(), | ||||
| @@ -72,32 +87,67 @@ export class TaskListComponent implements OnInit, AfterViewInit { | |||||
| ); | ); | ||||
| } | } | ||||
| getTaskData = (taskIri: string) => { | |||||
| this.taskSub = this.taskService.tasksIdGet(this.appHelperService.extractId(taskIri)).subscribe( | |||||
| data => { | |||||
| for (let index = 0; index < this.tasks.length; index++) { | |||||
| const item = this.tasks[index]; | |||||
| if (data.id === item.id) { | |||||
| this.tasks[index] = data; | |||||
| break; | |||||
| } | |||||
| } | |||||
| } | |||||
| ); | |||||
| } | |||||
| showTaskNotes(task: TaskJsonld) { | showTaskNotes(task: TaskJsonld) { | ||||
| if (task.id) { | if (task.id) { | ||||
| const currentVisibility = this.taskNotesVisibility.get(task.id); | const currentVisibility = this.taskNotesVisibility.get(task.id); | ||||
| this.taskNotesVisibility.set(task.id, !currentVisibility); | this.taskNotesVisibility.set(task.id, !currentVisibility); | ||||
| if (this.taskNotes.get(task.id) === undefined) { | |||||
| this.getTaskNotes(task.id); | |||||
| } | |||||
| } | } | ||||
| } | } | ||||
| getTaskNotes = (taskIri: string) => { | |||||
| // TODO: Weiterblättern, 50 comments only | |||||
| this.tasksNotesSub = this.taskNotesService.taskNotesGetCollection( | |||||
| 1, | |||||
| 50, | |||||
| taskIri | |||||
| ).subscribe( | |||||
| data => { | |||||
| this.taskNotes.set(taskIri, data["hydra:member"]); | |||||
| } | |||||
| ); | |||||
| } | |||||
| afterCommentCreation = (taskIri: string) => { | |||||
| this.getTaskNotes(taskIri); | |||||
| this.getTaskData(taskIri); | |||||
| } | |||||
| openModalNewTask() { | openModalNewTask() { | ||||
| let task: TaskJsonld = {} as TaskJsonld; | let task: TaskJsonld = {} as TaskJsonld; | ||||
| task.partnerIri = this.partner.id; | task.partnerIri = this.partner.id; | ||||
| task.completed = false; | task.completed = false; | ||||
| this.appHelperService.openModal(NewTaskComponent, { 'task': task }, this.getData); | |||||
| this.appHelperService.openModal(NewTaskComponent, { 'task': task }, this.getTasksData); | |||||
| } | } | ||||
| openModalEditTask(task: TaskJsonld) { | openModalEditTask(task: TaskJsonld) { | ||||
| this.appHelperService.openModal(NewTaskComponent, { 'task': task }, this.getData); | |||||
| this.appHelperService.openModal(NewTaskComponent, { 'task': task }, this.getTasksData); | |||||
| } | } | ||||
| openModalNewTaskNote(task: TaskJsonld) { | openModalNewTaskNote(task: TaskJsonld) { | ||||
| let taskNote: TaskNoteJsonld = {} as TaskNoteJsonld; | let taskNote: TaskNoteJsonld = {} as TaskNoteJsonld; | ||||
| taskNote.taskIri = task.id ?? null; | taskNote.taskIri = task.id ?? null; | ||||
| this.appHelperService.openModal(NewTaskNoteComponent, { 'taskNote': taskNote }, this.getData); | |||||
| this.appHelperService.openModal(NewTaskNoteComponent, { 'taskNote': taskNote }, this.afterCommentCreation, task.id); | |||||
| } | } | ||||
| openModalEditTaskNote(taskNote: TaskNoteJsonld) { | openModalEditTaskNote(taskNote: TaskNoteJsonld) { | ||||
| this.appHelperService.openModal(NewTaskNoteComponent, { 'taskNote': taskNote }, this.getData); | |||||
| this.appHelperService.openModal(NewTaskNoteComponent, { 'taskNote': taskNote }, this.afterCommentCreation, taskNote.id); | |||||
| } | } | ||||
| switchTaskDisplay() { | switchTaskDisplay() { | ||||
| @@ -210,7 +210,7 @@ export class CommentService { | |||||
| /** | /** | ||||
| * Retrieves a Comment resource. | * Retrieves a Comment resource. | ||||
| * Retrieves a Comment resource. | * Retrieves a Comment resource. | ||||
| * @param id CommentApi identifier | |||||
| * @param id Comment identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -285,7 +285,7 @@ export class CommentService { | |||||
| /** | /** | ||||
| * Updates the Comment resource. | * Updates the Comment resource. | ||||
| * Updates the Comment resource. | * Updates the Comment resource. | ||||
| * @param id CommentApi identifier | |||||
| * @param id Comment identifier | |||||
| * @param comment The updated Comment resource | * @param comment The updated Comment resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -198,7 +198,7 @@ export class ContactService { | |||||
| /** | /** | ||||
| * Retrieves a Contact resource. | * Retrieves a Contact resource. | ||||
| * Retrieves a Contact resource. | * Retrieves a Contact resource. | ||||
| * @param id ContactApi identifier | |||||
| * @param id Contact identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -273,7 +273,7 @@ export class ContactService { | |||||
| /** | /** | ||||
| * Updates the Contact resource. | * Updates the Contact resource. | ||||
| * Updates the Contact resource. | * Updates the Contact resource. | ||||
| * @param id ContactApi identifier | |||||
| * @param id Contact identifier | |||||
| * @param contact The updated Contact resource | * @param contact The updated Contact resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -198,7 +198,7 @@ export class ContactPartnerProductService { | |||||
| /** | /** | ||||
| * Removes the ContactPartnerProduct resource. | * Removes the ContactPartnerProduct resource. | ||||
| * Removes the ContactPartnerProduct resource. | * Removes the ContactPartnerProduct resource. | ||||
| * @param id ContactPartnerProductApi identifier | |||||
| * @param id ContactPartnerProduct identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -269,7 +269,7 @@ export class ContactPartnerProductService { | |||||
| /** | /** | ||||
| * Retrieves a ContactPartnerProduct resource. | * Retrieves a ContactPartnerProduct resource. | ||||
| * Retrieves a ContactPartnerProduct resource. | * Retrieves a ContactPartnerProduct resource. | ||||
| * @param id ContactPartnerProductApi identifier | |||||
| * @param id ContactPartnerProduct identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -222,7 +222,7 @@ export class DocumentService { | |||||
| /** | /** | ||||
| * Retrieves a Document resource. | * Retrieves a Document resource. | ||||
| * Retrieves a Document resource. | * Retrieves a Document resource. | ||||
| * @param id DocumentApi identifier | |||||
| * @param id Document identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -297,7 +297,7 @@ export class DocumentService { | |||||
| /** | /** | ||||
| * Updates the Document resource. | * Updates the Document resource. | ||||
| * Updates the Document resource. | * Updates the Document resource. | ||||
| * @param id DocumentApi identifier | |||||
| * @param id Document identifier | |||||
| * @param document The updated Document resource | * @param document The updated Document resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -218,7 +218,7 @@ export class PartnerService { | |||||
| /** | /** | ||||
| * Retrieves a Partner resource. | * Retrieves a Partner resource. | ||||
| * Retrieves a Partner resource. | * Retrieves a Partner resource. | ||||
| * @param id PartnerApi identifier | |||||
| * @param id Partner identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -293,7 +293,7 @@ export class PartnerService { | |||||
| /** | /** | ||||
| * Updates the Partner resource. | * Updates the Partner resource. | ||||
| * Updates the Partner resource. | * Updates the Partner resource. | ||||
| * @param id PartnerApi identifier | |||||
| * @param id Partner identifier | |||||
| * @param partner The updated Partner resource | * @param partner The updated Partner resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -222,7 +222,7 @@ export class PartnerFollowService { | |||||
| /** | /** | ||||
| * Removes the PartnerFollow resource. | * Removes the PartnerFollow resource. | ||||
| * Removes the PartnerFollow resource. | * Removes the PartnerFollow resource. | ||||
| * @param id PartnerFollowApi identifier | |||||
| * @param id PartnerFollow identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -293,7 +293,7 @@ export class PartnerFollowService { | |||||
| /** | /** | ||||
| * Retrieves a PartnerFollow resource. | * Retrieves a PartnerFollow resource. | ||||
| * Retrieves a PartnerFollow resource. | * Retrieves a PartnerFollow resource. | ||||
| * @param id PartnerFollowApi identifier | |||||
| * @param id PartnerFollow identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -227,7 +227,7 @@ export class PartnerProductService { | |||||
| /** | /** | ||||
| * Removes the PartnerProduct resource. | * Removes the PartnerProduct resource. | ||||
| * Removes the PartnerProduct resource. | * Removes the PartnerProduct resource. | ||||
| * @param id PartnerProductApi identifier | |||||
| * @param id PartnerProduct identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -298,7 +298,7 @@ export class PartnerProductService { | |||||
| /** | /** | ||||
| * Retrieves a PartnerProduct resource. | * Retrieves a PartnerProduct resource. | ||||
| * Retrieves a PartnerProduct resource. | * Retrieves a PartnerProduct resource. | ||||
| * @param id PartnerProductApi identifier | |||||
| * @param id PartnerProduct identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -252,7 +252,7 @@ export class PostService { | |||||
| /** | /** | ||||
| * Retrieves a Post resource. | * Retrieves a Post resource. | ||||
| * Retrieves a Post resource. | * Retrieves a Post resource. | ||||
| * @param id PostingApi identifier | |||||
| * @param id Post identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -327,7 +327,7 @@ export class PostService { | |||||
| /** | /** | ||||
| * Updates the Post resource. | * Updates the Post resource. | ||||
| * Updates the Post resource. | * Updates the Post resource. | ||||
| * @param id PostingApi identifier | |||||
| * @param id Post identifier | |||||
| * @param postPostingPatch The updated Post resource | * @param postPostingPatch The updated Post resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -196,7 +196,7 @@ export class ProductService { | |||||
| /** | /** | ||||
| * Retrieves a Product resource. | * Retrieves a Product resource. | ||||
| * Retrieves a Product resource. | * Retrieves a Product resource. | ||||
| * @param id ProductApi identifier | |||||
| * @param id Product identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -271,7 +271,7 @@ export class ProductService { | |||||
| /** | /** | ||||
| * Updates the Product resource. | * Updates the Product resource. | ||||
| * Updates the Product resource. | * Updates the Product resource. | ||||
| * @param id ProductApi identifier | |||||
| * @param id Product identifier | |||||
| * @param product The updated Product resource | * @param product The updated Product resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -210,7 +210,7 @@ export class SaleService { | |||||
| /** | /** | ||||
| * Retrieves a Sale resource. | * Retrieves a Sale resource. | ||||
| * Retrieves a Sale resource. | * Retrieves a Sale resource. | ||||
| * @param id SaleApi identifier | |||||
| * @param id Sale identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -285,7 +285,7 @@ export class SaleService { | |||||
| /** | /** | ||||
| * Updates the Sale resource. | * Updates the Sale resource. | ||||
| * Updates the Sale resource. | * Updates the Sale resource. | ||||
| * @param id SaleApi identifier | |||||
| * @param id Sale identifier | |||||
| * @param sale The updated Sale resource | * @param sale The updated Sale resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -222,7 +222,7 @@ export class TaskService { | |||||
| /** | /** | ||||
| * Retrieves a Task resource. | * Retrieves a Task resource. | ||||
| * Retrieves a Task resource. | * Retrieves a Task resource. | ||||
| * @param id TaskApi identifier | |||||
| * @param id Task identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -297,7 +297,7 @@ export class TaskService { | |||||
| /** | /** | ||||
| * Updates the Task resource. | * Updates the Task resource. | ||||
| * Updates the Task resource. | * Updates the Task resource. | ||||
| * @param id TaskApi identifier | |||||
| * @param id Task identifier | |||||
| * @param task The updated Task resource | * @param task The updated Task resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -198,7 +198,7 @@ export class TaskNoteService { | |||||
| /** | /** | ||||
| * Retrieves a TaskNote resource. | * Retrieves a TaskNote resource. | ||||
| * Retrieves a TaskNote resource. | * Retrieves a TaskNote resource. | ||||
| * @param id TaskNoteApi identifier | |||||
| * @param id TaskNote identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -273,7 +273,7 @@ export class TaskNoteService { | |||||
| /** | /** | ||||
| * Updates the TaskNote resource. | * Updates the TaskNote resource. | ||||
| * Updates the TaskNote resource. | * Updates the TaskNote resource. | ||||
| * @param id TaskNoteApi identifier | |||||
| * @param id TaskNote identifier | |||||
| * @param taskNote The updated TaskNote resource | * @param taskNote The updated TaskNote resource | ||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| @@ -196,7 +196,7 @@ export class UserService { | |||||
| /** | /** | ||||
| * Retrieves a User resource. | * Retrieves a User resource. | ||||
| * Retrieves a User resource. | * Retrieves a User resource. | ||||
| * @param id UserApi identifier | |||||
| * @param id User identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -215,7 +215,7 @@ export class UserProductService { | |||||
| /** | /** | ||||
| * Removes the UserProduct resource. | * Removes the UserProduct resource. | ||||
| * Removes the UserProduct resource. | * Removes the UserProduct resource. | ||||
| * @param id UserProductApi identifier | |||||
| * @param id UserProduct identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -286,7 +286,7 @@ export class UserProductService { | |||||
| /** | /** | ||||
| * Retrieves a UserProduct resource. | * Retrieves a UserProduct resource. | ||||
| * Retrieves a UserProduct resource. | * Retrieves a UserProduct resource. | ||||
| * @param id UserProductApi identifier | |||||
| * @param id UserProduct identifier | |||||
| * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | * @param observe set whether or not to return the data Observable as the body, response or events. defaults to returning the body. | ||||
| * @param reportProgress flag to report request and response progress. | * @param reportProgress flag to report request and response progress. | ||||
| */ | */ | ||||
| @@ -25,7 +25,7 @@ export interface PartnerProduct { | |||||
| /** | /** | ||||
| * ?ProductApi | * ?ProductApi | ||||
| */ | */ | ||||
| product?: Product; | |||||
| readonly product?: Product; | |||||
| productIri: string | null; | productIri: string | null; | ||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| @@ -27,7 +27,7 @@ export interface PartnerProductJsonhal { | |||||
| /** | /** | ||||
| * ?ProductApi | * ?ProductApi | ||||
| */ | */ | ||||
| product?: ProductJsonhal; | |||||
| readonly product?: ProductJsonhal; | |||||
| productIri: string | null; | productIri: string | null; | ||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| @@ -29,7 +29,7 @@ export interface PartnerProductJsonld { | |||||
| /** | /** | ||||
| * ?ProductApi | * ?ProductApi | ||||
| */ | */ | ||||
| product?: ProductJsonld; | |||||
| readonly product?: ProductJsonld; | |||||
| productIri: string | null; | productIri: string | null; | ||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| @@ -45,7 +45,7 @@ export interface Post { | |||||
| */ | */ | ||||
| readonly sale?: Contact; | readonly sale?: Contact; | ||||
| saleIri?: string | null; | saleIri?: string | null; | ||||
| numComments?: number | null; | |||||
| readonly numComments?: number | null; | |||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| @@ -47,7 +47,7 @@ export interface PostJsonhal { | |||||
| */ | */ | ||||
| readonly sale?: ContactJsonhal; | readonly sale?: ContactJsonhal; | ||||
| saleIri?: string | null; | saleIri?: string | null; | ||||
| numComments?: number | null; | |||||
| readonly numComments?: number | null; | |||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| @@ -49,7 +49,7 @@ export interface PostJsonld { | |||||
| */ | */ | ||||
| readonly sale?: ContactJsonld; | readonly sale?: ContactJsonld; | ||||
| saleIri?: string | null; | saleIri?: string | null; | ||||
| numComments?: number | null; | |||||
| readonly numComments?: number | null; | |||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| @@ -48,6 +48,7 @@ export interface Task { | |||||
| contactIri?: string | null; | contactIri?: string | null; | ||||
| prio: Task.PrioEnum; | prio: Task.PrioEnum; | ||||
| completed: boolean | null; | completed: boolean | null; | ||||
| readonly numTaskNotes?: number | null; | |||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| export namespace Task { | export namespace Task { | ||||
| @@ -50,6 +50,7 @@ export interface TaskJsonhal { | |||||
| contactIri?: string | null; | contactIri?: string | null; | ||||
| prio: TaskJsonhal.PrioEnum; | prio: TaskJsonhal.PrioEnum; | ||||
| completed: boolean | null; | completed: boolean | null; | ||||
| readonly numTaskNotes?: number | null; | |||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| export namespace TaskJsonhal { | export namespace TaskJsonhal { | ||||
| @@ -52,6 +52,7 @@ export interface TaskJsonld { | |||||
| contactIri?: string | null; | contactIri?: string | null; | ||||
| prio: TaskJsonld.PrioEnum; | prio: TaskJsonld.PrioEnum; | ||||
| completed: boolean | null; | completed: boolean | null; | ||||
| readonly numTaskNotes?: number | null; | |||||
| readonly createdAt?: string | null; | readonly createdAt?: string | null; | ||||
| } | } | ||||
| export namespace TaskJsonld { | export namespace TaskJsonld { | ||||