Documentation

Sample code

Sample code of the addon

function AddonSample_create() {
    var presenter = function () { };
    var clickCounter = 0;
    presenter.run = function (view, model) {
        presenter.$view = $(view);
        presenter.model = model;
        var $button = $(view).find('button'),
            $counter = $(view).find('.sample-addon-clicks-counter');
        $button.click(function (event) {
            event.preventDefault();
            clickCounter++;
            $counter.text('Count: ' + clickCounter);
        });
    };
    presenter.createPreview = function (view, model) {
        $(view).find('button').click(function (event) {
            event.preventDefault();
        });
    };
    presenter.getState = function () {
        return JSON.stringify({
            clickCounter: clickCounter
        });
    };
    presenter.setState = function (state) {
        var parsedState = JSON.parse(state),
            $counter = presenter.$view.find('.sample-addon-clicks-counter');
        clickCounter = parsedState.clickCounter;
        $counter.text('Count: ' + clickCounter);
    };
    return presenter;
}