ngx-schema-forms
Version:
New features: - Ajv schema validator. - Angular forms compatible: Property tree is created using FormGroup, FormArray and FormControl classes. - Array now properly loads initial data from model. - WidgetTyep: WidgetRegistry now supports WidgetType, now wo
93 lines (92 loc) • 6.12 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
import * as tslib_1 from "tslib";
import { Component, Input, Output, ElementRef, EventEmitter } from '@angular/core';
import { TemplateSchemaElement } from '../template-schema-element';
import { ButtonWidgetOptions } from '../../widgets/base/button.widget';
var ButtonComponent = /** @class */ (function (_super) {
tslib_1.__extends(ButtonComponent, _super);
function ButtonComponent(elementRef) {
var _this = _super.call(this) || this;
_this.elementRef = elementRef;
_this.label = '';
_this.options = new ButtonWidgetOptions();
_this.click = new EventEmitter();
_this.changes = new EventEmitter();
return _this;
}
/**
* @return {?}
*/
ButtonComponent.prototype.setLabelFromContent = /**
* @return {?}
*/
function () {
/** @type {?} */
var textContent = this.getTextContent(this.elementRef);
// label as @Input takes priority over content text
if (textContent && !this.label) {
this.label = textContent;
}
};
/**
* @param {?} changes
* @return {?}
*/
ButtonComponent.prototype.ngOnChanges = /**
* @param {?} changes
* @return {?}
*/
function (changes) {
if (changes["label"] || changes["widget"]) {
this.changes.emit({ label: this.label, widget: this.widget });
}
};
/**
* @return {?}
*/
ButtonComponent.prototype.ngAfterContentInit = /**
* @return {?}
*/
function () {
this.setLabelFromContent();
};
ButtonComponent.decorators = [
{ type: Component, args: [{
selector: 'sf-button',
template: "<ng-content></ng-content>\n"
}] }
];
/** @nocollapse */
ButtonComponent.ctorParameters = function () { return [
{ type: ElementRef }
]; };
ButtonComponent.propDecorators = {
id: [{ type: Input }],
label: [{ type: Input }],
options: [{ type: Input }],
widget: [{ type: Input }],
click: [{ type: Output }]
};
return ButtonComponent;
}(TemplateSchemaElement));
export { ButtonComponent };
if (false) {
/** @type {?} */
ButtonComponent.prototype.id;
/** @type {?} */
ButtonComponent.prototype.label;
/** @type {?} */
ButtonComponent.prototype.options;
/** @type {?} */
ButtonComponent.prototype.widget;
/** @type {?} */
ButtonComponent.prototype.click;
/** @type {?} */
ButtonComponent.prototype.changes;
/** @type {?} */
ButtonComponent.prototype.elementRef;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL25neC1zY2hlbWEtZm9ybXMvIiwic291cmNlcyI6WyJsaWIvdGVtcGxhdGUtc2NoZW1hL2J1dHRvbi9idXR0b24uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxLQUFLLEVBQ0wsTUFBTSxFQUNOLFVBQVUsRUFDVixZQUFZLEVBR2IsTUFBTSxlQUFlLENBQUM7QUFHdkIsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDbkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7O0lBUWxDLDJDQUFxQjtJQW9CeEQseUJBQW9CLFVBQXNCO1FBQTFDLFlBQ0UsaUJBQU8sU0FDUjtRQUZtQixnQkFBVSxHQUFWLFVBQVUsQ0FBWTtzQkFibEMsRUFBRTt3QkFHQSxJQUFJLG1CQUFtQixFQUFFO3NCQU0zQixJQUFJLFlBQVksRUFBTzt3QkFFckIsSUFBSSxZQUFZLEVBQU87O0tBSWhDOzs7O0lBRU8sNkNBQW1COzs7OztRQUN6QixJQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQzs7UUFHekQsRUFBRSxDQUFDLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7WUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUM7U0FDMUI7Ozs7OztJQUlILHFDQUFXOzs7O0lBQVgsVUFBWSxPQUFzQjtRQUNoQyxFQUFFLENBQUMsQ0FBQyxPQUFPLGFBQVUsT0FBTyxVQUFPLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO0tBQ0Y7Ozs7SUFFRCw0Q0FBa0I7OztJQUFsQjtRQUNFLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0tBQzVCOztnQkEvQ0YsU0FBUyxTQUFDO29CQUNULFFBQVEsRUFBRSxXQUFXO29CQUNyQixRQUFRLEVBQUUsNkJBQ1g7aUJBQ0E7Ozs7Z0JBZkMsVUFBVTs7O3FCQW1CVCxLQUFLO3dCQUdMLEtBQUs7MEJBR0wsS0FBSzt5QkFHTCxLQUFLO3dCQUdMLE1BQU07OzBCQXBDVDtFQXFCcUMscUJBQXFCO1NBQTdDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEFmdGVyQ29udGVudEluaXQsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEVsZW1lbnRSZWYsXG4gIEV2ZW50RW1pdHRlcixcbiAgT25DaGFuZ2VzLFxuICBTaW1wbGVDaGFuZ2VzXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBUZW1wbGF0ZVNjaGVtYUVsZW1lbnQgfSBmcm9tICcuLi90ZW1wbGF0ZS1zY2hlbWEtZWxlbWVudCc7XG5pbXBvcnQgeyBCdXR0b25XaWRnZXRPcHRpb25zIH0gZnJvbSAnLi4vLi4vd2lkZ2V0cy9iYXNlL2J1dHRvbi53aWRnZXQnO1xuXG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NmLWJ1dHRvbicsXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuYCxcbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IGV4dGVuZHMgVGVtcGxhdGVTY2hlbWFFbGVtZW50XG5pbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJDb250ZW50SW5pdCB7XG5cbiAgQElucHV0KClcbiAgaWQ6IHN0cmluZztcblxuICBASW5wdXQoKVxuICBsYWJlbCA9ICcnO1xuXG4gIEBJbnB1dCgpXG4gIG9wdGlvbnMgPSBuZXcgQnV0dG9uV2lkZ2V0T3B0aW9ucygpO1xuXG4gIEBJbnB1dCgpXG4gIHdpZGdldDogc3RyaW5nIHwgb2JqZWN0O1xuXG4gIEBPdXRwdXQoKVxuICBjbGljayA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIGNoYW5nZXMgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRMYWJlbEZyb21Db250ZW50KCkge1xuICAgIGNvbnN0IHRleHRDb250ZW50ID0gdGhpcy5nZXRUZXh0Q29udGVudCh0aGlzLmVsZW1lbnRSZWYpO1xuXG4gICAgLy8gbGFiZWwgYXMgQElucHV0IHRha2VzIHByaW9yaXR5IG92ZXIgY29udGVudCB0ZXh0XG4gICAgaWYgKHRleHRDb250ZW50ICYmICF0aGlzLmxhYmVsKSB7XG4gICAgICB0aGlzLmxhYmVsID0gdGV4dENvbnRlbnQ7XG4gICAgfVxuXG4gIH1cblxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKSB7XG4gICAgaWYgKGNoYW5nZXMubGFiZWwgfHwgY2hhbmdlcy53aWRnZXQpIHtcbiAgICAgIHRoaXMuY2hhbmdlcy5lbWl0KHsgbGFiZWw6IHRoaXMubGFiZWwsIHdpZGdldDogdGhpcy53aWRnZXQgfSk7XG4gICAgfVxuICB9XG5cbiAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgIHRoaXMuc2V0TGFiZWxGcm9tQ29udGVudCgpO1xuICB9XG5cbn1cbiJdfQ==