Improve model relay component to interpret model transformation rules
Description
The current model relay component only accepts direct one-to-one model path mapping such as:
rules: {
[shared/external model path]: [internal model path]
}
However the discovery tool displays the need to be able to do transformation from one model structure to another during this translation. For example, in the discovery tool the model for the highContrast panel is {enabled: true} which really corresponds to a shared model of
The modelRelay's rules block should actually take in model transformation instructions and perform these on outgoing and incoming (using the inverse rules) model updates.
The current model relay component only accepts direct one-to-one model path mapping such as:
rules: { [shared/external model path]: [internal model path] }
However the discovery tool displays the need to be able to do transformation from one model structure to another during this translation. For example, in the discovery tool the model for the highContrast panel is {enabled: true} which really corresponds to a shared model of
{ theme: "bw", links: true, inputsLarger: true, textFont: "arial" }
The modelRelay's rules block should actually take in model transformation instructions and perform these on outgoing and incoming (using the inverse rules) model updates.
see:
http://wiki.gpii.net/index.php/Architecture_-_Available_transformation_functions
http://wiki.fluidproject.org/display/docs/fluid.model.transformWithRules
for the case of the one-to-many changes, look at the valueMapper