Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 4.0
 Components]{span} {span:class=tutorial-nav-centre
}[Up to
overview
Div
class
Wiki Markup
{div:class=tutorial-linear-nav
}
{span
:class
=tutorial-nav-left
}*Previous:* [View
Components
Span
class
Span
classtutorial-nav-right

Next: Subcomponents

Div
classfloatRight
Panel
borderColor#ccc
bgColor#fff
titleOn This Page
borderStylesolid
Table of Contents
minLevel2
maxLevel5
Renderer
Renderer Component Trees
Cutpoints
 overview|Tutorial - Getting started with Infusion]{span} {span:class=tutorial-nav-right}*Next:* [Subcomponents]{span}
{div}
Div
classfloatRight
Panel
borderColor#ccc
bgColor#fff
titleSee Also
borderStylesolid
Wiki Markup
{div:class=floatRight}
{panel:title= On This Page| borderStyle=solid| borderColor=#ccc| bgColor=#fff}
{toc:minLevel=2|maxLevel=5}
{panel}
{div}
Wiki Markup
{div:class=floatRight}
{panel:title= See Also| borderStyle=solid| borderColor=#ccc| bgColor=#fff}
[Renderer]
[Renderer Component Trees]
[Cutpoints]
{panel}
{div}

In the previous View Components currency converter example, you can notice two things:

...

Code Block
javascript
javascript
fluid.defaults("tutorials.currencyConverter", {
    gradeNames: ["fluid.rendererComponent", "autoInit"],
    selectors: {
        amount: ".tut-currencyConverter-amount",
        currency: ".tut-currencyConverter-currency-selecter",
        result: ".tut-currencyConverter-result"
    },
    model: {
        rates: {
            names: ["euro", "yen", "yuan", "usd", "rupee"],
            values: ["0.712", "81.841", "6.609", "1.02", "45.789"]
        },
        currentSelection: "0.712",
        amount: 0,
        result: 0
    },
    events: {
        conversionUpdated: null
    },
    produceTree: "tutorials.currencyConverter.produceTree",
    finalInitFunction: "tutorials.currencyConverter.finalInit",
    renderOnInit: true
});

var bindEventHanders = function (that) {
    // When the model changes, update the resulting "converted" value
    that.applier.modelChanged.addListener("amount", function () {
        that.convert(that.model.amount);
    });
    that.applier.modelChanged.addListener("currentSelection", function () {
        that.convert(that.model.amount);
    });
    that.applier.modelChanged.addListener("result", function () {
        that.refreshView();
    });
};

tutorials.currencyConverter.produceTree = function (that) {
    return {
        amount: "${amount}",
        currency: {
            optionnames: "${rates.names}",
            optionlist: "${rates.values}",
            selection: "${currentSelection}"
        },
        result: "${result}"
    };
};

tutorials.currencyConverter.finalInit = function (that) {

    // Add a method to the component object
    that.convert = function (amount) {
        var convertedAmount = parseInt(amount) * that.model.currentSelection;
        that.applier.requestChange("result", convertedAmount);
        that.events.conversionUpdated.fire(convertedAmount);
    };
    
    bindEventHanders(that);
};
 Components]{span} {span:class=tutorial-nav-centre
}[Up to
overview
 overview|Tutorial - Getting started with Infusion]{span} {span:class=tutorial-nav-right
}*Next:* [Subcomponents]{span}
{div}
Wiki Markup
{div
:class
=tutorial-linear-nav
}
{span
:class
=tutorial-nav-left
}*Previous:* [View
Components
Span
class
Span
class