src/aria/utils/Json.js
function (container) {
                if (container[parProp]) {
                    // back references already present, nothing to do
                    return;
                }
                // back references are not present yet
                container[parProp] = [];
                for (var childName in container) {
                    if (container.hasOwnProperty(childName) && __includePropForBackRef(childName)) {
                        var childValue = container[childName];
                        if (__isValidContainer(childValue)) {
                            this.__checkBackRefs(childValue);
                            // Add the container reference and property name to the child 'aria:parent' array
                            childValue[parProp].push({
                                parent : container,
                                property : childName
                            });
                            this.$raiseEvent({
                                name : 'aria-parent-metadata-added',
                                child: childValue,
                                parent: container,
                                property: childName
                            });
                        }
                    }
                }
            }
function (container) {
                if (container[parProp]) {
                    // back references already present, nothing to do
                    return;
                }
                // back references are not present yet
                container[parProp] = [];
                for (var childName in container) {
                    if (container.hasOwnProperty(childName) && __includePropForBackRef(childName)) {
                        var childValue = container[childName];
                        if (__isValidContainer(childValue)) {
                            this.__checkBackRefs(childValue);
                            // Add the container reference and property name to the child 'aria:parent' array
                            childValue[parProp].push({
                                parent : container,
                                property : childName
                            });
                            this.$raiseEvent({
                                name : 'aria-parent-metadata-added',
                                child: childValue,
                                parent: container,
                                property: childName
                            });
                        }
                    }
                }
            }
function ( container ) { if ( container [ parProp ] ) { // back references already present, nothing to do return ; } // back references are not present yet container [ parProp ] = [ ] ; for ( var childName in container ) { if ( container . hasOwnProperty ( childName ) && __includePropForBackRef ( childName ) ) { var childValue = container [ childName ] ; if ( __isValidContainer ( childValue ) ) { this . __checkBackRefs ( childValue ) ; // Add the container reference and property name to the child 'aria:parent' array childValue [ parProp ] . push ( { parent : container , property : childName } ) ; this . $raiseEvent ( { name : 'aria-parent-metadata-added' , child : childValue , parent : container , property : childName } ) ; } } } }
This method checks that back references up to container are present in the data model. If not, they are added
recursively.
@param {Object} container Must already be checked as a container according to __isValidContainer.
@private
This method checks that back references up to container are present in the data model . If not they are added recursively .