FLUID-6141: The auxBuilder maps all model properties in a preferenceMap object to the same relayed model property

Metadata

Source
FLUID-6141
Type
Bug
Priority
Major
Status
Closed
Resolution
Fixed
Assignee
N/A
Reporter
Justin Obara
Created
2017-03-02T13:29:27.945-0500
Updated
2024-07-22T10:35:26.658-0400
Versions
  1. 2.0
Fixed Versions
  1. 3.0
Component
  1. Prefs Framework

Description

Currently if you specify a prefernceMap on a panel, the auxbuilder will loop through and pull out the paths that start with "model." and create a model relay to a model value keyed by a "safe" version of the preferenceMap key it is defined in.

Example:

preferenceMap: {
            "fluid.prefs.textSize": {
                "model.textSize": "default",
                "model.range.min": "minimum",
                "model.range.max": "maximum",
                "model.step": "divisibleBy"
            }
        },

In this case all of the model paths specified on the left side will be assigned the exact same model relay value on the right side.

Each preference is expected to be a single model path, which could have various types of values. ( see the primary schemas ). However there are cases where the panel itself may want to operate with a different model structure. We should allow for the other values to be mapped to any model path within the panel component, and use "default" as a keyword to define what will be assigned the model relay to the preference value.