import { Component, Input, Inject, forwardRef, Output, EventEmitter } from '@angular/core';
import { RdComponent } from '../../base/rdComponent';
import { Form } from './form';
import { RdLib } from '../../base/rdLib';
export type FormButtonSize = 'small' | 'medium';
@Component({
selector: 'rd-submit',
template: `
`
})
export class FormSubmit extends RdComponent {
constructor(@Inject(forwardRef(() => Form)) private form: Form) {
super();
}
@Input("rd-text") text: string = RdLib.localization.translateEn('Submit');
@Input("rd-icon") icon: string = 'fas fa-save';
@Input("rd-color") color: string = "green";
@Input("rd-size") size: FormButtonSize = 'small';
@Input("rd-disabled") disabled;
@Input("rd-process") onProcess;
@Output("rd-click") clickEvent: EventEmitter = new EventEmitter();
submit = function () {
if (this.form.validate()) {
var query = this.form.getQuery();
this.clickEvent.emit(query);
}
else {
var header = RdLib.localization.translateEn("Form Error");
var body = RdLib.localization.translateEn("Please fix form warnings to process");
RdLib.screenOperations.toastr.warning(body, header);
}
};
}
@Component({
selector: 'rd-clean',
template: `
`
})
export class FormClean extends RdComponent {
constructor(@Inject(forwardRef(() => Form)) private form: Form) {
super();
}
@Input("rd-text") text = RdLib.localization.translateEn('Clear');
@Input("rd-icon") icon = 'fas fa-trash-alt';
@Input("rd-color") color = "red";
@Input("rd-size") size = 'small';
@Input("rd-disabled") disabled;
@Output("rd-click") clickEvent: EventEmitter = new EventEmitter();
clean = function () {
this.form.clean();
this.clickEvent.emit();
};
}