angular-easy-form
Version:
Create angular forms fast and easy
67 lines • 8.01 kB
JavaScript
import { Output } from '@angular/core';
import { Component, EventEmitter, Input } from '@angular/core';
import { TranslateHttpLoader } from '@ngx-translate/http-loader';
import { Config } from './config/config';
import { Fields } from './config/fields';
// @dynamic
export function HttpLoaderFactory(http) {
const transl = new TranslateHttpLoader(http, './src/assets/i18n/', '.json');
return transl;
}
export class AngularEasyFormComponent {
constructor(themConfig) {
this.themConfig = themConfig;
this.eventsForm = new EventEmitter();
this.allFields = {};
this.valueEvent = {};
this.otherEvents = {};
this.masterConfig = {};
this.showGroups = false;
this.setFieldsConfig = [];
this.masterConfig = {};
}
setLanguage(lang) {
this.lang = lang;
}
// tslint:disable-next-line: typedef
ngOnInit() {
console.log('testeappa');
this.populateGroup();
}
formOptions() {
return this.themConfig;
}
// tslint:disable-next-line: typedef
eventGroupFields(event) {
this.agregateResult(event);
this.valueEvent = {
otherEvents: this.allFields,
values: Object.assign(this.otherEvents, event[Object.keys(event)[0].toString()][0])
};
this.eventsForm.emit(this.valueEvent);
}
agregateResult(event) {
this.allFields = Object.assign(this.allFields, event);
}
populateGroup() {
this.masterConfig.fields = this.setFieldsConfig;
this.masterConfig.lang = this.lang;
this.showGroups = this.setFieldsConfig ? true : false;
}
}
AngularEasyFormComponent.decorators = [
{ type: Component, args: [{
selector: 'lib-angular-easy-form',
template: "<div *ngIf=\"showGroups\">\r\n <lib-group-fields *ngFor=\"let horizontalFields of masterConfig.fields\"\r\n [style]='masterConfig.style' \r\n [configGroup]='horizontalFields'\r\n [setLang]=' masterConfig.lang'\r\n (eventGroupInput) ='eventGroupFields($event)'\r\n ></lib-group-fields>\r\n</div>\r\n",
styles: ['./angular-easy-form.component.css']
},] }
];
AngularEasyFormComponent.ctorParameters = () => [
{ type: Config }
];
AngularEasyFormComponent.propDecorators = {
eventsForm: [{ type: Output }],
setFieldsConfig: [{ type: Input }]
};
export const options = new AngularEasyFormComponent(new Config(new Fields()));
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhci1lYXN5LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXItZWFzeS1mb3JtL3NyYy8iLCJzb3VyY2VzIjpbImxpYi9hbmd1bGFyLWVhc3ktZm9ybS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQXlCLE1BQU0sZUFBZSxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2pFLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsV0FBVztBQUNYLE1BQU0sVUFBVSxpQkFBaUIsQ0FBQyxJQUFnQjtJQUNoRCxNQUFNLE1BQU0sR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksRUFBRSxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUM1RSxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBT0QsTUFBTSxPQUFPLHdCQUF3QjtJQVduQyxZQUFvQixVQUFrQjtRQUFsQixlQUFVLEdBQVYsVUFBVSxDQUFRO1FBVjVCLGVBQVUsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBRzFDLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFRLEVBQUUsQ0FBQztRQUNyQixnQkFBVyxHQUFRLEVBQUUsQ0FBQztRQUN0QixpQkFBWSxHQUFRLEVBQUcsQ0FBQztRQUN4QixlQUFVLEdBQUcsS0FBSyxDQUFDO1FBSWpCLElBQUksQ0FBQyxlQUFlLEdBQUcsRUFBRSxDQUFDO1FBQzFCLElBQUksQ0FBQyxZQUFZLEdBQUcsRUFBRyxDQUFDO0lBRTFCLENBQUM7SUFFRCxXQUFXLENBQUMsSUFBWTtRQUN0QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztJQUNuQixDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLFFBQVE7UUFBUyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ3hDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUN2QixDQUFDO0lBRUQsV0FBVztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQsb0NBQW9DO0lBQ3BDLGdCQUFnQixDQUFDLEtBQVU7UUFDekIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMzQixJQUFJLENBQUMsVUFBVSxHQUFHO1lBQ2hCLFdBQVcsRUFBRSxJQUFJLENBQUMsU0FBUztZQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDcEYsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsY0FBYyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDeEQsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQ2hELElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDbkMsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztJQUN4RCxDQUFDOzs7WUFyREYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSx1QkFBdUI7Z0JBQ2pDLDZVQUFpRDt5QkFDeEMsbUNBQW1DO2FBQzdDOzs7WUFiUSxNQUFNOzs7eUJBZVosTUFBTTs4QkFDTixLQUFLOztBQWtEUixNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsSUFBSSx3QkFBd0IsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBUcmFuc2xhdGVIdHRwTG9hZGVyIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvaHR0cC1sb2FkZXInO1xuaW1wb3J0IHsgQ29uZmlnIH0gZnJvbSAnLi9jb25maWcvY29uZmlnJztcbmltcG9ydCB7IEZpZWxkcyB9IGZyb20gJy4vY29uZmlnL2ZpZWxkcyc7XG5cbi8vIEBkeW5hbWljXG5leHBvcnQgZnVuY3Rpb24gSHR0cExvYWRlckZhY3RvcnkoaHR0cDogSHR0cENsaWVudCkge1xuICBjb25zdCB0cmFuc2wgPSBuZXcgVHJhbnNsYXRlSHR0cExvYWRlcihodHRwLCAnLi9zcmMvYXNzZXRzL2kxOG4vJywgJy5qc29uJyk7XG4gIHJldHVybiB0cmFuc2w7XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2xpYi1hbmd1bGFyLWVhc3ktZm9ybScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hbmd1bGFyLWVhc3ktZm9ybS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlczogWycuL2FuZ3VsYXItZWFzeS1mb3JtLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBBbmd1bGFyRWFzeUZvcm1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAT3V0cHV0KCkgZXZlbnRzRm9ybSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQElucHV0KCkgc2V0RmllbGRzQ29uZmlnOiBhbnk7XG4gIHNldENvbmZpZzogYW55O1xuICBhbGxGaWVsZHM6IGFueSA9IHt9O1xuICB2YWx1ZUV2ZW50OiBhbnkgPSB7fTtcbiAgb3RoZXJFdmVudHM6IGFueSA9IHt9O1xuICBtYXN0ZXJDb25maWc6IGFueSA9IHsgfTtcbiAgc2hvd0dyb3VwcyA9IGZhbHNlO1xuICBsYW5nITpzdHJpbmc7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSB0aGVtQ29uZmlnOiBDb25maWcpIHtcbiAgICB0aGlzLnNldEZpZWxkc0NvbmZpZyA9IFtdO1xuICAgIHRoaXMubWFzdGVyQ29uZmlnID0geyB9O1xuXG4gIH1cblxuICBzZXRMYW5ndWFnZShsYW5nOiBzdHJpbmcpIHtcbiAgICB0aGlzLmxhbmcgPSBsYW5nO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB0eXBlZGVmXG4gIG5nT25Jbml0KCkgeyAgICAgY29uc29sZS5sb2coJ3Rlc3RlYXBwYScpO1xuICAgIHRoaXMucG9wdWxhdGVHcm91cCgpO1xuICB9XG5cbiAgZm9ybU9wdGlvbnMoKTogQ29uZmlnIHtcbiAgICByZXR1cm4gdGhpcy50aGVtQ29uZmlnO1xuICB9XG5cbiAgLy8gdHNsaW50OmRpc2FibGUtbmV4dC1saW5lOiB0eXBlZGVmXG4gIGV2ZW50R3JvdXBGaWVsZHMoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYWdyZWdhdGVSZXN1bHQoZXZlbnQpO1xuICAgIHRoaXMudmFsdWVFdmVudCA9IHtcbiAgICAgIG90aGVyRXZlbnRzOiB0aGlzLmFsbEZpZWxkcyxcbiAgICAgIHZhbHVlczogT2JqZWN0LmFzc2lnbih0aGlzLm90aGVyRXZlbnRzLCBldmVudFtPYmplY3Qua2V5cyhldmVudClbMF0udG9TdHJpbmcoKV1bMF0pXG4gICAgfTtcbiAgICB0aGlzLmV2ZW50c0Zvcm0uZW1pdCh0aGlzLnZhbHVlRXZlbnQpO1xuICB9XG5cbiAgYWdyZWdhdGVSZXN1bHQoZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuYWxsRmllbGRzID0gT2JqZWN0LmFzc2lnbih0aGlzLmFsbEZpZWxkcywgZXZlbnQpO1xuICB9XG5cbiAgcG9wdWxhdGVHcm91cCgpIHtcbiAgICB0aGlzLm1hc3RlckNvbmZpZy5maWVsZHMgPSB0aGlzLnNldEZpZWxkc0NvbmZpZztcbiAgICB0aGlzLm1hc3RlckNvbmZpZy5sYW5nID0gdGhpcy5sYW5nO1xuICAgIHRoaXMuc2hvd0dyb3VwcyA9IHRoaXMuc2V0RmllbGRzQ29uZmlnID8gdHJ1ZSA6IGZhbHNlO1xuICB9XG5cbn1cblxuZXhwb3J0IGNvbnN0IG9wdGlvbnMgPSBuZXcgQW5ndWxhckVhc3lGb3JtQ29tcG9uZW50KG5ldyBDb25maWcobmV3IEZpZWxkcygpKSk7XG5cbiJdfQ==