From b89a7ee8b956c96a1dcee995ea840feddc5d4b27 Mon Sep 17 00:00:00 2001 From: Pierre Frisch Date: Thu, 22 Dec 2011 07:25:50 -0800 Subject: First commit of Ninja to ninja-internal Signed-off-by: Valerio Virgillito --- .../montage/core/event/action-event-listener.js | 76 ++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100755 node_modules/montage/core/event/action-event-listener.js (limited to 'node_modules/montage/core/event/action-event-listener.js') diff --git a/node_modules/montage/core/event/action-event-listener.js b/node_modules/montage/core/event/action-event-listener.js new file mode 100755 index 00000000..bbe5baad --- /dev/null +++ b/node_modules/montage/core/event/action-event-listener.js @@ -0,0 +1,76 @@ +/* + This file contains proprietary software owned by Motorola Mobility, Inc.
+ No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.
+ (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved. +
*/ +/** + @module montage/core/event/action-event-listener + @requires montage/core/core + */ +var Montage = require("montage").Montage; + +/** + @class module:montage/core/event/action-event-listener.ActionEventListener + @extends module:montage/core/core.Montage + */ +var ActionEventListener = exports.ActionEventListener = Montage.create(Montage, /** @lends module:montage/core/event/action-event-listener.ActionEventListener# */ { + +/** + The object to handle the event. + @type {Property} + @default {Event handler} null +*/ + handler: { + value: null + }, + +/** + The action (function) to invoke on the handler object. + @type {Property} + @default {Event handler} null +*/ + action: { + value: null + }, + +/** + Returns a new ActionEventListener instance with the specified handler and action. + @function + @param {Event} handler The event handler. + @param {Event} action The event handler action. + @returns itself +*/ + initWithHandler_action_: { + value: function(handler, action) { + this.handler = handler; + this.action = action; + + return this; + } + }, + +/** + @private +*/ + handleEvent: { + value: function(event) { + if (typeof this.action === "function") { + // TODO call this in what context? + this.action(event); + } else { + this.handler[this.action](event); + } + } + }, + +/** + @private +*/ + serializeSelf: { + value: function(serializer) { + serializer.setReference("handler", this.handler); + serializer.set("action", this.action); + } + } + +}); -- cgit v1.2.3