FLUID-4189: Expand renderer component workflow in order to supply interception points for model transformation and tree expansion

Metadata

Source
FLUID-4189
Type
Improvement
Priority
Major
Status
Open
Resolution
N/A
Assignee
Antranig Basman
Reporter
Antranig Basman
Created
2011-04-18T22:52:29.534-0400
Updated
2021-01-11T19:10:58.316-0500
Versions
  1. 1.3.1
  2. 1.4
  3. 1.5
Fixed Versions
N/A
Component
  1. Renderer

Description

Currently CollectionSpace "RecordList" contains code like the following:

cspace.recordList.produceTreeTabs = function (that) {
        var tree = cspace.recordList.produceTree(that);
        tree.expander[1].trueTree.expander[0].tree.expander.push({
            type: "fluid.renderer.condition",
            condition: that.options.showDeleteButton,
            trueTree: {
                deleteRelation: {

In order to allow code reuse between different rendering conditions, this raw protoTree manipulation code is packaged in pure logic. We need to supply a toolkit of techniques to make such code go away. In the first instance, this problem can be ameliorated by supplying interception points within a single renderer component's rending pipeline to allow modification and compositing of multiple protoTrees in their expanded form. The more sound long-term approach to this problem involves renderer antigens (FLUID-4260).