Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The options shown here represent the minimal options that an integrator would have to provide. Other options will also be available.

Basic API

...

Section
Column

UIO + Page Enhancer

Code Block
javascript
javascript
fluid.uiOptions(container, {
    gradeNames: [<gradenames of desired panels>,
                 <gradenames of schema for settings>],
    pathToTemplates: "my/sites/lib/infusion/templates/",
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});
Column

Page Enhancer Only

Code Block
javascript
javascript
fluid.pageEnhancer({
    gradeNames: [<grade names for desired settings>]enactors>,
     pathToTocTemplate: "my/sites/",     siteThemeClassName: "foofer-doodle-theme" });
    <gradenames of schema for settings>],
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});

If no grade names are specified, the default state of the components would be no panels, no settings. It's unlikely anyone would ever use it without grade names.

...

Use Case: 2nd Parties (Infusion-provided panels and settings)

Add the provided panels and settings using the default grades.

Section
Column

UIO + Page Enhancer

Code Block
javascript
javascript
fluid.uiOptions(container, {
    schemagradeNames: <path to schema, including filename>,["fluid.uiOptions.starterSettingsPanels",
        pathToTemplates: "my/sites/lib/infusion/templates/",        "fluid.uiOptions.starterSettingsSchema"],
    pathToTemplates: "my/sites/lib/infusion/templates/",
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});
Column

Page Enhancer Only

Code Block
javascript
javascript

{code:javascript}
fluid.pageEnhancer({
    schemagradeNames: <path to schema, including filename>["fluid.uiEnhancer.starterEnactors",
                 "fluid.uiOptions.starterSettingsSchema"],
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});

Use Case:

...

3rd Parties (

...

adding or removing panels)

Note: 3rd parties will have to define their own grades for new settings, panels, enactors.

Adding panels to the set of included panels (no schema)

Section
Column
width50%

UIO

+ Page Enhancer (no schema)

Code Block
javascript
javascript

fluid.uiOptions(container, {
    gradeNames: ["fluid.uiOptions.defaultPanels"],
    pathToTemplates: "my/sites/lib/infusion/templates/",
/**
 * Define a grade for extra panels
 * and their default settings
 */
fluid.defaults("my.extra.panels", {
    pathToTocTemplatedefaultSiteSettings: "my/sites/", {
        siteThemeClassNamefoofer: "foofer-doodle-theme"
});

Column

Page Enhancer Only (no schema)

Code Block
javascriptjavascript

fluid.pageEnhancer({7,
        gradeNamesdoodle: ["fluid.uiOptions.defaultSettings"],true
    pathToTocTemplate: "my/sites/"},
    siteThemeClassNamecomponents: "foofer-doodle-theme"
});
Section
Column

UIO + Page Enhancer (with schema)

Code Block
javascriptjavascript

fluid.uiOptions(container, {{
        schemafoofer: "my/sites/lib/infusion/defaultSchema.json", {
     pathToTemplates       funcName: "my/sites/lib/infusion/templates/.integration.fooferPanel",
      pathToTocTemplate: "my/sites/",     siteThemeClassNameoptions: "foofer-doodle-theme"
});
Column

Page Enhancer Only (with schema)

Code Block
javascriptjavascript

fluid.pageEnhancer({ {
               schema: "my/sites/lib/infusion/defaultSchema.json",/ if necessary:
          pathToTocTemplate: "my/sites/",     siteThemeClassNametemplate: "foofer-doodle-thememyFooferPanel.html"
}); 

Use Case: 3rd Parties (adding or removing panels)

3rd parties will have to define their own grades.

Adding panels to the set of included panels (no schema)

Section
fluid.demands("fluid.uiOptions", ["my.integrations"], { gradeNames: ["my.extra.panels"], }); fluid.uiOptions(container
Column
width50%

UIO

Code Block
javascriptjavascript
 /**  * Define a grade for extra panels  * and their default settings// why */
fluid.defaults("my.extra.panels", {can't panels load their own templates?
       defaultSiteSettings: {    }
    foofer: 7,       // any doodle:other trueconfiguration as necessary
  },     components: {},
        fooferdoodle: {
            funcName: "my.integration.fooferPanel",doodlePanel",
            options: {
                optionstemplate: {"myDoodlePanel.html"
                // if necessary:
            }
      template: "myFooferPanel.html"     // any other configuration as necessary
      // why can't}
panels load their own templates?}
});
fluid.defaults("my.extra.settingsSchema", {
        schema: {...}
});
fluid.uiOptions(container, {
    gradeNames: ["fluid.uiOptions.starterSettingsPanels",
    // any other configuration as necessary         },
     "fluid.uiOptions.starterSettingsSchema",
  doodle: {             funcName: "my.integrationextra.doodlePanelpanels",
            options: {    "my.extra.settingsSchema"],
            templatepathToTemplates: "myDoodlePanel.html"my/sites/lib/infusion/templates/",
         pathToTocTemplate: "my/sites/",
    siteThemeClassName:  // if necessary
   "foofer-doodle-theme"
});

Alternatively, the extra grade could be added using demands:

Code Block
javascript
javascript

fluid.demands("fluid.uiOptions", ["my.integrations"], {
    gradeNames:    }
 ["my.extra.panels", "my.extra.settingsSchema"],
});
fluid.uiOptions(container, {
          // any other configuration as necessarygradeNames: ["fluid.uiOptions.starterSettingsPanels",
          }     } }); "fluid.uiOptions(container, {.starterSettingsSchema"],
    gradeNames: ["fluid.uiOptions.defaultPanels", "my.extra.panels"],
    pathToTemplates: "my/sites/lib/infusion/templates/",
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});

Alternatively, the extra grade could be added using demands:

Code Block
javascriptjavascript
Column

Page Enhancer

Code Block
javascript
javascript

/**
 * Define a grade for extra enactors
 * and their default settings
 */
fluid.defaults("my.extra.enactors", {
    gradeNamesdefaultSiteSettings: ["fluid.uiOptions.defaultPanels"], {
        pathToTemplatesfoofer: "my/sites/lib/infusion/templates/",7,
      pathToTocTemplate: "my/sites/",
  doodle: true
  siteThemeClassName: "foofer-doodle-theme" });
Column

Page Enhancer

Code Block
javascriptjavascript

/**
 * Define a grade for extra enactors
 * and their default settings
 */
fluid.defaults("my.extra.settings", {,
    components: {
        foofer: {
        defaultSiteSettings: {   funcName: "my.integration.fooferEnactor",
    foofer: 7,       // any doodle:other trueconfiguration as necessary
  },     components: {},
        fooferdoodle: {
            funcName: "my.integration.fooferEnactordoodleEnactor",
            // any other configuration as necessary
        }
    }
});
fluid.pageEnhancer({
},    gradeNames: ["fluid.uiEnhancer.starterEnactors",
   doodle: {             funcName: "myfluid.integrationuiEnhancer.doodleEnactorstarterSettingsSchema",

           // any other configuration as necessary
   "my.extra.enactors",
     }     } }); fluid.pageEnhancer({     gradeNames: ["fluid.uiOptions.defaultSettings", "my.extra.settings"settingsSchema],
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});

Alternatively, the extra grade could be added using demands:

Code Block
javascript
javascript
fluid.demands("fluid.pageEnhancer", ["my.integrations"], {
    gradeNames: ["my.extra.enactors", "my.extra.settingssettingsSchema"],
});
fluid.pageEnhancer({
    gradeNames: ["fluid.uiEnhancer.starterEnactors",
                 "fluid.uiOptionsuiEnhancer.defaultSettingsstarterSettingsSchema"],
    pathToTocTemplate: "my/sites/",
    siteThemeClassName: "foofer-doodle-theme"
});

...