Upgrade the Prefs Framework to use the core Model Relay functionality instead of its own.
Description
Environment
depends on
is depended on by
Activity

Justin ObaraJune 26, 2015 at 1:51 PM
Reopening to change the fix version to 1.9

Justin ObaraMarch 19, 2015 at 4:26 PM
Pull request ( https://github.com/fluid-project/infusion/pull/582 ) was merged into the project repo at 18939c0dd614901bfc434a29f880aa332600a239

Cindy LiJanuary 27, 2015 at 3:16 PM
Issued a pull request: https://github.com/fluid-project/infusion/pull/582
This pull request is dependent on Antranig's pull request that fixes : https://github.com/fluid-project/infusion/pull/581

Cindy LiJanuary 26, 2015 at 3:04 PM
I've started working on this in the branch: https://github.com/cindyli/infusion/tree/FLUID-5552
Most pieces are back working except one last issue. To produce:
1. Open examples/framework/preferences/conditionalAdjusters-singlePanel/ in a browser where a debugger is turned on;
2. Turn on "speak text" preference, adjust the slider for "Words-per-min", click on "reset" button;
3. This javascript error occurs:
ASSERTION FAILED: Cannot resolve reference {change}.value from component { typeName: "fluid.textfieldSlider.textfield" gradeNames: ["fluid.textfieldSlider.textfield","fluid.viewRelayComponent","fluid.commonViewComponent","fluid.standardRelayComponent","fluid.modelRelayComponent","fluid.commonModelComponent"] id: byh4wskj-1519} which has been destroyed
The error doesn't occur if "Words-per-min" and other prefs in conditional panels have never been adjusted.
The same issue can be produced with all conditional panel examples.
Clicking on the reset button triggers:
1. Reset the central model to the default which resets "speak text" to false and "words-per-min" to its original value. This should also triggers the model relay for the "Words-per-min" prefs value to be relayed to "Words-per-min" text field slider;
2. Resetting "speak text" prefs to false results in the destroy of its conditional panels including the "words-per-min" text field slider. A refreshView() is called right after the destroy to stop showing these conditional panels - https://github.com/cindyli/infusion/blob/FLUID-5552/src/framework/preferences/js/Panels.js#L334-L340
The debugging log shows the destroy of the "words-per-min" text field slider (line 337) happens before the error occurs. So it seems even though the text field slider should have been destroyed, the model relay onto it continues to happen.

Antranig BasmanDecember 8, 2014 at 4:49 PM
Note the upgrading the video player ( VP-295 ) with the new modelRelay system can't go ahead without ("global instantiators")
The core Infusion Framework uses the new model relay functionality, but the Prefs Framework still uses its own model relay framework. This makes upgrading the video player rather complicated.