From 9d5b52979f5ecdd760efbf0e1db24c40ad2791f3 Mon Sep 17 00:00:00 2001 From: Tobias Moebert <moebert@uni-potsdam.de> Date: Thu, 12 Mar 2015 17:13:49 +0100 Subject: [PATCH] # [Aggregator] addWidgetSubscription -> now takes a widget as a single argument (additionally to the existing way of taking a widget handle and a callback list) --- dist/contactJS.js | 20 +++++++++++++------- js/modules/aggregator/aggregator.js | 20 +++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/dist/contactJS.js b/dist/contactJS.js index f7ae694..99f43bf 100644 --- a/dist/contactJS.js +++ b/dist/contactJS.js @@ -5423,13 +5423,19 @@ define('aggregator',['easejs', 'MathUuid','widget', 'widgetHandle', 'widgetHandl * @public * @alias addWidgetSubscription * @memberof Aggregator# - * @param {WidgetHandle} _widgetHandle Widget that should be subscribed. - * @param {CallbackList} _callbacks required Callbacks + * @param {WidgetHandle|Widget} _widgetHandleOrWidget Widget that should be subscribed. + * @param {CallbackList} _callbackList required Callbacks */ - 'public addWidgetSubscription' : function(_widgetHandle, _callbackList){ - if(Class.isA(WidgetHandle, _widgetHandle) && Class.isA(CallbackList, _callbackList)){ - var widget = this.discoverer.getComponent(_widgetHandle.getId()); - if(widget && widget.getName() === _widgetHandle.getName()){ + 'public addWidgetSubscription' : function(_widgetHandleOrWidget, _callbackList){ + if (Class.isA(Widget, _widgetHandleOrWidget)) { + if (!_callbackList || !Class.isA(CallbackList, _callbackList)) { + _callbackList = _widgetHandleOrWidget.getCallbackList(); + } + _widgetHandleOrWidget = _widgetHandleOrWidget.getHandle(); + } + if(Class.isA(WidgetHandle, _widgetHandleOrWidget) && Class.isA(CallbackList, _callbackList)){ + var widget = this.discoverer.getComponent(_widgetHandleOrWidget.getId()); + if(widget && widget.getName() === _widgetHandleOrWidget.getName()){ this.subscribeTo(widget, _callbackList); this.callbacks.putAll(_callbackList); var callsList = _callbackList.getItems(); @@ -5441,7 +5447,7 @@ define('aggregator',['easejs', 'MathUuid','widget', 'widgetHandle', 'widgetHandl this.addAttributeType(singleType); } } - this.addWidget(_widgetHandle); + this.addWidget(_widgetHandleOrWidget); } } }, diff --git a/js/modules/aggregator/aggregator.js b/js/modules/aggregator/aggregator.js index 3e88cc2..11fcce2 100644 --- a/js/modules/aggregator/aggregator.js +++ b/js/modules/aggregator/aggregator.js @@ -357,13 +357,19 @@ define(['easejs', 'MathUuid','widget', 'widgetHandle', 'widgetHandleList', * @public * @alias addWidgetSubscription * @memberof Aggregator# - * @param {WidgetHandle} _widgetHandle Widget that should be subscribed. - * @param {CallbackList} _callbacks required Callbacks + * @param {WidgetHandle|Widget} _widgetHandleOrWidget Widget that should be subscribed. + * @param {CallbackList} _callbackList required Callbacks */ - 'public addWidgetSubscription' : function(_widgetHandle, _callbackList){ - if(Class.isA(WidgetHandle, _widgetHandle) && Class.isA(CallbackList, _callbackList)){ - var widget = this.discoverer.getComponent(_widgetHandle.getId()); - if(widget && widget.getName() === _widgetHandle.getName()){ + 'public addWidgetSubscription' : function(_widgetHandleOrWidget, _callbackList){ + if (Class.isA(Widget, _widgetHandleOrWidget)) { + if (!_callbackList || !Class.isA(CallbackList, _callbackList)) { + _callbackList = _widgetHandleOrWidget.getCallbackList(); + } + _widgetHandleOrWidget = _widgetHandleOrWidget.getHandle(); + } + if(Class.isA(WidgetHandle, _widgetHandleOrWidget) && Class.isA(CallbackList, _callbackList)){ + var widget = this.discoverer.getComponent(_widgetHandleOrWidget.getId()); + if(widget && widget.getName() === _widgetHandleOrWidget.getName()){ this.subscribeTo(widget, _callbackList); this.callbacks.putAll(_callbackList); var callsList = _callbackList.getItems(); @@ -375,7 +381,7 @@ define(['easejs', 'MathUuid','widget', 'widgetHandle', 'widgetHandleList', this.addAttributeType(singleType); } } - this.addWidget(_widgetHandle); + this.addWidget(_widgetHandleOrWidget); } } }, -- GitLab