Modified: rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js URL: http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js?rev=1490040&r1=1490039&r2=1490040&view=diff ============================================================================== --- rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js (original) +++ rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_opensocial.js Wed Jun 5 21:47:52 2013 @@ -17,227 +17,222 @@ * under the License. */ -rave.registerProvider( - 'opensocial', - (function () { - var exports = {}; - - var container; - - exports.init = function () { - var containerConfig = {}; - containerConfig[osapi.container.ServiceConfig.API_PATH] = "/rpc"; - //TODO: if we want to support js debug mode in core, figure it out. - //containerConfig[osapi.container.ContainerConfig.RENDER_DEBUG] = rave.getJavaScriptDebugMode(); - container = new osapi.container.Container(containerConfig); +define(['underscore', './rave_openAjaxHub', './rave_log', 'opensocial'], function(_, getManagedHub, log){ + var exports = {}; - gadgets.pubsub2router.init({ - hub: rave.getManagedHub() - }); - - rpcRegister(); - implementViews(); - } - - function rpcRegister() { - container.rpcRegister('requestNavigateTo', requestNavigateTo); - container.rpcRegister('set_pref', setPref); - container.rpcRegister('set_title', setTitle); - container.rpcRegister('hideWidget', hideWidget); - container.rpcRegister('showWidget', showWidget); - } - - function requestNavigateTo(args, viewName, opt_params, opt_ownerId) { - var widget = args.gs._widget, - viewSurface = viewName.split('.')[0], - renderInto = rave.getView(viewSurface) ? viewSurface : widget._el; - - widget.render(renderInto, {view: viewName, view_params: opt_params, ownerId: opt_ownerId}); - } - - function setPref(args, editToken, prefName, prefValue) { - var widget = args.gs._widget; - widget.savePreference(prefName, prefValue); - } + var container; - /* - TODO: these rely on a gadget's view implementing a method - */ - function setTitle(args) { - var widget = args.gs._widget; - if (widget._view && widget._view.setTitle) { - var title = _.isArray(args.a) ? args.a[0] : args.a; - widget._view.setTitle(title); - } - } - - function hideWidget(args, viewName, opt_params, opt_ownerId) { - var widget = args.gs._widget; - if (widget._view && widget._view.collapse) { - widget._view.collapse(); - } - } + function init () { + var containerConfig = {}; + containerConfig[osapi.container.ServiceConfig.API_PATH] = "/rpc"; + //TODO: if we want to support js debug mode in core, figure it out. + //containerConfig[osapi.container.ContainerConfig.RENDER_DEBUG] = rave.getJavaScriptDebugMode(); + container = new osapi.container.Container(containerConfig); + + gadgets.pubsub2router.init({ + hub: getManagedHub() + }); + + rpcRegister(); + implementViews(); + } + + function rpcRegister() { + container.rpcRegister('requestNavigateTo', requestNavigateTo); + container.rpcRegister('set_pref', setPref); + container.rpcRegister('set_title', setTitle); + container.rpcRegister('hideWidget', hideWidget); + container.rpcRegister('showWidget', showWidget); + } + + function requestNavigateTo(args, viewName, opt_params, opt_ownerId) { + var widget = args.gs._widget; + + widget.navigate({view: viewName, view_params: opt_params, ownerId: opt_ownerId}); + } + + function setPref(args, editToken, prefName, prefValue) { + var widget = args.gs._widget; + widget.savePreference(prefName, prefValue); + } + + /* + TODO: these rely on a gadget's view implementing a method + */ + function setTitle(args) { + var widget = args.gs._widget; + if (widget._view && widget._view.setTitle) { + var title = _.isArray(args.a) ? args.a[0] : args.a; + widget._view.setTitle(title); + } + } + + function hideWidget(args, viewName, opt_params, opt_ownerId) { + var widget = args.gs._widget; + if (widget._view && widget._view.collapse) { + widget._view.collapse(); + } + } + + function showWidget(args, viewName, opt_params, opt_ownerId) { + var widget = args.gs._widget; + if (widget._view && widget._view.expand) { + widget._view.expand(); + } + } + + function implementViews() { + container.views.createElementForGadget = function (metadata, rel, opt_view, opt_viewTarget, opt_coordinates, parentSite, opt_callback) { + if (opt_viewTarget) { + var el; + + var prefs = (metadata && metadata.views && metadata.views[opt_view]) + var view = rave.renderView(opt_viewTarget, prefs); + if (view.getWidgetSite) { + el = view.getWidgetSite(); + el.setAttribute('data-rave-view', view._uid); + } - function showWidget(args, viewName, opt_params, opt_ownerId) { - var widget = args.gs._widget; - if (widget._view && widget._view.expand) { - widget._view.expand(); + return el; } - } + }; - function implementViews() { - container.views.createElementForGadget = function (metadata, rel, opt_view, opt_viewTarget, opt_coordinates, parentSite, opt_callback) { - if (opt_viewTarget) { - var el = document.createElement('div'); + container.views.createElementForEmbeddedExperience = function (rel, opt_gadgetInfo, opt_viewTarget, opt_coordinates, parentSite, opt_callback) { + var widgetUrl = opt_gadgetInfo.url; - var prefs = (metadata && metadata.views && metadata.views[opt_view]) - var view = rave.renderView(opt_viewTarget, prefs); - if(view.inject){ - view.inject(el); - } - if (view.getWidgetSite) { - el = view.getWidgetSite(); - el.setAttribute('data-rave-view', view._uid); - } + rave.api.rest.getSecurityToken({ + "url": widgetUrl, + //TODO: need to remove reference to rave.ui once we understand need for current pageid + //violates core dependency + "pageid": rave.ui.getCurrentPageId(), + "successCallback": renderEE + }); - return el; + function renderEE(data) { + if (data.error) { + return log(data.error.message) } - }; + var gadget = { + "widgetUrl": widgetUrl, + "securityToken": data.securityToken, + "metadata": opt_gadgetInfo + }, + height = gadget.metadata.modulePrefs.height || rave.RegionWidget.defaultHeight, + width = gadget.metadata.modulePrefs.width || rave.RegionWidget.defaultWidth; - container.views.createElementForEmbeddedExperience = function (rel, opt_gadgetInfo, opt_viewTarget, opt_coordinates, parentSite, opt_callback) { - var widgetUrl = opt_gadgetInfo.url; + preloadMetadata(gadget); - rave.api.rest.getSecurityToken({ - "url": widgetUrl, - //TODO: need to remove reference to rave.ui once we understand need for current pageid - //violates core dependency - "pageid": rave.ui.getCurrentPageId(), - "successCallback": renderEE - }); - - function renderEE(data) { - if (data.error) { - return rave.log(data.error.message) - } - var gadget = { - "widgetUrl": widgetUrl, - "securityToken": data.securityToken, - "metadata": opt_gadgetInfo - }, - height = gadget.metadata.modulePrefs.height || rave.RegionWidget.defaultHeight, - width = gadget.metadata.modulePrefs.width || rave.RegionWidget.defaultWidth; - - preloadMetadata(gadget); - - if (opt_viewTarget) { - var view = rave.renderView(opt_viewTarget, {"preferredHeight": height, preferredWidth: width}); - var el = view.getWidgetSite(); - el.setAttribute('data-rave-view', view._uid); - opt_callback(el); - } - } - }; - - container.views.createElementForUrl = function (rel, opt_viewTarget, opt_coordinates, parentSite, opt_callback) { if (opt_viewTarget) { - var view = rave.renderView(opt_viewTarget); + var view = rave.renderView(opt_viewTarget, {"preferredHeight": height, preferredWidth: width}); var el = view.getWidgetSite(); el.setAttribute('data-rave-view', view._uid); opt_callback(el); } - }; - - container.views.destroyElement = function (site) { - var el = site.el_; - container.closeGadget(site); - var _uid = el.getAttribute('data-rave-view'); - rave.destroyView(_uid); - }; - } - - exports.initWidget = function (widget) { - widget.error = getMetadataErrors(widget.metadata); - if (!widget.error) { - preloadMetadata(widget); } - } - - /* - Opts - - full spectrum of allowed render options! - */ - exports.renderWidget = function (widget, el, opts) { - if (widget.error) { - widget.renderError(el, widget.error.message); - return; - } - opts = opts || {}; - var site = container.newGadgetSite(el); - site._widget = widget; - widget._site = site; - - var renderParams = {}; - renderParams[osapi.container.RenderParam.VIEW] = opts.view || rave.RegionWidget.defaultView; - renderParams[osapi.container.RenderParam.ALLOW_DEFAULT_VIEW ] = opts.allowDefaultView; - renderParams[osapi.container.RenderParam.DEBUG ] = opts.debug; - renderParams[osapi.container.RenderParam.HEIGHT ] = opts.height || rave.RegionWidget.defaultHeight; - renderParams[osapi.container.RenderParam.NO_CACHE ] = opts.noCache; - renderParams[osapi.container.RenderParam.TEST_MODE] = opts.testMode; - renderParams[osapi.container.RenderParam.WIDTH ] = opts.width || rave.RegionWidget.defaultWidth; - renderParams[osapi.container.RenderParam.USER_PREFS] = getCompleteUserPrefSet(widget.userPrefs, widget.metadata.userPrefs); - container.navigateGadget(site, widget.widgetUrl, opts.view_params, renderParams, opts.callback); - } - - /** - * Combines the default user pref list from the metadata with those set by the user - * @param setPrefs preferences already set by the user - * @param metadataPrefs list of all available metadata objects - */ - function getCompleteUserPrefSet(setPrefs, metadataPrefs) { - var combined = {}; - _.each(metadataPrefs, function (metaPref) { - var userPref = setPrefs[metaPref.name]; - combined[metaPref.name] = _.isUndefined(userPref) ? metaPref.defaultValue : userPref; - }); - return combined; - } + }; - function preloadMetadata(gadget) { - //Put our gadget metadata into the form that the common container is expecting - var commonContainerMetadataWrapper = {}; - commonContainerMetadataWrapper[gadget.widgetUrl] = gadget.metadata; + container.views.createElementForUrl = function (rel, opt_viewTarget, opt_coordinates, parentSite, opt_callback) { + if (opt_viewTarget) { + var view = rave.renderView(opt_viewTarget); + var el = view.getWidgetSite(); + el.setAttribute('data-rave-view', view._uid); + opt_callback(el); + } + }; + + container.views.destroyElement = function (site) { + var el = site.el_; + container.closeGadget(site); + var _uid = el.getAttribute('data-rave-view'); + rave.destroyView(_uid); + }; + } + + exports.initWidget = function (widget) { + widget.error = getMetadataErrors(widget.metadata); + if (!widget.error) { + preloadMetadata(widget); + } + } + + /* + Opts - + full spectrum of allowed render options! + */ + exports.renderWidget = function (widget, opts) { + if (widget.error) { + widget.renderError(widget.error.message); + return; + } + opts = opts || {}; + if(!widget._site) { + widget._site = container.newGadgetSite(widget._el); + widget._site._widget = widget; + } + + var renderParams = {}; + renderParams[osapi.container.RenderParam.VIEW] = opts.view || rave.RegionWidget.defaultView; + renderParams[osapi.container.RenderParam.ALLOW_DEFAULT_VIEW ] = opts.allowDefaultView; + renderParams[osapi.container.RenderParam.DEBUG ] = opts.debug; + renderParams[osapi.container.RenderParam.HEIGHT ] = opts.height || rave.RegionWidget.defaultHeight; + renderParams[osapi.container.RenderParam.NO_CACHE ] = opts.noCache; + renderParams[osapi.container.RenderParam.TEST_MODE] = opts.testMode; + renderParams[osapi.container.RenderParam.WIDTH ] = opts.width || rave.RegionWidget.defaultWidth; + renderParams[osapi.container.RenderParam.USER_PREFS] = getCompleteUserPrefSet(widget.userPrefs, widget.metadata.userPrefs); + container.navigateGadget(widget._site, widget.widgetUrl, opts.view_params, renderParams, opts.callback); + } + + exports.unrenderWidget = function(widget){ + if (widget._site) { + container.closeGadget(widget._site); + } + } + + /** + * Combines the default user pref list from the metadata with those set by the user + * @param setPrefs preferences already set by the user + * @param metadataPrefs list of all available metadata objects + */ + function getCompleteUserPrefSet(setPrefs, metadataPrefs) { + var combined = {}; + _.each(metadataPrefs, function (metaPref) { + var userPref = setPrefs[metaPref.name]; + combined[metaPref.name] = _.isUndefined(userPref) ? metaPref.defaultValue : userPref; + }); + return combined; + } + + function preloadMetadata(gadget) { + //Put our gadget metadata into the form that the common container is expecting + var commonContainerMetadataWrapper = {}; + commonContainerMetadataWrapper[gadget.widgetUrl] = gadget.metadata; + + //Put our gadget security token data into the form that the common container is expecting + var commonContainerTokenData = {}; + commonContainerTokenData[osapi.container.TokenResponse.TOKEN] = gadget.securityToken; + commonContainerTokenData[osapi.container.MetadataResponse.RESPONSE_TIME_MS] = new Date().getTime(); + var commonContainerTokenWrapper = {}; + commonContainerTokenWrapper[gadget.widgetUrl] = commonContainerTokenData; + + //Setup the preloadConfig data with all our preload data + var preloadConfig = {}; + preloadConfig[osapi.container.ContainerConfig.PRELOAD_METADATAS] = commonContainerMetadataWrapper; + preloadConfig[osapi.container.ContainerConfig.PRELOAD_TOKENS] = commonContainerTokenWrapper; + preloadConfig[osapi.container.ContainerConfig.PRELOAD_REF_TIME] = null; + + //Preload our data into the common container + container.preloadCaches(preloadConfig); + } + + function getMetadataErrors(metadata) { + return metadata.error; + } + + exports.getContainer = function () { + return container; + } - //Put our gadget security token data into the form that the common container is expecting - var commonContainerTokenData = {}; - commonContainerTokenData[osapi.container.TokenResponse.TOKEN] = gadget.securityToken; - commonContainerTokenData[osapi.container.MetadataResponse.RESPONSE_TIME_MS] = new Date().getTime(); - var commonContainerTokenWrapper = {}; - commonContainerTokenWrapper[gadget.widgetUrl] = commonContainerTokenData; - - //Setup the preloadConfig data with all our preload data - var preloadConfig = {}; - preloadConfig[osapi.container.ContainerConfig.PRELOAD_METADATAS] = commonContainerMetadataWrapper; - preloadConfig[osapi.container.ContainerConfig.PRELOAD_TOKENS] = commonContainerTokenWrapper; - preloadConfig[osapi.container.ContainerConfig.PRELOAD_REF_TIME] = null; - - //Preload our data into the common container - container.preloadCaches(preloadConfig); - } - - function getMetadataErrors(metadata) { - return metadata.error; - } - - exports.closeWidget = function (widget) { - if (widget._site) { - container.closeGadget(widget._site); - } - } - - exports.getContainer = function () { - return container; - } + init(); - return exports; - })() -) \ No newline at end of file + return exports; +}); \ No newline at end of file
Added: rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_providers.js URL: http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_providers.js?rev=1490040&view=auto ============================================================================== --- rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_providers.js (added) +++ rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_providers.js Wed Jun 5 21:47:52 2013 @@ -0,0 +1,11 @@ +define(['./rave_opensocial', './rave_wookie'], function(opensocial, wookie){ + + /* + Overlay to add or change supported providers. Register provider names in LOWER CASE for consistency. + */ + return { + 'opensocial': opensocial, + 'w3c': wookie + } + +}) \ No newline at end of file Modified: rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_widget.js URL: http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_widget.js?rev=1490040&r1=1490039&r2=1490040&view=diff ============================================================================== --- rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_widget.js (original) +++ rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_widget.js Wed Jun 5 21:47:52 2013 @@ -16,27 +16,16 @@ * specific language governing permissions and limitations * under the License. */ +define(['underscore', './eventemitter', './rave_api', './rave_providers'], function (_, EventEmitter, api, providers) { -var rave = rave || {}; - -/* - Rave RegionWidget Interface - - Dependencies: - rave.ui - rave.api - */ - -rave.RegionWidget = (function () { - /* - rave widget constructor - */ var Widget = function (definition) { var provider = definition.type; _.extend(this, definition); - this._provider = rave.getProvider(provider); + this._provider = providers[provider.toLowerCase()]; + this._el = document.createElement('div'); + this._surface = Widget.defaultView; if (!this._provider) { throw new Error('Cannot render widget ' + definition.widgetUrl + '. ' + @@ -46,112 +35,141 @@ rave.RegionWidget = (function () { this._provider.initWidget(this); } + /* + Static properties + */ Widget.defaultView = 'default'; Widget.defaultWidth = 320; Widget.defaultHeight = 200; - Widget.extend = function (mixin) { - _.extend(this.prototype, mixin); - } - - Widget.prototype.render = function (el, opts) { - //if we receive only one argument, and the first arg is not a string or dom element, assume it is an opts object - //and el should default to the widgets current render element - if (!opts && !(_.isString(el) || (el instanceof HTMLElement))) { - opts = el; - el = this._el; - } - //if el is a string, go to rave's view system - if (_.isString(el)) { - //TODO: potential memory leak - rendering a widget into new views does not force cleanup of current view - var view = rave.renderView(el, this); - el = view.getWidgetSite(); - this._view = view; - } - //at this point el must be a valid dom element. if not, throw an error - if (!(el instanceof HTMLElement)) { - throw new Error('Cannot render widget. You must provide an el to render the view into'); - } - this._el = el; - this._provider.renderWidget(this, el, opts); - return this; - } - - Widget.prototype.renderError = function (el, errors) { - el.innerHTML = 'Error rendering widget.' + "<br /><br />" + errors; - } - - Widget.prototype.hide = function () { - this.collapsed = true; - - rave.api.rest.saveWidgetCollapsedState({ - regionWidgetId: this.id, - collapsed: this.collapsed - }); - } - - Widget.prototype.show = function () { - this.collapsed = false; - - rave.api.rest.saveWidgetCollapsedState({ - regionWidgetId: this.id, - collapsed: this.collapsed - }); - } - - Widget.prototype.close = function (opts) { - this._provider.closeWidget(this, opts); - if (this._view) { - rave.destroyView(this._view); - } - - rave.api.rpc.removeWidget({ - regionWidgetId: this.id - }); - } - - Widget.prototype.moveToPage = function (toPageId, cb) { - rave.api.rpc.moveWidgetToPage({ - toPageId: toPageId, - regionWidgetId: this.id, - successCallback: cb - }); - } - - Widget.prototype.moveToRegion = function (fromRegionId, toRegionId, toIndex) { - rave.api.rpc.moveWidgetToRegion({ - regionWidgetId: this.id, - fromRegionId: fromRegionId, - toRegionId: toRegionId, - toIndex: toIndex - }); - } + /* + Set up widget as an event emitter + */ + _.extend(Widget.prototype, EventEmitter.prototype); - Widget.prototype.getPrefs = function () { + /* + Convenience function for adding functionality to Widget prototype with events + */ + Widget.extend = function (key, fn) { var self = this; - var combined = []; - //TODO: I think this is opensocial specific - need to investigate wookie and possibly delegate to providers - _.each(self.metadata.userPrefs, function (data) { - var value = self.userPrefs[data.name]; - data = _.clone(data); - data.value = value || data.defaultValue; - data.displayName = data.displayName || data.name; - combined.push(data); - }); - return _.isEmpty(combined)?undefined:combined; - } - - Widget.prototype.setPrefs = function (name, val) { - if (_.isObject(name)) { - var updatedPrefs = name; - this.userPrefs = _.object(_.pluck(updatedPrefs,'name'), _.pluck(updatedPrefs, 'value')); - rave.api.rest.saveWidgetPreferences({regionWidgetId: this.id, userPrefs: this.userPrefs}); - } else { - this.userPrefs[name] = val; - rave.api.rest.saveWidgetPreference({regionWidgetId: this.id, prefName: name, prefValue: val}); + if (_.isObject(key)) { + return _.each(key, function (f, k) { + self.extend(k, f); + }); + } + this.prototype[key] = function () { + var args = _.toArray(arguments); + fn.apply(this, args); + this.emitEvent(key, args); + } + } + + Widget.extend({ + + 'render': function (el) { + if (el) { + el.appendChild(this._el); + } + + this._provider.renderWidget(this, this._opts); + return this; + }, + + 'navigate': function (opts) { + opts = opts || {}; + + var viewSurface = opts.view || Widget.defaultView; + viewSurface = viewSurface.split('.')[0]; + + this._opts = opts; + this._surface = viewSurface; + this.render(); + }, + + 'unrender': function () { + this._provider.unrenderWidget(this); + return this; + }, + + 'renderError': function (errors) { + this._el.innerHTML = 'Error rendering widget.' + "<br /><br />" + errors; + }, + + 'hide': function () { + this.collapsed = true; + + api.rest.saveWidgetCollapsedState({ + regionWidgetId: this.id, + collapsed: this.collapsed + }); + }, + + 'show': function () { + this.collapsed = false; + + api.rest.saveWidgetCollapsedState({ + regionWidgetId: this.id, + collapsed: this.collapsed + }); + }, + + 'close': function (opts) { + this.unrender(); + + api.rpc.removeWidget({ + regionWidgetId: this.id + }); + }, + + 'moveToPage': function (toPageId, cb) { + api.rpc.moveWidgetToPage({ + toPageId: toPageId, + regionWidgetId: this.id, + successCallback: cb + }); + }, + + 'moveToRegion': function (fromRegionId, toRegionId, toIndex) { + api.rpc.moveWidgetToRegion({ + regionWidgetId: this.id, + fromRegionId: fromRegionId, + toRegionId: toRegionId, + toIndex: toIndex + }); + }, + + 'getPrefs': function () { + var self = this; + var combined = []; + //TODO: I think this is opensocial specific - need to investigate wookie and possibly delegate to providers + _.each(self.metadata.userPrefs, function (data) { + var value = self.userPrefs[data.name]; + data = _.clone(data); + data.value = value || data.defaultValue; + data.displayName = data.displayName || data.name; + combined.push(data); + }); + return _.isEmpty(combined) ? undefined : combined; + }, + + 'setPrefs': function (name, val) { + if (_.isObject(name)) { + var updatedPrefs = name; + this.userPrefs = _.object(_.pluck(updatedPrefs, 'name'), _.pluck(updatedPrefs, 'value')); + api.rest.saveWidgetPreferences({regionWidgetId: this.id, userPrefs: this.userPrefs}); + } else { + this.userPrefs[name] = val; + api.rest.saveWidgetPreference({regionWidgetId: this.id, prefName: name, prefValue: val}); + } } - } + }) + return Widget; +}); +/* + Rave RegionWidget Interface -})(); \ No newline at end of file + Dependencies: + api + */ \ No newline at end of file Modified: rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_wookie.js URL: http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_wookie.js?rev=1490040&r1=1490039&r2=1490040&view=diff ============================================================================== --- rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_wookie.js (original) +++ rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/core/rave_wookie.js Wed Jun 5 21:47:52 2013 @@ -17,43 +17,49 @@ * under the License. */ -rave.registerProvider( - 'wookie', - (function () { - var exports = {} - - exports.init = function(){}; - exports.initWidget = function(widget){} - exports.renderWidget = function(widget, el, opts){ - new OpenAjax.hub.IframeContainer(rave.getManagedHub() , ""+widget.regionWidgetId, - { - Container: { - onSecurityAlert: onClientSecurityAlert, - onConnect: onClientConnect, - onDisconnect: onClientDisconnect +define(['underscore', './rave_openAjaxHub'], function (_, getManagedHub) { + var exports = {} + + function init() { + }; + exports.initWidget = function (widget) { + } + exports.renderWidget = function (widget, el, opts) { + new OpenAjax.hub.IframeContainer(getManagedHub(), "" + widget.regionWidgetId, + { + Container: { + onSecurityAlert: onClientSecurityAlert, + onConnect: onClientConnect, + onDisconnect: onClientDisconnect + }, + IframeContainer: { + parent: el, + //TODO: I dropped a bunch of the attrs here - seems like it should all be css + //unless it is being defined by the gadget spec + iframeAttrs: { + height: widget.height || rave.RegionWidget.defaultHeight, + width: widget.width || rave.RegionWidget.defaultWidth }, - IframeContainer: { - parent: el, - //TODO: I dropped a bunch of the attrs here - seems like it should all be css - //unless it is being defined by the gadget spec - iframeAttrs: { - height: widget.height || rave.RegionWidget.defaultHeight, - width: widget.width || rave.RegionWidget.defaultWidth - }, - uri: widget.widgetUrl - } + uri: widget.widgetUrl } - ); - } + } + ); + } + + function onClientSecurityAlert(source, alertType) { /* Handle client-side security alerts */ + } + + function onClientConnect(container) { /* Called when client connects */ + } + + function onClientDisconnect(container) { /* Called when client disconnects */ + } + + exports.closeWidget = function (widget) { + //TODO... + } + + init() - function onClientSecurityAlert(source, alertType) { /* Handle client-side security alerts */ } - function onClientConnect(container) { /* Called when client connects */ } - function onClientDisconnect(container) { /* Called when client disconnects */ } - - exports.closeWidget = function(widget){ - //TODO... - } - - return exports; - })() -) \ No newline at end of file + return exports; +}); \ No newline at end of file Added: rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/profile/main.js URL: http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/profile/main.js?rev=1490040&view=auto ============================================================================== --- rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/profile/main.js (added) +++ rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/profile/main.js Wed Jun 5 21:47:52 2013 @@ -0,0 +1 @@ +console.log('profile'); \ No newline at end of file
