FLUID-4190: "produceTree" configuration for renderer components is inadequate for simple declarative solutions

Metadata

Source
FLUID-4190
Type
Bug
Priority
Blocker
Status
Closed
Resolution
Fixed
Assignee
Colin Clark
Reporter
Antranig Basman
Created
2011-04-19T14:26:05.947-0400
Updated
2011-07-08T16:15:42.852-0400
Versions
  1. 1.3.1
Fixed Versions
  1. 1.4
Component
  1. Renderer

Description

The capabilities of "produceTree" configuration lag behind those of the newly implemented lifecycle functions - when defined in component defaults, "produceTree" needs to be a direct function object rather than having the ability to dereference function names. It should ALSO be possible to define "produceTree" as an invoker - this is also not possible since the autoInit lifecycle does not call initDependents until after the component init function returns. For example, the following code:

fluid.registerNamespace("fluid.uiOptions.controls");

fluid.defaults("fluid.uiOptions.controls", {
...
finalInitFunction: "fluid.uiOptions.controls.finalInit",
produceTree: fluid.uiOptions.controls.produceTree
});

fluid.uiOptions.controls.produceTree = function (that) {
var tree = {};
var radiobuttons = [];
...

fails to correctly register the produceTree method so it can be recognised by the rendererComponent lifecycle

Comments

  • Harris Wong commented 2011-05-16T15:41:15.934-0400

    Bug Parade Infusion

  • Antranig Basman commented 2011-05-23T21:30:37.669-0400

    A simple scheme as described has been implemented, covering the obvious cases. However, more thought is still needed in the long term about our ultimate approach to "methods".