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

1 lines 42.4 kB
{"__symbolic":"module","version":4,"metadata":{"ɵa":{"__symbolic":"function","parameters":["schemaValidatorFactory","validatorRegistry"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵg"},"arguments":[{"__symbolic":"reference","name":"schemaValidatorFactory"},{"__symbolic":"reference","name":"validatorRegistry"}]}},"FormComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":36,"character":1},"arguments":[{"selector":"sf-form","template":"\n <form #form=\"ngForm\">\n <sf-form-element *ngIf=\"rootFormProperty; else noSchema\" [formProperty]=\"rootFormProperty\">\n </sf-form-element>\n <ng-template #noSchema>\n You need to provide a json or a template schema!\n </ng-template>\n </form>\n ","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":49,"character":15},"useExisting":{"__symbolic":"reference","name":"FormComponent"},"multi":true},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵf"},{"provide":{"__symbolic":"reference","name":"ɵg"},"useFactory":{"__symbolic":"reference","name":"ɵa"},"deps":[{"__symbolic":"reference","name":"SchemaValidatorFactory"},{"__symbolic":"reference","name":"ɵe"}]},{"__symbolic":"reference","name":"ɵh"}],"encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":63,"character":17},"member":"None"}}]}],"members":{"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"actions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"validators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":73,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":81,"character":31},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"}]}],"writeValue":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"setDisabledState":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"registerValidators":[{"__symbolic":"method"}],"registerActions":[{"__symbolic":"method"}]}},"ɵb":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":14,"character":53},"members":{}},"FormElementComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"sf-form-element","template":"<div *ngIf=\"formProperty.visible && formProperty.schema.widget?.id !== 'none'\"\n [class.has-error]=\"!formProperty.hasOwnProperty('controls') && !formProperty.valid\"\n\t [class.has-success]=\"!formProperty.hasOwnProperty('controls') && formProperty.valid\">\n <ng-template sfFormPropertyWidgetChooser [formProperty]=\"formProperty\"> </ng-template>\n <ng-container *ngIf=\"formProperty.schema.buttons as buttons\">\n <div class=\"button-container\" >\n <ng-template sfFormButtonWidgetChooser\n *ngFor=\"let button of buttons\"\n [button]=\"button\"\n [formProperty]=\"formProperty\">\n </ng-template>\n </div>\n </ng-container>\n </div>","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":33,"character":17},"member":"None"}}]}],"members":{"formProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}]}},"FormButtonWidgetChooserDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":27,"character":1},"arguments":[{"selector":"[sfFormButtonWidgetChooser]"}]}],"members":{"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"formProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":35,"character":3}}]}],"subs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵi"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":44,"character":30},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵh"}]}],"getWidget":[{"__symbolic":"method"}],"getButtonAction":[{"__symbolic":"method"}],"bindTemplateChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FormFieldComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"sf-form-field","template":"\n <ng-container\n *ngTemplateOutlet=\"templateRef; context: { formProperty: formProperty }\">\n </ng-container>\n ","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":18,"character":17},"member":"None"}}]}],"members":{"formProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}]}},"FormFieldsetWidgetChooserDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":20,"character":1},"arguments":[{"selector":"[sfFormFieldsetWidgetChooser]"}]}],"members":{"formProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"fieldset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"templateRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":37,"character":30},{"__symbolic":"reference","name":"ɵf"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getFieldsetWidget":[{"__symbolic":"method"}]}},"FormPropertyWidgetChooserDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":29,"character":1},"arguments":[{"selector":"[sfFormPropertyWidgetChooser]"}]}],"members":{"formProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"subs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","name":"ɵi"}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":43,"character":30},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ɵh"}]}],"isWidgetRequired":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"WidgetRegistry":{"__symbolic":"class","members":{"setDefaultWidget":[{"__symbolic":"method"}],"getDefaultWidget":[{"__symbolic":"method"}],"hasWidget":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"getWidgetType":[{"__symbolic":"method"}]}},"WidgetType":{"Field":"field","Fieldset":"fieldset","Button":"button"},"SchemaValidatorFactory":{"__symbolic":"class","members":{"createValidatorFn":[{"__symbolic":"method"}],"getSchema":[{"__symbolic":"method"}]}},"ZSchemaValidatorFactory":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SchemaValidatorFactory"},"members":{"__ctor__":[{"__symbolic":"constructor"}],"createValidatorFn":[{"__symbolic":"method"}],"getSchema":[{"__symbolic":"method"}],"denormalizeRequiredPropertyPaths":[{"__symbolic":"method"}],"getDefinition":[{"__symbolic":"method"}]}},"AjvSchemaValidatorFactory":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SchemaValidatorFactory"},"members":{"__ctor__":[{"__symbolic":"constructor"}],"createValidatorFn":[{"__symbolic":"method"}],"getSchema":[{"__symbolic":"method"}],"getDefinition":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"Widget"},"members":{}},"Widget":{"__symbolic":"class","members":{}},"PropertyWidget":{"__symbolic":"class","arity":2,"extends":{"__symbolic":"reference","name":"Widget"},"members":{}},"ArrayPropertyWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"ObjectPropertyWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"FieldsetLayoutWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"Widget"},"members":{}},"ArrayWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ArrayPropertyWidget"},"members":{"addItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}]}},"ButtonWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ɵc"},"members":{}},"ObjectWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"ObjectPropertyWidget"},"members":{}},"CheckboxWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{"ngOnInit":[{"__symbolic":"method"}],"check":[{"__symbolic":"method"}]}},"FileWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{"ngAfterViewInit":[{"__symbolic":"method"}],"onFileChange":[{"__symbolic":"method"}]}},"IntegerWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"TextAreaWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"RadioWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"RangeWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"SelectWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{}},"StringWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"PropertyWidget"},"members":{"getInputType":[{"__symbolic":"method"}]}},"FieldsetWidget":{"__symbolic":"class","arity":1,"extends":{"__symbolic":"reference","name":"FieldsetLayoutWidget"},"members":{}},"ArrayComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ArrayWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"sf-array-widget","template":"<div class=\"widget form-group\">\n\t<label [attr.for]=\"id\" class=\"horizontal control-label\">\n\t\t{{ schema.title }}\n\t</label>\n\t<span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\n\t<div *ngFor=\"let formProperty of formProperty.controls; let i=index\">\n\t\t<sf-form-element [formProperty]=\"formProperty\"></sf-form-element>\n\t\t<button (click)=\"removeItem(i)\" class=\"btn btn-default array-remove-button\">\n\t\t\t<span class=\"glyphicon glyphicon-minus\" aria-hidden=\"true\"></span> Remove\n\t\t</button>\n\t</div>\n\t<button (click)=\"addItem()\" class=\"btn btn-default array-add-button\">\n\t\t<span class=\"glyphicon glyphicon-plus\" aria-hidden=\"true\"></span> Add\n\t</button>\n</div>"}]}],"members":{}},"ButtonComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ButtonWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"sf-button-component","template":"<button (click)=\"action($event)\">{{label}}</button>"}]}],"members":{}},"ObjectComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ObjectWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"sf-form-object","template":"\n <ng-template #formElement let-formProperty=\"formProperty\">\n <sf-form-element [formProperty]=\"formProperty\"></sf-form-element>\n </ng-template>\n\n <ng-container *ngFor=\"let fieldset of formProperty.schema.fieldsets\">\n <ng-template\n sfFormFieldsetWidgetChooser\n [formProperty]=\"formProperty\"\n [fieldset]=\"fieldset\"\n [templateRef]=\"formElement\">\n </ng-template>\n </ng-container>\n "}]}],"members":{}},"CheckboxComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CheckboxWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-checkbox-widget","template":"<div class=\"widget form-group\">\n <label [attr.for]=\"id\" class=\"horizontal control-label\">\n {{ schema.title }}\n </label>\n <div *ngIf=\"schema.type!='array'\" class=\"checkbox\">\n <label class=\"horizontal control-label\">\n <input\n [formControl]=\"formProperty\"\n [indeterminate]=\"formProperty.value !== false && formProperty.value !== true ? true :null\"\n type=\"checkbox\" [attr.disabled]=\"schema.readOnly\">\n <input *ngIf=\"schema.readOnly\" type=\"hidden\" [formControl]=\"formProperty\">\n {{schema.description}}\n </label>\n </div>\n <ng-container *ngIf=\"schema.type==='array'\">\n <div *ngFor=\"let option of schema.items.oneOf\" class=\"checkbox\">\n <label class=\"horizontal control-label\">\n <input\n value=\"{{option.enum[0]}}\" type=\"checkbox\"\n [attr.disabled]=\"schema.readOnly\"\n (change)=\"check($event.target.checked, $event.target.value)\"\n [attr.checked]=\"checked[option.enum[0]] ? true : null\">\n {{option.description}}\n </label>\n </div>\n </ng-container>\n</div>"}]}],"members":{}},"FileComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FileWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-file-widget","template":"<div class=\"widget form-group\">\n\t<label [attr.for]=\"id\" class=\"horizontal control-label\">\n\t\t{{ schema.title }}\n\t</label>\n <span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\n <input [name]=\"formProperty.name\" class=\"text-widget file-widget\" [attr.id]=\"id\"\n type=\"file\" [attr.disabled]=\"schema.readOnly?true:null\"\n (change)=\"onFileChange($event)\">\n\t<input *ngIf=\"schema.readOnly\" [attr.name]=\"formProperty.name\" type=\"hidden\" [formControl]=\"fileName\">\n</div>"}]}],"members":{}},"IntegerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"IntegerWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"sf-integer-widget","template":"<div class=\"widget form-group\">\n\t<label [attr.for]=\"id\" class=\"horizontal control-label\">\n\t\t{{ schema.title }}\n\t</label>\n <span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\n\t<input [attr.readonly]=\"schema.readOnly?true:null\" [name]=\"formProperty.name\"\n\tclass=\"text-widget integer-widget form-control\" [formControl]=\"formProperty\"\n\t[attr.type]=\"'number'\" [attr.min]=\"schema.minimum\" [attr.max]=\"schema.maximum\"\n\t[attr.placeholder]=\"schema.placeholder\"\n\t[attr.maxLength]=\"schema.maxLength || null\"\n [attr.minLength]=\"schema.minLength || null\">\n</div>"}]}],"members":{}},"TextAreaComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"TextAreaWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-textarea-widget","template":"<div class=\"widget form-group\">\n\t<label [attr.for]=\"id\" class=\"horizontal control-label\">\n\t\t{{ schema.title }}\n\t</label>\n <span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\n\t<textarea [attr.readonly]=\"schema.readOnly\" [name]=\"formProperty.name\"\n\t\tclass=\"text-widget textarea-widget form-control\"\n\t\t[attr.placeholder]=\"schema.placeholder\"\n\t\t[attr.maxLength]=\"schema.maxLength || null\"\n [attr.minLength]=\"schema.minLength || null\"\n\t\t[formControl]=\"formProperty\"></textarea>\n</div>"}]}],"members":{}},"RadioComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"RadioWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-radio-widget","template":"<div class=\"widget form-group\">\n\t<label>{{schema.title}}</label>\n <span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\n\t<div *ngFor=\"let option of schema.oneOf\" class=\"radio\">\n\t\t<label class=\"horizontal control-label\">\n\t\t\t<input [formControl]=\"formProperty\" value=\"{{option.enum[0]}}\" type=\"radio\" [attr.disabled]=\"schema.readOnly\">\n\t\t\t{{option.description}}\n\t\t</label>\n\t</div>\n\t<input *ngIf=\"schema.readOnly\" type=\"hidden\" [formControl]=\"formProperty\">\n</div>"}]}],"members":{}},"RangeComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"RangeWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-range-widget","template":"<div class=\"widget form-group\">\n\t<label [attr.for]=\"id\" class=\"horizontal control-label\">\n\t\t{{ schema.title }}\n\t</label>\n <span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\t\n <input\n [name]=\"formProperty.name\" class=\"text-widget range-widget\"\n [attr.id]=\"id\"\n [formControl]=\"formProperty\"\n [attr.type]=\"'range'\"\n [attr.min]=\"schema.minimum\"\n [attr.max]=\"schema.maximum\"\n [attr.disabled]=\"schema.readOnly?true:null\" >\n\t<input *ngIf=\"schema.readOnly\" [attr.name]=\"formProperty.name\" type=\"hidden\">\n</div>"}]}],"members":{}},"SelectComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"SelectWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-select-widget","template":"<div class=\"widget form-group\">\n <label [attr.for]=\"id\" class=\"horizontal control-label\">\n {{ schema.title }}\n </label>\n\n <span *ngIf=\"schema.description\" class=\"formHelp\">\n {{schema.description}}\n </span>\n\n <select\n *ngIf=\"schema.type!='array'\"\n [formControl]=\"formProperty\"\n [attr.disabled]=\"schema.readOnly\"\n class=\"form-control\">\n <option *ngFor=\"let option of schema.oneOf\" [ngValue]=\"option.enum[0]\" >\n {{option.description}}\n </option>\n </select>\n\n <select *ngIf=\"schema.type==='array'\" multiple [formControl]=\"formProperty\" [attr.disabled]=\"schema.readOnly\" class=\"form-control\">\n <option *ngFor=\"let option of schema.items.oneOf\" [ngValue]=\"option.enum[0]\" >{{option.description}}</option>\n </select>\n\n <input *ngIf=\"schema.readOnly\" type=\"hidden\" [formControl]=\"formProperty\">\n</div>"}]}],"members":{}},"StringComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"StringWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-string-widget","template":"<input *ngIf=\"getInputType() === 'hidden'; else notHiddenFieldBlock\"\n [attr.name]=\"formProperty.name\" type=\"hidden\" [formControl]=\"formProperty\">\n <ng-template #notHiddenFieldBlock>\n <div class=\"widget form-group\">\n <label [attr.for]=\"id\" class=\"horizontal control-label\">\n {{ schema.title }}\n </label>\n <span *ngIf=\"schema.description\" class=\"formHelp\">{{schema.description}}</span>\n <input [name]=\"formProperty.name\" [attr.readonly]=\"(id!=='color') && schema.readOnly?true:null\"\n class=\"text-{{ id }} textline-widget form-control\" [attr.type]=\"getInputType()\"\n [attr.id]=\"id\" [formControl]=\"formProperty\" [attr.placeholder]=\"schema.placeholder\"\n [attr.maxLength]=\"schema.maxLength || null\"\n [attr.minLength]=\"schema.minLength || null\"\n [attr.disabled]=\"(id=='color' && schema.readOnly)?true:null\">\n <input *ngIf=\"(id==='color' && schema.readOnly)\" [attr.name]=\"formProperty.name\" type=\"hidden\" [formControl]=\"formProperty\">\n <span class=\"help-block\" *ngFor=\"let message of errorMessages\">{{ message }}</span>\n\n </div>\n </ng-template>\n "}]}],"members":{}},"FieldsetComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FieldsetWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"sf-form-fieldset","template":"\n <fieldset>\n <legend *ngIf=\"title\">{{ title }}</legend>\n <div *ngIf=\"description\">{{ description }}</div>\n <div *ngFor=\"let formProperty of formProperties\">\n <sf-form-field [formProperty]=\"formProperty\"> </sf-form-field>\n </div>\n </fieldset>\n "}]}],"members":{}},"TabsComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"FieldsetWidget"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"sf-form-tabs","template":"\n <div class=\"panel panel-default\">\n <div class=\"panel-body\" style=\"min-height: 420px;\">\n <ul class=\"nav nav-tabs\" style=\"margin-bottom: 10px\">\n <li *ngFor=\"let tab of widget.tabs; let index=index\"\n (click)=\"selectedTab = index\"\n [class.active]=\"selectedTab === index\"\n style=\"cursor: pointer\">\n <a>{{ tab.title }}</a>\n </li>\n </ul>\n\n <div *ngFor=\"let tab of widget.tabs; let index=index\" >\n <ng-container *ngIf=\"selectedTab === index\">\n <div *ngFor=\"let field of tab.fields\">\n <sf-form-field [formProperty]=\"formProperty.get(field)\"> </sf-form-field>\n </div>\n </ng-container>\n </div>\n </div>\n </div>\n "}]}],"members":{}},"DefaultWidgetRegistry":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"WidgetRegistry"},"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"SchemaFormModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":47,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":48,"character":12},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":48,"character":26},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":48,"character":39}],"declarations":[{"__symbolic":"reference","name":"FormElementComponent"},{"__symbolic":"reference","name":"FormButtonWidgetChooserDirective"},{"__symbolic":"reference","name":"FormComponent"},{"__symbolic":"reference","name":"FormPropertyWidgetChooserDirective"},{"__symbolic":"reference","name":"FormFieldsetWidgetChooserDirective"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ArrayComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"ObjectComponent"},{"__symbolic":"reference","name":"CheckboxComponent"},{"__symbolic":"reference","name":"FileComponent"},{"__symbolic":"reference","name":"IntegerComponent"},{"__symbolic":"reference","name":"TextAreaComponent"},{"__symbolic":"reference","name":"RadioComponent"},{"__symbolic":"reference","name":"RangeComponent"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"StringComponent"},{"__symbolic":"reference","name":"FieldsetComponent"},{"__symbolic":"reference","name":"FormFieldComponent"},{"__symbolic":"reference","name":"TabsComponent"}],"entryComponents":[{"__symbolic":"reference","name":"FormElementComponent"},{"__symbolic":"reference","name":"FormComponent"},{"__symbolic":"reference","name":"FormFieldComponent"},{"__symbolic":"reference","name":"ArrayComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"ObjectComponent"},{"__symbolic":"reference","name":"CheckboxComponent"},{"__symbolic":"reference","name":"FileComponent"},{"__symbolic":"reference","name":"IntegerComponent"},{"__symbolic":"reference","name":"TextAreaComponent"},{"__symbolic":"reference","name":"RadioComponent"},{"__symbolic":"reference","name":"RangeComponent"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"StringComponent"},{"__symbolic":"reference","name":"FieldsetComponent"},{"__symbolic":"reference","name":"TabsComponent"}],"exports":[{"__symbolic":"reference","name":"FormComponent"},{"__symbolic":"reference","name":"FormElementComponent"},{"__symbolic":"reference","name":"FormButtonWidgetChooserDirective"},{"__symbolic":"reference","name":"FormFieldComponent"},{"__symbolic":"reference","name":"FormPropertyWidgetChooserDirective"},{"__symbolic":"reference","name":"ArrayComponent"},{"__symbolic":"reference","name":"ButtonComponent"},{"__symbolic":"reference","name":"ObjectComponent"},{"__symbolic":"reference","name":"CheckboxComponent"},{"__symbolic":"reference","name":"FileComponent"},{"__symbolic":"reference","name":"IntegerComponent"},{"__symbolic":"reference","name":"TextAreaComponent"},{"__symbolic":"reference","name":"RadioComponent"},{"__symbolic":"reference","name":"RangeComponent"},{"__symbolic":"reference","name":"SelectComponent"},{"__symbolic":"reference","name":"StringComponent"},{"__symbolic":"reference","name":"FieldsetComponent"},{"__symbolic":"reference","name":"FormFieldsetWidgetChooserDirective"},{"__symbolic":"reference","name":"TabsComponent"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"SchemaFormModule"},"providers":[{"provide":{"__symbolic":"reference","name":"WidgetRegistry"},"useClass":{"__symbolic":"reference","name":"DefaultWidgetRegistry"}},{"provide":{"__symbolic":"reference","name":"SchemaValidatorFactory"},"useClass":{"__symbolic":"reference","name":"AjvSchemaValidatorFactory"}}]}}}},"TemplateSchemaModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":9,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4}],"declarations":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵp"}],"exports":[{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵp"}],"providers":[{"__symbolic":"reference","name":"ɵn"}]}]}],"members":{}},"Action":{"__symbolic":"interface"},"ActionEvent":{"__symbolic":"interface"},"ɵd":{"__symbolic":"class","members":{"clear":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","members":{"register":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"WidgetRegistry"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":16,"character":29}]}],"createWidget":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"SchemaValidatorFactory"},{"__symbolic":"reference","name":"ɵe"}]}],"createProperty":[{"__symbolic":"method"}],"initializeFormProperty":[{"__symbolic":"method"}],"bindSchemaValidator":[{"__symbolic":"method"}],"bindCustomValidator":[{"__symbolic":"method"}],"generatePath":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","members":{"hasElement":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"getElement":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":9,"module":"./lib/unsubscriber"}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"sf-default-field","template":"<p>Unknow type</p>"}]}],"members":{}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵl"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":28,"character":1},"arguments":[{"selector":"sf-form[templateSchema]","providers":[{"__symbolic":"reference","name":"ɵn"}]}]}],"members":{"childFields":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":37,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"childButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":40,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵq"}]}]}],"fieldsets":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":43,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormComponent"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"ɵh"}]}],"setFormDocumentSchema":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"members":{"getButtons":[{"__symbolic":"method"}],"getFieldsValidators":[{"__symbolic":"method"}],"getFieldsSchema":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","members":{"getTextContent":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}],"changed":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵl"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":37,"character":1},"arguments":[{"selector":"sf-field","template":"<ng-content ></ng-content>\n"}]}],"members":{"childFields":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":45,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵo"}]}]}],"childItems":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":48,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵp"}]}]}],"childButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChildren","line":51,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵq"}]}]}],"name":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":54,"character":3}}]}],"type":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":57,"character":3}}]}],"format":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"required":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"description":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":72,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":75,"character":3}}]}],"widget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":78,"character":3}}]}],"validators":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":81,"character":3}}]}],"schema":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":84,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":91,"character":24},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"ɵd"}]}],"getSchema":[{"__symbolic":"method"}],"getValidators":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getOneOf":[{"__symbolic":"method"}],"setTitleFromContent":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"sf-item","template":"<ng-content></ng-content>\n"}]}],"members":{"value":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":26,"character":34}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵm"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"sf-button","template":"<ng-content></ng-content>\n"}]}],"members":{"id":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"label":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"options":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"widget":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"click":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":41,"character":34}]}],"setLabelFromContent":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterContentInit":[{"__symbolic":"method"}]}}},"origins":{"ɵa":"./lib/form/form.component","FormComponent":"./lib/form/form.component","ɵb":"./lib/form/form-element.component","FormElementComponent":"./lib/form/form-element.component","FormButtonWidgetChooserDirective":"./lib/form/form-button-widget-chooser.directive","FormFieldComponent":"./lib/form/form-field.component","FormFieldsetWidgetChooserDirective":"./lib/form/form-fieldset-widget-chooser.directive","FormPropertyWidgetChooserDirective":"./lib/form/form-property-widget-chooser.directive","WidgetRegistry":"./lib/widgetregistry","WidgetType":"./lib/widgetregistry","SchemaValidatorFactory":"./lib/schemavalidatorfactory","ZSchemaValidatorFactory":"./lib/z-schema-validator-factory","AjvSchemaValidatorFactory":"./lib/ajv-schema-validator-factory","ɵc":"./lib/widgets/base/widget","Widget":"./lib/widgets/base/widget","PropertyWidget":"./lib/widgets/base/widget","ArrayPropertyWidget":"./lib/widgets/base/widget","ObjectPropertyWidget":"./lib/widgets/base/widget","FieldsetLayoutWidget":"./lib/widgets/base/widget","ArrayWidget":"./lib/widgets/base/array.widget","ButtonWidget":"./lib/widgets/base/button.widget","ObjectWidget":"./lib/widgets/base/object.widget","CheckboxWidget":"./lib/widgets/base/checkbox.widget","FileWidget":"./lib/widgets/base/file.widget","IntegerWidget":"./lib/widgets/base/integer.widget","TextAreaWidget":"./lib/widgets/base/textarea.widget","RadioWidget":"./lib/widgets/base/radio.widget","RangeWidget":"./lib/widgets/base/range.widget","SelectWidget":"./lib/widgets/base/select.widget","StringWidget":"./lib/widgets/base/string.widget","FieldsetWidget":"./lib/widgets/base/fieldset.widget","ArrayComponent":"./lib/widgets/defaults/array/array.component","ButtonComponent":"./lib/widgets/defaults/button/button.component","ObjectComponent":"./lib/widgets/defaults/object/object.component","CheckboxComponent":"./lib/widgets/defaults/checkbox/checkbox.component","FileComponent":"./lib/widgets/defaults/file/file.component","IntegerComponent":"./lib/widgets/defaults/integer/integer.component","TextAreaComponent":"./lib/widgets/defaults/textarea/textarea.component","RadioComponent":"./lib/widgets/defaults/radio/radio.component","RangeComponent":"./lib/widgets/defaults/range/range.component","SelectComponent":"./lib/widgets/defaults/select/select.component","StringComponent":"./lib/widgets/defaults/string/string.component","FieldsetComponent":"./lib/widgets/defaults/fieldset/fieldset.component","TabsComponent":"./lib/widgets/defaults/tabs/tabs.component","DefaultWidgetRegistry":"./lib/widgets/defaults/defaultwidgetregistry","SchemaFormModule":"./lib/schema-form.module","TemplateSchemaModule":"./lib/template-schema/template-schema.module","Action":"./lib/model/action","ActionEvent":"./lib/model/action","ɵd":"./lib/model/actionregistry","ɵe":"./lib/model/validatorregistry","ɵf":"./lib/widgetfactory","ɵg":"./lib/model/form-property-factory","ɵh":"./lib/template-schema/template-schema-element-registry","ɵi":"./lib/unsubscriber","ɵj":"./lib/default.widget","ɵk":"./lib/template-schema/template-schema.directive","ɵl":"./lib/template-schema/field/field-parent","ɵm":"./lib/template-schema/template-schema-element","ɵn":"./lib/template-schema/template-schema.service","ɵo":"./lib/template-schema/field/field.component","ɵp":"./lib/template-schema/field/item/item.component","ɵq":"./lib/template-schema/button/button.component"},"importAs":"ngx-schema-forms"}