diff options
-rw-r--r-- | install/ui/src/freeipa/field.js | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/install/ui/src/freeipa/field.js b/install/ui/src/freeipa/field.js index 3c027bc43..ea548c033 100644 --- a/install/ui/src/freeipa/field.js +++ b/install/ui/src/freeipa/field.js @@ -819,6 +819,15 @@ field.Adapter = declare(null, { result_index: 0, /** + * When result of API call is an array of object this object index + * allows to specify exact object in array according to its position. + * Default value is null which means do not use object_index. + * + * @type {Number|null} + */ + object_index: null, + + /** * Name of the record which we want to extract from the result. * Used in dnslocations. * @type {String} @@ -849,6 +858,10 @@ field.Adapter = declare(null, { else if (dr.results) { var result = dr.results[this.result_index]; if (result) record = result[this.result_name]; + var res_type = typeof record; + var obj_in_type = typeof this.object_index; + if (res_type === 'object' && obj_in_type === 'number') + record = record[this.object_index]; } } return record; |