1
1
/*!
2
2
* angular-schema-form
3
- * @version 1.0.0-alpha.4
4
- * @date Sat, 15 Apr 2017 08:27:27 GMT
3
+ * @version 1.0.0-alpha.5
4
+ * @date Wed, 26 Apr 2017 14:49:08 GMT
5
5
* @link https://github.com/json-schema-form/angular-schema-form
6
6
* @license MIT
7
7
* Copyright (c) 2014-2017 JSON Schema Form
@@ -2831,7 +2831,7 @@ __WEBPACK_IMPORTED_MODULE_1_angular___default.a.module('schemaForm', deps)
2831
2831
} )
2832
2832
2833
2833
// Directives
2834
- . directive ( 'sfChanged' , __WEBPACK_IMPORTED_MODULE_7_sf_changed_directive__ [ "a" /* default */ ] ) . directive ( 'sfField' , [ '$parse' , '$compile' , '$http' , '$templateCache' , '$interpolate' , '$q' , 'sfErrorMessage' , 'sfPath' , 'sfSelect' , __WEBPACK_IMPORTED_MODULE_8_sf_field_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfMessage' , [ '$injector' , 'sfErrorMessage' , __WEBPACK_IMPORTED_MODULE_9_sf_message_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfNewArray' , [ 'sfSelect' , 'sfPath' , 'schemaForm' , __WEBPACK_IMPORTED_MODULE_10_sf_array_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfSchema' , [ '$compile' , '$http' , '$templateCache' , '$q' , 'schemaForm' , 'schemaFormDecorators' , 'sfSelect' , 'sfPath' , 'sfBuilder' , __WEBPACK_IMPORTED_MODULE_12_sf_schema_directive__ [ "a" /* default */ ] ] ) . directive ( 'schemaValidate' , [ 'sfValidator' , '$parse' , 'sfSelect' , __WEBPACK_IMPORTED_MODULE_13_schema_validate_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfKeyController' , [ 'schemaForm' , 'sfPath' , __WEBPACK_IMPORTED_MODULE_11_sf_key_directive__ [ "a" /* default */ ] ] ) ;
2834
+ . directive ( 'sfChanged' , __WEBPACK_IMPORTED_MODULE_7_sf_changed_directive__ [ "a" /* default */ ] ) . directive ( 'sfField' , [ '$parse' , '$compile' , '$http' , '$templateCache' , '$interpolate' , '$q' , 'sfErrorMessage' , 'sfPath' , 'sfSelect' , __WEBPACK_IMPORTED_MODULE_8_sf_field_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfMessage' , [ '$injector' , 'sfErrorMessage' , __WEBPACK_IMPORTED_MODULE_9_sf_message_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfNewArray' , [ 'sfSelect' , 'sfPath' , 'schemaForm' , __WEBPACK_IMPORTED_MODULE_10_sf_array_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfSchema' , [ '$compile' , '$http' , '$templateCache' , '$q' , 'schemaForm' , 'schemaFormDecorators' , 'sfSelect' , 'sfPath' , 'sfBuilder' , __WEBPACK_IMPORTED_MODULE_12_sf_schema_directive__ [ "a" /* default */ ] ] ) . directive ( 'schemaValidate' , [ 'sfValidator' , '$parse' , 'sfSelect' , '$interpolate' , __WEBPACK_IMPORTED_MODULE_13_schema_validate_directive__ [ "a" /* default */ ] ] ) . directive ( 'sfKeyController' , [ 'schemaForm' , 'sfPath' , __WEBPACK_IMPORTED_MODULE_11_sf_key_directive__ [ "a" /* default */ ] ] ) ;
2835
2835
2836
2836
/***/ } ) ,
2837
2837
/* 5 */
@@ -2842,7 +2842,7 @@ __WEBPACK_IMPORTED_MODULE_1_angular___default.a.module('schemaForm', deps)
2842
2842
/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_angular___default = __webpack_require__ . n ( __WEBPACK_IMPORTED_MODULE_0_angular__ ) ;
2843
2843
2844
2844
2845
- /* harmony default export */ __webpack_exports__ [ "a" ] = function ( sfValidator , $parse , sfSelect ) {
2845
+ /* harmony default export */ __webpack_exports__ [ "a" ] = function ( sfValidator , $parse , sfSelect , $interpolate ) {
2846
2846
return {
2847
2847
restrict : 'A' ,
2848
2848
scope : false ,
@@ -2859,15 +2859,26 @@ __WEBPACK_IMPORTED_MODULE_1_angular___default.a.module('schemaForm', deps)
2859
2859
var error = null ;
2860
2860
var form = scope . $eval ( attrs . schemaValidate ) ;
2861
2861
2862
- if ( form . copyValueTo ) {
2862
+ //TODO move this out of validate
2863
+ var copyTo = typeof form . copyValueTo === 'string' ? [ form . copyValueTo ] : form . copyValueTo ;
2864
+ if ( copyTo && copyTo . length ) {
2863
2865
ngModel . $viewChangeListeners . push ( function ( ) {
2864
- var paths = form . copyValueTo ;
2865
- __WEBPACK_IMPORTED_MODULE_0_angular___default . a . forEach ( paths , function ( path ) {
2866
+ var context = {
2867
+ "model" : scope . model ,
2868
+ "form" : form ,
2869
+ "arrayIndex" : scope . $index ,
2870
+ "arrayIndices" : scope . arrayIndices ,
2871
+ "path" : scope . path ,
2872
+ "$i" : scope . $i ,
2873
+ "$index" : scope . $index
2874
+ } ;
2875
+ __WEBPACK_IMPORTED_MODULE_0_angular___default . a . forEach ( copyTo , function ( copyToPath ) {
2876
+ var path = copyToPath . replace ( / \[ / g, "[{{ " ) . replace ( / \] / g, " }}]" ) . replace ( / ^ m o d e l \. / , "" ) ;
2877
+ path = $interpolate ( path ) ( context ) ;
2866
2878
sfSelect ( path , scope . model , ngModel . $modelValue ) ;
2867
2879
} ) ;
2868
2880
} ) ;
2869
2881
} ;
2870
-
2871
2882
// Validate against the schema.
2872
2883
2873
2884
var validate = function validate ( viewValue , triggered ) {
0 commit comments