diff --git a/ui/src/app/schema-form/registry.ts b/ui/src/app/schema-form/registry.ts index 47761b3ac..f99f9eece 100644 --- a/ui/src/app/schema-form/registry.ts +++ b/ui/src/app/schema-form/registry.ts @@ -1,12 +1,11 @@ import { BooleanRadioComponent } from './widget/boolean-radio/boolean-radio.component'; import { FieldsetComponent } from './widget/fieldset/fieldset.component'; -import { CustomStringComponent } from './widget/text/string.component'; +import { CustomStringComponent } from './widget/string/string.component'; import { WidgetRegistry } from 'ngx-schema-form'; import { ButtonWidget } from 'ngx-schema-form'; import { FileWidget } from 'ngx-schema-form'; -import { IntegerWidget } from 'ngx-schema-form'; import { ObjectWidget } from 'ngx-schema-form'; import { RadioWidget } from 'ngx-schema-form'; import { RangeWidget } from 'ngx-schema-form'; diff --git a/ui/src/app/schema-form/schema-form.module.ts b/ui/src/app/schema-form/schema-form.module.ts index 15edd4b6d..8e01833f5 100644 --- a/ui/src/app/schema-form/schema-form.module.ts +++ b/ui/src/app/schema-form/schema-form.module.ts @@ -6,7 +6,7 @@ import { ReactiveFormsModule } from '@angular/forms'; import { BooleanRadioComponent } from './widget/boolean-radio/boolean-radio.component'; import { SchemaService } from './service/schema.service'; import { FieldsetComponent } from './widget/fieldset/fieldset.component'; -import { CustomStringComponent } from './widget/text/string.component'; +import { CustomStringComponent } from './widget/string/string.component'; import { NgbPopoverModule } from '@ng-bootstrap/ng-bootstrap'; import { SharedModule } from '../shared/shared.module'; import { CustomSelectComponent } from './widget/select/select.component'; diff --git a/ui/src/app/schema-form/service/schema.service.ts b/ui/src/app/schema-form/service/schema.service.ts index 86989b6f1..e041528b1 100644 --- a/ui/src/app/schema-form/service/schema.service.ts +++ b/ui/src/app/schema-form/service/schema.service.ts @@ -15,6 +15,9 @@ export class SchemaService { isRequired(formProperty: any): boolean { let required = false; + if (!formProperty) { + return false; + } let requiredFields = formProperty.parent.schema.required || []; let fieldPath = formProperty.path; let controlName = fieldPath.substr(fieldPath.lastIndexOf('/') + 1); diff --git a/ui/src/app/schema-form/widget/text/string.component.html b/ui/src/app/schema-form/widget/string/string.component.html similarity index 99% rename from ui/src/app/schema-form/widget/text/string.component.html rename to ui/src/app/schema-form/widget/string/string.component.html index 5d1ed9365..10f19f0ab 100644 --- a/ui/src/app/schema-form/widget/text/string.component.html +++ b/ui/src/app/schema-form/widget/string/string.component.html @@ -28,4 +28,4 @@ {{ schema.widget.help }} - + \ No newline at end of file diff --git a/ui/src/app/schema-form/widget/text/string.component.scss b/ui/src/app/schema-form/widget/string/string.component.scss similarity index 100% rename from ui/src/app/schema-form/widget/text/string.component.scss rename to ui/src/app/schema-form/widget/string/string.component.scss diff --git a/ui/src/app/schema-form/widget/text/string.component.ts b/ui/src/app/schema-form/widget/string/string.component.ts similarity index 92% rename from ui/src/app/schema-form/widget/text/string.component.ts rename to ui/src/app/schema-form/widget/string/string.component.ts index 5d49f1d83..2de93e371 100644 --- a/ui/src/app/schema-form/widget/text/string.component.ts +++ b/ui/src/app/schema-form/widget/string/string.component.ts @@ -1,5 +1,6 @@ import { Component } from '@angular/core'; import { StringWidget } from 'ngx-schema-form'; +import { Validators } from '@angular/forms'; import { SchemaService } from '../../service/schema.service'; @Component({ diff --git a/ui/src/assets/schema/provider/filebacked-http-common.schema.json b/ui/src/assets/schema/provider/filebacked-http-common.schema.json index 32ae65e76..65c919add 100644 --- a/ui/src/assets/schema/provider/filebacked-http-common.schema.json +++ b/ui/src/assets/schema/provider/filebacked-http-common.schema.json @@ -12,6 +12,9 @@ "satisfyAnyPredicates" ], "required": ["id", "metadataURL"], + "dependencies": { + "initializeFromBackupFile": {"required": ["backingFile", "backupFileInitNextRefreshDelay"]} + }, "anyOf": [ { "properties": {