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
86 lines (85 loc) • 4.99 kB
JavaScript
/**
* @fileoverview added by tsickle
* @suppress {checkTypes,extraRequire,uselessCode} checked by tsc
*/
/** @enum {string} */
var TemplateElementType = {
Field: 'field',
Button: 'button',
};
export { TemplateElementType };
var TemplateSchemaElementRegistry = /** @class */ (function () {
function TemplateSchemaElementRegistry() {
this.elements = {};
}
/**
* @param {?} id
* @param {?=} type
* @return {?}
*/
TemplateSchemaElementRegistry.prototype.hasElement = /**
* @param {?} id
* @param {?=} type
* @return {?}
*/
function (id, type) {
if (type === void 0) { type = TemplateElementType.Field; }
if (!this.elements.hasOwnProperty(type)) {
return false;
}
return this.elements[type].hasOwnProperty(id);
};
/**
* @param {?} id
* @param {?} element
* @param {?=} type
* @return {?}
*/
TemplateSchemaElementRegistry.prototype.register = /**
* @param {?} id
* @param {?} element
* @param {?=} type
* @return {?}
*/
function (id, element, type) {
if (type === void 0) { type = TemplateElementType.Field; }
if (!this.elements.hasOwnProperty(type)) {
this.elements[type] = {};
}
this.elements[type][id] = element;
};
/**
* @template T
* @param {?} id
* @param {?=} type
* @return {?}
*/
TemplateSchemaElementRegistry.prototype.getElement = /**
* @template T
* @param {?} id
* @param {?=} type
* @return {?}
*/
function (id, type) {
if (type === void 0) { type = TemplateElementType.Field; }
if (this.hasElement(id, type)) {
return this.elements[type][id];
}
};
/**
* @return {?}
*/
TemplateSchemaElementRegistry.prototype.clear = /**
* @return {?}
*/
function () {
this.elements = {};
};
return TemplateSchemaElementRegistry;
}());
export { TemplateSchemaElementRegistry };
if (false) {
/** @type {?} */
TemplateSchemaElementRegistry.prototype.elements;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUtc2NoZW1hLWVsZW1lbnQtcmVnaXN0cnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc2NoZW1hLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3RlbXBsYXRlLXNjaGVtYS90ZW1wbGF0ZS1zY2hlbWEtZWxlbWVudC1yZWdpc3RyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7SUFHRSxPQUFRLE9BQU87SUFDZixRQUFTLFFBQVE7OztBQUduQixJQUFBOzt3QkFFZ0UsRUFBRTs7Ozs7OztJQUVoRSxrREFBVTs7Ozs7SUFBVixVQUFXLEVBQVUsRUFBRSxJQUFnQztRQUFoQyxxQkFBQSxFQUFBLE9BQU8sbUJBQW1CLENBQUMsS0FBSztRQUNyRCxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUN4QyxNQUFNLENBQUMsS0FBSyxDQUFDO1NBQ2Q7UUFDRCxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxjQUFjLENBQUMsRUFBRSxDQUFDLENBQUM7S0FDL0M7Ozs7Ozs7SUFFRCxnREFBUTs7Ozs7O0lBQVIsVUFBUyxFQUFVLEVBQUUsT0FBWSxFQUFFLElBQWdDO1FBQWhDLHFCQUFBLEVBQUEsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLO1FBQ2pFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3hDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDO1NBQzFCO1FBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxPQUFPLENBQUM7S0FDbkM7Ozs7Ozs7SUFFRCxrREFBVTs7Ozs7O0lBQVYsVUFBK0IsRUFBVSxFQUFFLElBQWdDO1FBQWhDLHFCQUFBLEVBQUEsT0FBTyxtQkFBbUIsQ0FBQyxLQUFLO1FBQ3pFLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM5QixNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUNoQztLQUNGOzs7O0lBRUQsNkNBQUs7OztJQUFMO1FBQ0UsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUM7S0FDcEI7d0NBakNIO0lBa0NDLENBQUE7QUEzQkQseUNBMkJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRDb21wb25lbnQgfSBmcm9tICcuL2ZpZWxkL2ZpZWxkLmNvbXBvbmVudCc7XG5cbmV4cG9ydCBlbnVtIFRlbXBsYXRlRWxlbWVudFR5cGUge1xuICBGaWVsZCA9ICdmaWVsZCcsXG4gIEJ1dHRvbiA9ICdidXR0b24nXG59XG5cbmV4cG9ydCBjbGFzcyBUZW1wbGF0ZVNjaGVtYUVsZW1lbnRSZWdpc3RyeSB7XG5cbiAgcHJpdmF0ZSBlbGVtZW50czogeyBbdHlwZTogc3RyaW5nXTogeyBbaWQ6IHN0cmluZ106IGFueSB9IH0gPSB7fTtcblxuICBoYXNFbGVtZW50KGlkOiBzdHJpbmcsIHR5cGUgPSBUZW1wbGF0ZUVsZW1lbnRUeXBlLkZpZWxkKSB7XG4gICAgaWYgKCF0aGlzLmVsZW1lbnRzLmhhc093blByb3BlcnR5KHR5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLmVsZW1lbnRzW3R5cGVdLmhhc093blByb3BlcnR5KGlkKTtcbiAgfVxuXG4gIHJlZ2lzdGVyKGlkOiBzdHJpbmcsIGVsZW1lbnQ6IGFueSwgdHlwZSA9IFRlbXBsYXRlRWxlbWVudFR5cGUuRmllbGQpIHtcbiAgICBpZiAoIXRoaXMuZWxlbWVudHMuaGFzT3duUHJvcGVydHkodHlwZSkpIHtcbiAgICAgIHRoaXMuZWxlbWVudHNbdHlwZV0gPSB7fTtcbiAgICB9XG4gICAgdGhpcy5lbGVtZW50c1t0eXBlXVtpZF0gPSBlbGVtZW50O1xuICB9XG5cbiAgZ2V0RWxlbWVudDxUID0gRmllbGRDb21wb25lbnQ+KGlkOiBzdHJpbmcsIHR5cGUgPSBUZW1wbGF0ZUVsZW1lbnRUeXBlLkZpZWxkKTogVCB7XG4gICAgaWYgKHRoaXMuaGFzRWxlbWVudChpZCwgdHlwZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRzW3R5cGVdW2lkXTtcbiAgICB9XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICB0aGlzLmVsZW1lbnRzID0ge307XG4gIH1cbn1cbiJdfQ==