Skip to content

Commit

Permalink
Merge pull request #198 from edgarmueller/master
Browse files Browse the repository at this point in the history
Fix for issues #186 & #47
  • Loading branch information
edgarmueller committed Mar 31, 2016
2 parents e4eb4f7 + dfb03e8 commit 66e6d07
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 3,889 deletions.
28 changes: 6 additions & 22 deletions components/form/form-directive.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
///<reference path="../references.ts"/>

import PathResolver = JSONForms.PathResolver;
declare var JsonRefs;

class FormController {

Expand Down Expand Up @@ -34,30 +33,15 @@ class FormController {

this.$q.all([this.fetchSchema(), this.fetchUiSchema()]).then((values) => {
var schema = values[0];
var uiSchemaMaybe = values[1];

var uiSchemaDeferred = this.$q.defer();

this.$q.when(uiSchemaDeferred.promise).then((uiSchema) => {
//schema['uiSchema'] = uiSchema;
// build mapping of ui paths to schema refs
JsonRefs.resolveRefs(schema, {}, function (err, resolvedSchema) {
resolvedSchemaDeferred.resolve(resolvedSchema);
// TODO: ui schema is now unresolved
resolvedUISchemaDeferred.resolve(uiSchema); //resolvedSchema['uiSchema']);
});
});
var uiSchema = values[1];

if (uiSchemaMaybe === undefined || uiSchemaMaybe === null || uiSchemaMaybe === "") {
if (_.isEmpty(uiSchema)) {
// resolve JSON schema, then generate ui Schema
JsonRefs.resolveRefs(schema, {}, (err, resolvedSchema) => {
var uiSchema = this.UISchemaGenerator.generateDefaultUISchema(resolvedSchema);
uiSchemaDeferred.resolve(uiSchema);
});
} else {
// directly resolve ui schema
uiSchemaDeferred.resolve(uiSchemaMaybe);
uiSchema = this.UISchemaGenerator.generateDefaultUISchema(schema);
}

resolvedSchemaDeferred.resolve(schema);
resolvedUISchemaDeferred.resolve(uiSchema);
});


Expand Down
4 changes: 0 additions & 4 deletions components/renderers/jsonforms-renderers.d.ts
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,4 @@ declare module JSONForms {
export interface IContainerRenderDescription extends IRenderDescription {
elements: IRenderDescription[]
}

export interface IArrayControlRenderDescription extends JSONForms.IRenderDescription {
gridOptions: uiGrid.IGridOptions
}
}
8 changes: 7 additions & 1 deletion components/renderers/jsonforms-renderers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

module JSONForms {

declare var JsonRefs;

export class RenderService implements IRenderService {

private renderers: IRenderer[] = [];
Expand All @@ -16,7 +18,11 @@ module JSONForms {
var indexedSchemaPath;
var schemaPath;
var subSchema;
var schema = services.get<ISchemaProvider>(ServiceId.SchemaProvider).getSchema();
var schema;

JsonRefs.resolveRefs(services.get<ISchemaProvider>(ServiceId.SchemaProvider).getSchema(), {}, (err, resolvedSchema) => {
schema = resolvedSchema;
});

// TODO element must be IControl
// TODO use isControl
Expand Down
1 change: 0 additions & 1 deletion components/renderers/layouts/vertical/vertial.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ describe('VerticalLayout', () => {
let el = $compile('<jsonforms schema="schema" ui-schema="uiSchema" data="data"/>')(scope);
scope.$digest();
let div = el.find('div');
console.log(div.children());
let layout = angular.element(div.children()[0]);
expect(layout.hasClass('jsf-vertical-layout')).toBeTruthy();
}));
Expand Down
10 changes: 6 additions & 4 deletions examples/app/polymer/polymer.jsf.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ app.run(['RenderService', 'PathResolver', '$rootScope', function(RenderService,
// set-up event binding
document.addEventListener('WebComponentsReady', function() {
var input = document.querySelector('paper-input');
input.addEventListener('keyup', function() {
instance[path] = input.value;
$rootScope.$digest();
});
if (input) {
input.addEventListener('keyup', function () {
instance[path] = input.value;
$rootScope.$digest();
});
}
});

return {
Expand Down
Loading

0 comments on commit 66e6d07

Please sign in to comment.