Author: erinnp
Date: Fri Aug 16 17:02:09 2013
New Revision: 1514787

URL: http://svn.apache.org/r1514787
Log:
Added get support to pagesForRender, register regionWidgets to rave

Modified:
    
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/common/resources/PagesForRenderResource.js
    
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/main.js
    
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/routes.js

Modified: 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/common/resources/PagesForRenderResource.js
URL: 
http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/common/resources/PagesForRenderResource.js?rev=1514787&r1=1514786&r2=1514787&view=diff
==============================================================================
--- 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/common/resources/PagesForRenderResource.js
 (original)
+++ 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/common/resources/PagesForRenderResource.js
 Fri Aug 16 17:02:09 2013
@@ -17,12 +17,13 @@
  * under the License.
  */
 
-define(['underscore'], function (_) {
+define(['underscore', 'rave'], function (_, rave) {
     return ['$resource', 'Pages', 'Regions', 'RegionWidgets', 'constants',
         function ($resource, Pages, Regions, RegionWidgets, constants) {
-            var res = 
$resource(constants.hostedPath+'/api/rest/pages/render/:context/:identifier/:id',
 {},
+            var res = $resource(constants.hostedPath + 
'/api/rest/pages/render/:context/:identifier/:id', {},
                 {
-                    _query: { method: 'GET', isArray: true }
+                    _query: { method: 'GET', isArray: true },
+                    _get: {method: 'GET'}
                 });
 
             res.query = function (args, onSuccess, onError) {
@@ -33,21 +34,36 @@ define(['underscore'], function (_) {
                     _.each(pages, function (page, k) {
                         page = pages[k] = new Pages(page);
 
-                        console.log(page);
-
-                        _.each(page.regions, function (region, j) {
-                            region = page.regions[j] = new Regions(region);
-
-                            _.each(region.regionWidgets, function 
(regionWidget, i) {
-                                region.regionWidgets[i] = new 
RegionWidgets(regionWidget);
-                            });
-                        });
+                        decomposePage(page);
                     });
 
                     return onSuccess(pages);
                 });
             }
 
+            res.get = function (args, onSuccess, onError) {
+                return res.get.call(null, args).$then(function (res) {
+                    //TODO: check for error
+                    var page = res.data;
+
+                    decomposePage(page);
+
+                    return onSuccess(page);
+                });
+            }
+
+            function decomposePage(page) {
+                _.each(page.regions, function (region, j) {
+                    region = page.regions[j] = new Regions(region);
+
+                    _.each(region.regionWidgets, function (regionWidget, i) {
+                        regionWidget = 
rave.registerWidget(regionWidget.regionId, regionWidget);
+                        region.regionWidgets[i] = new 
RegionWidgets(regionWidget);
+                    });
+                });
+            }
+
+
             return res;
         }
     ];

Modified: 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/main.js
URL: 
http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/main.js?rev=1514787&r1=1514786&r2=1514787&view=diff
==============================================================================
--- 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/main.js
 (original)
+++ 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/main.js
 Fri Aug 16 17:02:09 2013
@@ -30,7 +30,9 @@ requirejs.config({
         "jqueryTouchPouch": 
'//cdnjs.cloudflare.com/ajax/libs/jqueryui-touch-punch/0.2.2/jquery.ui.touch-punch.min',
         "angular": 
'//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.5/angular.min',
         "angularResource": 
'//cdnjs.cloudflare.com/ajax/libs/angular.js/1.1.5/angular-resource.min',
-        "osapi":"//placeholder.url.will.be.replaced.by.opensocial.environment",
+        //TODO: We need to get this url from the server either via an endpoint 
or jsp
+        
"osapi":"/gadgets/js/container:pubsub-2:open-views.js?c=1&container=default&debug=1",
+//        
"osapi":"//placeholder.url.will.be.replaced.by.opensocial.environment",
         "rave": "core/main",
         "underscore": 
"//cdnjs.cloudflare.com/ajax/libs/underscore.js/1.4.4/underscore-min"
     },

Modified: 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/routes.js
URL: 
http://svn.apache.org/viewvc/rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/routes.js?rev=1514787&r1=1514786&r2=1514787&view=diff
==============================================================================
--- 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/routes.js
 (original)
+++ 
rave/branches/angular/rave-portal-resources/src/main/webapp/static/script/portal/routes.js
 Fri Aug 16 17:02:09 2013
@@ -24,22 +24,41 @@ define(['angular', 'common/resources/ind
         function ($routeProvider, $locationProvider, $httpProvider) {
 
             var resolve = {
-                pages: ['PagesForRender', '$q', '$rootScope', function 
(PagesForRender, $q, $rootScope) {
-                    var deferred = $q.defer();
+                pages: ['PagesForRender', '$q', '$rootScope',
+                    function (PagesForRender, $q, $rootScope) {
+                        var deferred = $q.defer();
+
+                        if ($rootScope.pages) {
+                            deferred.resolve($rootScope.pages);
+                        } else {
+                            PagesForRender.query({
+                                context: 'portal',
+                                identifier: '@self'
+                            }, function (data) {
+                                deferred.resolve(data);
+                            });
+                        }
 
-                    if($rootScope.pages) {
-                        deferred.resolve($rootScope.pages);
-                    } else {
-                        PagesForRender.query({
-                            context: 'portal',
-                            identifier: '@self'
-                        }, function(data){
-                            deferred.resolve(data);
-                        });
+                        return deferred.promise;
                     }
+                ],
+                user: [ 'Users', '$q', '$rootScope',
+                    function (Users, $q, $rootScope) {
+                        var deferred = $q.defer();
+
+                        if ($rootScope.user) {
+                            deferred.resolve($rootScope.user);
+                        } else {
+                            Users.get({
+                                id: '@self'
+                            }, function (data) {
+                                deferred.resolve(data);
+                            });
+                        }
 
-                    return deferred.promise;
-                }]
+                        return deferred.promise;
+                    }
+                ]
             }
 
             $routeProvider
@@ -55,9 +74,10 @@ define(['angular', 'common/resources/ind
         }
     ]);
 
-    router.run(['$route', '$rootScope', function($route, $rootScope) {
-        $rootScope.$on('$routeChangeSuccess', function(evt, curr, prev){
+    router.run(['$route', '$rootScope', function ($route, $rootScope) {
+        $rootScope.$on('$routeChangeSuccess', function (evt, curr, prev) {
             $rootScope.pages = curr.locals.pages;
+            $rootScope.user = curr.locals.user;
             $rootScope.currentPageId = curr.params.tabId || 
$rootScope.pages[0].id;
         });
     }]);


Reply via email to