import { Component, Input } from '@angular/core';
import { FormControl } from '@angular/forms';
import { NotificationService, PageMetadataService, SharedModule } from '@vendure/admin-ui/core';
@Component({
selector: 'demo-block',
template: `
`,
standalone: true,
})
export class DemoBlockComponent {
@Input() label: string;
}
@Component({
selector: 'angular-ui',
templateUrl: './angular-ui.component.html',
standalone: true,
imports: [SharedModule, DemoBlockComponent],
})
export class AngularUiComponent {
pageTitleControl = new FormControl('Angular UI');
invalidFormControl = new FormControl('', () => ({ invalid: true }));
constructor(
private notificationService: NotificationService,
private pageMetadataService: PageMetadataService,
) {}
canDeactivate() {
return this.pageTitleControl.pristine;
}
updateTitle() {
const title = this.pageTitleControl.value;
if (title) {
this.pageMetadataService.setTitle(title);
this.notificationService.success(`Updated title to "${title}"`);
this.pageTitleControl.markAsPristine();
}
}
}