Skip to content
Merged
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion packages/angular-material/src/controls/number.renderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -127,7 +127,7 @@ export class NumberControlRenderer extends JsonFormsControl {

mapAdditionalProps(props:StatePropsOfControl) {
if (this.scopedSchema) {
const defaultStep = isNumberControl(this.uischema, this.rootSchema)
const defaultStep = isNumberControl(this.uischema, this.rootSchema, this.rootSchema)
? 0.1
: 1;
this.min = this.scopedSchema.minimum;
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/boolean-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ describe('Material boolean field tester', () => {
type: 'boolean'
}
}
})
}, undefined)
).toBe(2);
});
});
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/date-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ const uischema: ControlElement = {

describe('Material boolean field tester', () => {
it('should succeed', () => {
expect(DateControlRendererTester(uischema, schema)).toBe(2);
expect(DateControlRendererTester(uischema, schema, schema)).toBe(2);
});
});
const imports = [
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/group-layout.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ import {

describe('Group layout tester', () => {
it('should succeed', () => {
expect(groupLayoutTester({ type: 'Group' }, undefined)).toBe(1);
expect(groupLayoutTester({ type: 'Group' }, undefined, undefined)).toBe(1);
});
});
describe('Group layout', () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/horizontal-layout.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ import {
describe('Horizontal layout tester', () => {
it('should succeed', () => {
expect(
horizontalLayoutTester({ type: 'HorizontalLayout' }, undefined)
horizontalLayoutTester({ type: 'HorizontalLayout' }, undefined, undefined)
).toBe(1);
});
});
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/label-renderer.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ const uischema: LabelElement = {

describe('Material label field tester', () => {
it('should succeed', () => {
expect(LabelRendererTester(uischema, schema)).toBe(4);
expect(LabelRendererTester(uischema, schema, undefined)).toBe(4);
});
});
const providers = [JsonFormsAngularService];
Expand Down
4 changes: 2 additions & 2 deletions packages/angular-material/test/number-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ describe('Material number field tester', () => {
type: 'number'
}
}
})
}, undefined)
).toBe(2);
});
it('should succeed with integers', () => {
Expand All @@ -70,7 +70,7 @@ describe('Material number field tester', () => {
type: 'integer'
}
}
})
}, undefined)
).toBe(2);
});
});
Expand Down
4 changes: 2 additions & 2 deletions packages/angular-material/test/object-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,8 +84,8 @@ const renderers = [

describe('Object Control tester', () => {
it('should succeed', () => {
expect(ObjectControlRendererTester(uischema1, schema1)).toBe(2);
expect(ObjectControlRendererTester(uischema2, schema2)).toBe(2);
expect(ObjectControlRendererTester(uischema1, schema1, undefined)).toBe(2);
expect(ObjectControlRendererTester(uischema2, schema2, undefined)).toBe(2);
});
});
describe('Object Control', () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/angular-material/test/range-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ describe('Material number field tester', () => {
default: 0.42
}
}
})
}, undefined)
).toBe(4);
});
it('should succeed with integers', () => {
Expand All @@ -70,7 +70,7 @@ describe('Material number field tester', () => {
default: 1
}
}
})
}, undefined)
).toBe(4);
});
});
Expand Down
8 changes: 4 additions & 4 deletions packages/angular-material/test/table-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -95,10 +95,10 @@ const renderers = [

describe('Table tester', () => {
it('should succeed', () => {
expect(TableRendererTester(uischema1, schema_object1)).toBe(3);
expect(TableRendererTester(uischema1, schema_simple1)).toBe(3);
expect(TableRendererTester(uischema2, schema_object2)).toBe(3);
expect(TableRendererTester(uischema2, schema_simple2)).toBe(3);
expect(TableRendererTester(uischema1, schema_object1, schema_object1)).toBe(3);
expect(TableRendererTester(uischema1, schema_simple1, schema_simple1)).toBe(3);
expect(TableRendererTester(uischema2, schema_object2, schema_object2)).toBe(3);
expect(TableRendererTester(uischema2, schema_simple2, schema_simple2)).toBe(3);
});
});
describe('Table', () => {
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/text-area.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ describe('Material text field tester', () => {
type: 'string'
}
}
})
}, undefined)
).toBe(2);
});
});
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/text-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ describe('Material text field tester', () => {
type: 'string'
}
}
})
}, undefined)
).toBe(1);
});
});
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/toggle-control.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@ describe('Material boolean field tester', () => {
type: 'boolean'
}
}
})
}, undefined)
).toBe(3);
});
});
Expand Down
2 changes: 1 addition & 1 deletion packages/angular-material/test/vertical-layout.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import {

describe('Vertical layout tester', () => {
it('should succeed', () => {
expect(verticalLayoutTester({ type: 'VerticalLayout' }, undefined)).toBe(1);
expect(verticalLayoutTester({ type: 'VerticalLayout' }, undefined, undefined)).toBe(1);
});
});
describe('Vertical layout', () => {
Expand Down
5 changes: 3 additions & 2 deletions packages/angular/src/jsonforms.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -104,10 +104,11 @@ export class JsonFormsOutlet extends JsonFormsBaseRenderer<UISchemaElement>
const { renderers } = props as JsonFormsProps;
const schema: JsonSchema = this.schema || props.schema;
const uischema = this.uischema || props.uischema;
const rootSchema = props.rootSchema;

const renderer = maxBy(renderers, r => r.tester(uischema, schema));
const renderer = maxBy(renderers, r => r.tester(uischema, schema, rootSchema));
let bestComponent: Type<any> = UnknownRenderer;
if (renderer !== undefined && renderer.tester(uischema, schema) !== -1) {
if (renderer !== undefined && renderer.tester(uischema, schema, rootSchema) !== -1) {
bestComponent = renderer.renderer;
}

Expand Down
4 changes: 2 additions & 2 deletions packages/core/src/generators/uischema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ const generateUISchema = (
): UISchemaElement => {
if (!isEmpty(jsonSchema) && jsonSchema.$ref !== undefined) {
return generateUISchema(
resolveSchema(rootSchema, jsonSchema.$ref),
resolveSchema(rootSchema, jsonSchema.$ref, rootSchema),
schemaElements,
currentRef,
schemaName,
Expand Down Expand Up @@ -164,7 +164,7 @@ const generateUISchema = (
let value = jsonSchema.properties[propName];
const ref = `${nextRef}/${encode(propName)}`;
if (value.$ref !== undefined) {
value = resolveSchema(rootSchema, value.$ref);
value = resolveSchema(rootSchema, value.$ref, rootSchema);
}
generateUISchema(
value,
Expand Down
Loading