angular-formio
Version:
The Form.io dynamic form and data management system for Angular.
33 lines (30 loc) • 1.45 kB
text/typescript
import { Component, EventEmitter } from '@angular/core';
import { Router, ActivatedRoute } from '@angular/router';
import { FormioResourceService } from './resource.service';
import { FormioResourceConfig } from './resource.config';
({
styles: ['.back-button { font-size: 0.8em; }'],
template:
'<h3 *ngIf="service.form" style="margin-top:0;"><a routerLink="../" class="back-button"><span class="glyphicon glyphicon-chevron-left"></span></a> | New {{ service.form.title }}</h3>' +
'<formio [form]="service.form" [submission]="service.resource" [refresh]="service.refresh" [hideComponents]="config.parents" [error]="onError" [success]="onSuccess" (submit)="onSubmit($event)"></formio>'
})
export class FormioResourceCreateComponent {
public onError: EventEmitter<any>;
public onSuccess: EventEmitter<any>;
constructor(
public service: FormioResourceService,
public route: ActivatedRoute,
public router: Router,
public config: FormioResourceConfig
) {
// Start with fresh data.
this.service.initialize();
this.onError = new EventEmitter();
this.onSuccess = new EventEmitter();
}
onSubmit(submission: any) {
this.service.save(submission).then(() => {
this.router.navigate(['../', this.service.resource._id, 'view'], {relativeTo: this.route});
}).catch((err: any) => this.onError.emit(err));
}
}