# Source: ui/label.reel/label.js

    /**
     * @module "montage/ui/label.reel"
     */
    var TextComponent = require("../text.reel/text").Text,
        PressComposer = require("../../composer/press-composer").PressComposer;

    /* FIXME:
    - docs,
    - tests,
    - emit events?
    - handle keyboard events?
    */

    exports.Label = TextComponent.specialize({
        constructor: {
            value: function () {
                this._pressComposer = new PressComposer();
                this.addComposer(this._pressComposer);
            }
        },

        hasTemplate: {
            value: false
        },

        prepareForActivationEvents: {
            value: function () {
                this.super();
                this._pressComposer.addEventListener("press", this, false);
            }
        },

        _pressComposer: {
            value: null
        },

        target: {
            value: null
        },

        action: {
            value: "activate"
        },

        handlePress: {
            value: function (event) {
                this.super(event);
                if(this.target && typeof this.target[this.action] === "function") {
                    this.target[this.action]({ from: this });
                }
            }
        },
    });