Calendar_Frontend/src/app/components/event/event.component.html
2025-05-29 13:32:20 +02:00

108 lines
2.9 KiB
HTML

<ng-container *ngIf="editActive">
<td>
{{event?.calendarId}}
</td>
<td class="{{requiredFieldsMissing? 'has-error' : ''}}">
<input type="text" [(ngModel)]="event!.name">
</td>
<td>
<input type="text" [(ngModel)]="event!.description">
</td>
<td>
<input type="checkbox" [(ngModel)]="event!.wholeDay">
</td>
<td class="{{showDateError || requiredFieldsMissing? 'has-error' : ''}}">
<input type="date" [(ngModel)]="newStartDate" (change)="setStartDateTime()">
<input type="time" [(ngModel)]="newStartTime" (change)="setStartDateTime()" *ngIf="!this.event!.wholeDay">
</td>
<td class="{{showDateError || requiredFieldsMissing? 'has-error' : ''}}">
<input type="date" [(ngModel)]="newEndDate" (change)="setEndDateTime()">
<input type="time" [(ngModel)]="newEndTime" (change)="setEndDateTime()" *ngIf="!this.event!.wholeDay">
</td>
<td>
<input type="text" [(ngModel)]="event!.location">
</td>
<td class="{{invalidUrlError? 'has-error' : ''}}">
<input type="text" [(ngModel)]="event!.url">
</td>
<td>
By: {{event?.createdBy}}
<br>
At: {{printDate(event?.createdDate!)}}
</td>
<td>
By: {{event?.lastModifiedBy}}
<br>
At: {{printDate(event?.lastModifiedDate!)}}
</td>
<td>
<select [(ngModel)]="event!.status">
<option value="DRAFT">Draft</option>
<option value="PUBLIC">Published</option>
</select>
</td>
<td>
<button (click)="toggleEdit()">Save</button>
<p class="has-error" *ngIf="showDateError">Start Date must not be after end date!</p>
<p class="has-error" *ngIf="requiredFieldsMissing">Required fields are missing!</p>
<p class="has-error" *ngIf="showCreateError">Error creating event. Please try again.</p>
<p class="has-error" *ngIf="invalidUrlError">Invalid URL, please only provide valid ones!</p>
</td>
<td>
<button (click)="triggerMove()" *ngIf="event!.eventId !== undefined">Move</button>
</td>
<td>
<button (click)="triggerDelete()" *ngIf="event!.eventId !== undefined">Delete</button>
</td>
</ng-container>
<ng-container *ngIf="!editActive">
<td>
{{event?.calendarId}}
</td>
<td>
{{event?.name}}
</td>
<td>
{{event?.description}}
</td>
<td>
<input type="checkbox" [(ngModel)]="event!.wholeDay" disabled>
</td>
<td>
<input type="date" [value]="newStartDate" readonly>
<input type="time" [value]="newStartTime" readonly *ngIf="!this.event!.wholeDay">
</td>
<td>
<input type="date" [value]="newEndDate" readonly>
<input type="time" [value]="newEndTime" readonly *ngIf="!this.event!.wholeDay">
</td>
<td>
{{event?.location}}
</td>
<td>
{{event?.url}}
</td>
<td>
By: {{event?.createdBy}}
<br>
At: {{printDate(event?.createdDate!)}}
</td>
<td>
By: {{event?.lastModifiedBy}}
<br>
At: {{printDate(event?.lastModifiedDate!)}}
</td>
<td>
{{getEventStatusFriendlyName()}}
</td>
<td>
<button (click)="toggleEdit()">Edit</button>
</td>
<td>
<button (click)="triggerMove()">Move</button>
</td>
<td>
<button (click)="triggerDelete()">Delete</button>
</td>
</ng-container>