UNPKG

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

108 lines (107 loc) 5.98 kB
/** * @fileoverview added by tsickle * @suppress {checkTypes,extraRequire,uselessCode} checked by tsc */ /** @enum {string} */ var WidgetType = { Field: 'field', Fieldset: 'fieldset', Button: 'button', }; export { WidgetType }; var WidgetRegistry = /** @class */ (function () { function WidgetRegistry() { this.widgets = {}; this.defaultWidget = {}; } /** * @param {?} widget * @param {?=} type * @return {?} */ WidgetRegistry.prototype.setDefaultWidget = /** * @param {?} widget * @param {?=} type * @return {?} */ function (widget, type) { if (type === void 0) { type = WidgetType.Field; } this.defaultWidget[type] = widget; }; /** * @param {?=} type * @return {?} */ WidgetRegistry.prototype.getDefaultWidget = /** * @param {?=} type * @return {?} */ function (type) { if (type === void 0) { type = WidgetType.Field; } return this.defaultWidget[type]; }; /** * @param {?} id * @param {?=} type * @return {?} */ WidgetRegistry.prototype.hasWidget = /** * @param {?} id * @param {?=} type * @return {?} */ function (id, type) { if (type === void 0) { type = WidgetType.Field; } if (!this.widgets.hasOwnProperty(type)) { return false; } return this.widgets[type].hasOwnProperty(id); }; /** * @param {?} id * @param {?} widget * @param {?=} type * @return {?} */ WidgetRegistry.prototype.register = /** * @param {?} id * @param {?} widget * @param {?=} type * @return {?} */ function (id, widget, type) { if (type === void 0) { type = WidgetType.Field; } if (!this.widgets.hasOwnProperty(type)) { this.widgets[type] = {}; } this.widgets[type][id] = widget; }; /** * @template T * @param {?} id * @param {?=} type * @return {?} */ WidgetRegistry.prototype.getWidgetType = /** * @template T * @param {?} id * @param {?=} type * @return {?} */ function (id, type) { if (type === void 0) { type = WidgetType.Field; } if (this.hasWidget(id, type)) { return this.widgets[type][id]; } return this.getDefaultWidget(type); }; return WidgetRegistry; }()); export { WidgetRegistry }; if (false) { /** @type {?} */ WidgetRegistry.prototype.widgets; /** @type {?} */ WidgetRegistry.prototype.defaultWidget; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0cmVnaXN0cnkuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9uZ3gtc2NoZW1hLWZvcm1zLyIsInNvdXJjZXMiOlsibGliL3dpZGdldHJlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztJQUdFLE9BQVEsT0FBTztJQUNmLFVBQVcsVUFBVTtJQUNyQixRQUFTLFFBQVE7OztBQUduQixJQUFBOzt1QkFFK0QsRUFBRTs2QkFFZCxFQUFFOzs7Ozs7O0lBRW5ELHlDQUFnQjs7Ozs7SUFBaEIsVUFBaUIsTUFBVyxFQUFFLElBQXVCO1FBQXZCLHFCQUFBLEVBQUEsT0FBTyxVQUFVLENBQUMsS0FBSztRQUNuRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLE1BQU0sQ0FBQztLQUNuQzs7Ozs7SUFFRCx5Q0FBZ0I7Ozs7SUFBaEIsVUFBaUIsSUFBdUI7UUFBdkIscUJBQUEsRUFBQSxPQUFPLFVBQVUsQ0FBQyxLQUFLO1FBQ3RDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO0tBQ2pDOzs7Ozs7SUFFRCxrQ0FBUzs7Ozs7SUFBVCxVQUFVLEVBQVUsRUFBRSxJQUF1QjtRQUF2QixxQkFBQSxFQUFBLE9BQU8sVUFBVSxDQUFDLEtBQUs7UUFDM0MsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsTUFBTSxDQUFDLEtBQUssQ0FBQztTQUNkO1FBQ0QsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0tBQzlDOzs7Ozs7O0lBRUQsaUNBQVE7Ozs7OztJQUFSLFVBQVMsRUFBVSxFQUFFLE1BQVcsRUFBRSxJQUF1QjtRQUF2QixxQkFBQSxFQUFBLE9BQU8sVUFBVSxDQUFDLEtBQUs7UUFDdkQsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUM7U0FDekI7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxHQUFHLE1BQU0sQ0FBQztLQUNqQzs7Ozs7OztJQUVELHNDQUFhOzs7Ozs7SUFBYixVQUF1QixFQUFVLEVBQUUsSUFBdUI7UUFBdkIscUJBQUEsRUFBQSxPQUFPLFVBQVUsQ0FBQyxLQUFLO1FBQ3hELEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUM3QixNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvQjtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7S0FDcEM7eUJBekNIO0lBMENDLENBQUE7QUFsQ0QsMEJBa0NDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vLyBUT0RPIGFkZCBidXR0b24gdHlwZVxuZXhwb3J0IGVudW0gV2lkZ2V0VHlwZSB7XG4gIEZpZWxkID0gJ2ZpZWxkJyxcbiAgRmllbGRzZXQgPSAnZmllbGRzZXQnLFxuICBCdXR0b24gPSAnYnV0dG9uJ1xufVxuXG5leHBvcnQgY2xhc3MgV2lkZ2V0UmVnaXN0cnkge1xuXG4gIHByaXZhdGUgd2lkZ2V0czogeyBbdHlwZTogc3RyaW5nXTogeyBbaWQ6IHN0cmluZ106IGFueSB9IH0gPSB7fTtcblxuICBwcml2YXRlIGRlZmF1bHRXaWRnZXQ6IHsgW3R5cGU6IHN0cmluZ106IGFueSB9ID0ge307XG5cbiAgc2V0RGVmYXVsdFdpZGdldCh3aWRnZXQ6IGFueSwgdHlwZSA9IFdpZGdldFR5cGUuRmllbGQpIHtcbiAgICB0aGlzLmRlZmF1bHRXaWRnZXRbdHlwZV0gPSB3aWRnZXQ7XG4gIH1cblxuICBnZXREZWZhdWx0V2lkZ2V0KHR5cGUgPSBXaWRnZXRUeXBlLkZpZWxkKSB7XG4gICAgcmV0dXJuIHRoaXMuZGVmYXVsdFdpZGdldFt0eXBlXTtcbiAgfVxuXG4gIGhhc1dpZGdldChpZDogc3RyaW5nLCB0eXBlID0gV2lkZ2V0VHlwZS5GaWVsZCkge1xuICAgIGlmICghdGhpcy53aWRnZXRzLmhhc093blByb3BlcnR5KHR5cGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLndpZGdldHNbdHlwZV0uaGFzT3duUHJvcGVydHkoaWQpO1xuICB9XG5cbiAgcmVnaXN0ZXIoaWQ6IHN0cmluZywgd2lkZ2V0OiBhbnksIHR5cGUgPSBXaWRnZXRUeXBlLkZpZWxkKSB7XG4gICAgaWYgKCF0aGlzLndpZGdldHMuaGFzT3duUHJvcGVydHkodHlwZSkpIHtcbiAgICAgIHRoaXMud2lkZ2V0c1t0eXBlXSA9IHt9O1xuICAgIH1cbiAgICB0aGlzLndpZGdldHNbdHlwZV1baWRdID0gd2lkZ2V0O1xuICB9XG5cbiAgZ2V0V2lkZ2V0VHlwZTxUID0gYW55PihpZDogc3RyaW5nLCB0eXBlID0gV2lkZ2V0VHlwZS5GaWVsZCk6IFQge1xuICAgIGlmICh0aGlzLmhhc1dpZGdldChpZCwgdHlwZSkpIHtcbiAgICAgIHJldHVybiB0aGlzLndpZGdldHNbdHlwZV1baWRdO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5nZXREZWZhdWx0V2lkZ2V0KHR5cGUpO1xuICB9XG59XG4iXX0=