Skip to content
This repository was archived by the owner on Apr 30, 2018. It is now read-only.

Commit 2c6693b

Browse files
committed
implementing feedback, setting originalModel as optional
1 parent 19e1109 commit 2c6693b

File tree

3 files changed

+15
-1
lines changed

3 files changed

+15
-1
lines changed

src/directives/formly-field.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ function formlyField($http, $q, $compile, $templateCache, $interpolate, formlyCo
2020
scope: {
2121
options: '=',
2222
model: '=',
23-
originalModel: '=',
23+
originalModel: '=?',
2424
formId: '@', // TODO remove formId in a breaking release
2525
index: '=?',
2626
fields: '=?',
@@ -85,6 +85,7 @@ function formlyField($http, $q, $compile, $templateCache, $interpolate, formlyCo
8585
function simplifyLife(options) {
8686
// add a few empty objects (if they don't already exist) so you don't have to undefined check everywhere
8787
formlyUtil.reverseDeepMerge(options, {
88+
originalModel: options.model,
8889
extras: {},
8990
data: {},
9091
templateOptions: {},

src/directives/formly-field.test.js

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1484,6 +1484,18 @@ describe('formly-field', function() {
14841484
expect(field2.model).to.eq(scope.model.child);
14851485
expect(field2.originalModel).not.to.eq(scope.model.child);
14861486
expect(field2.originalModel).to.eq(scope.model);
1487+
});
1488+
1489+
it('should take field model as default for original model, if original value attributes has not been set', () => {
1490+
scope.fields = [
1491+
getNewField({key: 'foo', model: {foo: 'bar'}})
1492+
];
1493+
1494+
compileAndDigest('<div formly-field class="formly-field" options="fields[0]" model="model"></div>');
1495+
$timeout.flush();
1496+
1497+
expect(field.model).to.eq(scope.fields[0].model);
1498+
expect(field.originalModel).to.eql(scope.fields[0].model);
14871499

14881500
});
14891501

src/providers/formlyApiCheck.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,7 @@ const fieldOptionsApiShape = {
9898
).optional,
9999
key: apiCheck.oneOfType([apiCheck.string, apiCheck.number]).optional,
100100
model: modelChecker.optional,
101+
originalModel: modelChecker.optional,
101102
className: apiCheck.string.optional,
102103
id: apiCheck.string.optional,
103104
name: apiCheck.string.optional,

0 commit comments

Comments
 (0)