Skip to content

Commit 5603cbe

Browse files
committed
Implemented check for form defaults in schema
For those who really don't like giving a form.
1 parent 8e8cb1a commit 5603cbe

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

src/services/schema-form.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,15 @@ angular.module('schemaForm').provider('schemaForm',
4040
var def;
4141
for (var i = 0; i < rules.length; i++) {
4242
def = rules[i](name, schema, options);
43+
4344
//first handler in list that actually returns something is our handler!
4445
if (def) {
46+
47+
// Do we have form defaults in the schema under the x-schema-form-attribute?
48+
if (def.schema['x-schema-form'] && angular.isObject(def.schema['x-schema-form'])) {
49+
def = angular.extend(def, def.schema['x-schema-form']);
50+
}
51+
4552
return def;
4653
}
4754
}
@@ -67,14 +74,16 @@ angular.module('schemaForm').provider('schemaForm',
6774
if (schema.minimum) { f.minimum = schema.minimum + (schema.exclusiveMinimum ? 1 : 0); }
6875
if (schema.maximum) { f.maximum = schema.maximum - (schema.exclusiveMaximum ? 1 : 0); }
6976

70-
//Non standard attributes
77+
// Non standard attributes (DONT USE DEPRECATED)
78+
// If you must set stuff like this in the schema use the x-schema-form attribute
7179
if (schema.validationMessage) { f.validationMessage = schema.validationMessage; }
7280
if (schema.enumNames) { f.titleMap = canonicalTitleMap(schema.enumNames, schema['enum']); }
7381
f.schema = schema;
7482

7583
// Ng model options doesn't play nice with undefined, might be defined
7684
// globally though
7785
f.ngModelOptions = f.ngModelOptions || {};
86+
7887
return f;
7988
};
8089

0 commit comments

Comments
 (0)