FLUID-4907: Create the UIO builder responsible for mapping from UIO Schema to enactors and settingsPanels

Metadata

Source
FLUID-4907
Type
Task
Priority
Critical
Status
Closed
Resolution
Fixed
Assignee
N/A
Reporter
y z
Created
2013-01-18T15:05:16.095-0500
Updated
2019-09-10T12:00:31.565-0400
Versions
N/A
Fixed Versions
N/A
Component
  1. UI Options

Description

As part of our work related to UI Options supporting a preferences schema, we need to implement a "UI Options Builder".

The UIO Builder will take in a primary schema (FLUID-4903,FLUID-4904) and an "auxiliary schema" (FLUID-5061), and combine them into the grade(s) needed to construct a functioning instance of UIO and/or UIE. The grade(s) created by the UIO builder will likely resemble those already created for the various starter grades used by UIE and UIO.

fluid.uiOptions.starterSettingsPanels
https://github.com/fluid-project/infusion/blob/master/src/webapp/components/uiOptions/js/SettingsPanels.js#L318-L439

fluid.uiEnhancer.staterActions
https://github.com/fluid-project/infusion/blob/master/src/webapp/components/uiOptions/js/UIEnhancer.js#L104-L240

More info on the mailing list:
http://lists.idrc.ocad.ca/pipermail/fluid-work/2013-June/009115.html

Example API for the builder and its use with UIO:

// Builder function, creates a grade and returns a grade name
fluid.uioBuilder = function (primarySchema, auxSchema) {
    // construct and create the grade(s) from the primarySchema and auxSchema with fluid.default
};

// A user would run the uioBuilder to construct a grade/component representing their configured UIO
// The user would execute this component to initialize their UIO.
fluid.uioBuilder(primarySchema, auxiliarySchema);
fluid.buildUIO(container, options); // just an example for the component name, the real one will likely be supplied in the schema

Comments