Skip to content

Commit ebb3382

Browse files
committed
implement onChange support for sf-array
1 parent 74726d7 commit ebb3382

File tree

1 file changed

+13
-0
lines changed

1 file changed

+13
-0
lines changed

src/directives/array.js

+13
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,14 @@ angular.module('schemaForm').directive('sfArray', ['sfSelect', 'schemaForm', 'sf
8282

8383
}
8484

85+
var onChangeHandler = !form.onChange ? angular.noop : function(list) {
86+
if (angular.isFunction(form.onChange)) {
87+
form.onChange(list, form);
88+
} else {
89+
scope.$parent.evalExpr(form.onChange, {'modelValue': list, form: form});
90+
}
91+
}
92+
8593
// We ceate copies of the form on demand, caching them for
8694
// later requests
8795
scope.copyWithIndex = function(index) {
@@ -132,6 +140,9 @@ angular.module('schemaForm').directive('sfArray', ['sfSelect', 'schemaForm', 'sf
132140

133141
// Trigger validation.
134142
scope.validateArray();
143+
144+
onChangeHandler(list);
145+
135146
return list;
136147
};
137148

@@ -141,6 +152,8 @@ angular.module('schemaForm').directive('sfArray', ['sfSelect', 'schemaForm', 'sf
141152
// Trigger validation.
142153
scope.validateArray();
143154

155+
onChangeHandler(list);
156+
144157
// Angular 1.2 lacks setDirty
145158
if (ngModel && ngModel.$setDirty) {
146159
ngModel.$setDirty();

0 commit comments

Comments
 (0)