File
Metadata
| changeDetection |
ChangeDetectionStrategy.OnPush |
| selector |
cx-cancel-order-confirmation |
| templateUrl |
./cancel-order-confirmation.component.html |
|
entries$
|
Type : Observable<OrderEntry[]>
|
Default value : this.orderAmendService.getAmendedEntries()
|
|
|
|
form$
|
Default value : this.orderAmendService
.getForm()
.pipe(tap((form) => (this.orderCode = form.value.orderCode)))
|
|
|
import { ChangeDetectionStrategy, Component } from '@angular/core';
import { FormGroup } from '@angular/forms';
import { OrderEntry } from '@spartacus/core';
import { Observable } from 'rxjs';
import { tap } from 'rxjs/operators';
import { OrderAmendService } from '../../amend-order.service';
@Component({
selector: 'cx-cancel-order-confirmation',
templateUrl: './cancel-order-confirmation.component.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CancelOrderConfirmationComponent {
orderCode: string;
form$ = this.orderAmendService
.getForm()
.pipe(tap((form) => (this.orderCode = form.value.orderCode)));
entries$: Observable<OrderEntry[]> =
this.orderAmendService.getAmendedEntries();
constructor(protected orderAmendService: OrderAmendService) {}
submit(form: FormGroup) {
if (form.valid) {
this.orderAmendService.save();
} else {
form.markAllAsTouched();
}
}
}
<form
*ngIf="form$ | async as form"
[formGroup]="form"
(ngSubmit)="submit(form)"
>
<ng-container *ngTemplateOutlet="actions"></ng-container>
<cx-amend-order-items
*ngIf="entries$ | async as entries"
[entries]="entries"
[isConfirmation]="true"
>
</cx-amend-order-items>
<ng-container *ngTemplateOutlet="actions"></ng-container>
<ng-template #actions>
<cx-amend-order-actions
*ngIf="orderCode"
[orderCode]="orderCode"
[amendOrderForm]="form"
backRoute="orderCancel"
></cx-amend-order-actions>
</ng-template>
</form>
Legend
Html element with directive