ngx-config-form
Version:
use configuration to generate form
70 lines • 4.88 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, EventEmitter, Input, Output } from '@angular/core';
import { FormGroup } from '@angular/forms';
export class ButtonComponent {
constructor() {
this.buttonClass = '';
this.isDebug = 'N';
this.type = 'button';
this.isProcessing = false;
this.click = new EventEmitter();
}
/**
* @return {?}
*/
ngOnInit() {
}
/**
* @param {?} event
* @return {?}
*/
clickIt(event) {
event.preventDefault();
event.stopImmediatePropagation();
if (!this.cfFormGroup.dirty) {
return;
}
if (this.cfFormGroup.invalid) {
return;
}
if (this.isProcessing) {
return;
}
this.click.emit(event);
}
}
ButtonComponent.decorators = [
{ type: Component, args: [{
selector: 'cf-button',
template: "<button [type]=\"type\"\n [class]=\"buttonClass\"\n [ngClass]=\"{'disabled': !(cfFormGroup.dirty && cfFormGroup.valid) || isProcessing}\"\n (click)=\"clickIt($event)\">\n <ng-content></ng-content>\n</button>\n\n<div *ngIf=\"isDebug==='Y'\" class=\"tt\">\n <hr />\n cfFormGroup.value : {{cfFormGroup.value | json}} <br />\n <hr />\n</div>\n",
styles: [".tt{background-color:gray;position:fixed;bottom:0;left:0;width:100%;z-index:10000}"]
}] }
];
/** @nocollapse */
ButtonComponent.ctorParameters = () => [];
ButtonComponent.propDecorators = {
cfFormGroup: [{ type: Input }],
buttonClass: [{ type: Input }],
isDebug: [{ type: Input }],
type: [{ type: Input }],
isProcessing: [{ type: Input }],
click: [{ type: Output }]
};
if (false) {
/** @type {?} */
ButtonComponent.prototype.cfFormGroup;
/** @type {?} */
ButtonComponent.prototype.buttonClass;
/** @type {?} */
ButtonComponent.prototype.isDebug;
/** @type {?} */
ButtonComponent.prototype.type;
/** @type {?} */
ButtonComponent.prototype.isProcessing;
/** @type {?} */
ButtonComponent.prototype.click;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1jb25maWctZm9ybS8iLCJzb3VyY2VzIjpbImxpYi9jb21wb25lbnRzL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQy9FLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQU8zQyxNQUFNLE9BQU8sZUFBZTtJQVUxQjtRQVBTLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFlBQU8sR0FBYyxHQUFHLENBQUM7UUFDekIsU0FBSSxHQUFrQyxRQUFRLENBQUM7UUFDL0MsaUJBQVksR0FBRyxLQUFLLENBQUM7UUFFcEIsVUFBSyxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFFckIsQ0FBQzs7OztJQUVqQixRQUFRO0lBQ1IsQ0FBQzs7Ozs7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxDQUFDO1FBRWpDLElBQUksQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRTtZQUMzQixPQUFPO1NBQ1I7UUFDRCxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxFQUFFO1lBQzVCLE9BQU87U0FDUjtRQUVELElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN6QixDQUFDOzs7WUFwQ0YsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSxXQUFXO2dCQUNyQixzV0FBc0M7O2FBRXZDOzs7OzswQkFHRSxLQUFLOzBCQUNMLEtBQUs7c0JBQ0wsS0FBSzttQkFDTCxLQUFLOzJCQUNMLEtBQUs7b0JBRUwsTUFBTTs7OztJQU5QLHNDQUFnQzs7SUFDaEMsc0NBQTBCOztJQUMxQixrQ0FBa0M7O0lBQ2xDLCtCQUF3RDs7SUFDeEQsdUNBQThCOztJQUU5QixnQ0FBcUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2NmLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9idXR0b24uY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBCdXR0b25Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuXG4gIEBJbnB1dCgpIGNmRm9ybUdyb3VwOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGJ1dHRvbkNsYXNzID0gJyc7XG4gIEBJbnB1dCgpIGlzRGVidWc6ICdZJyB8ICdOJyA9ICdOJztcbiAgQElucHV0KCkgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgPSAnYnV0dG9uJztcbiAgQElucHV0KCkgaXNQcm9jZXNzaW5nID0gZmFsc2U7XG5cbiAgQE91dHB1dCgpIGNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIGNvbnN0cnVjdG9yKCkgeyB9XG5cbiAgbmdPbkluaXQoKSB7XG4gIH1cblxuICBjbGlja0l0KGV2ZW50OiBNb3VzZUV2ZW50KSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBldmVudC5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKTtcblxuICAgIGlmICghdGhpcy5jZkZvcm1Hcm91cC5kaXJ0eSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAodGhpcy5jZkZvcm1Hcm91cC5pbnZhbGlkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNQcm9jZXNzaW5nKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5jbGljay5lbWl0KGV2ZW50KTtcbiAgfVxuXG59XG4iXX0=