You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@shindig.apache.org by hs...@apache.org on 2012/01/30 18:55:04 UTC
svn commit: r1237849 - in /shindig/trunk/features/src:
main/javascript/features/views/views.js
test/javascript/features/views/views-init-test.js
Author: hsaputra
Date: Mon Jan 30 17:55:03 2012
New Revision: 1237849
URL: http://svn.apache.org/viewvc?rev=1237849&view=rev
Log:
SHINDIG-1686 The gadgets.views.init does not set current view correctly for the view parameter if it contains secondary view
CR: https://reviews.apache.org/r/3666/
Modified:
shindig/trunk/features/src/main/javascript/features/views/views.js
shindig/trunk/features/src/test/javascript/features/views/views-init-test.js
Modified: shindig/trunk/features/src/main/javascript/features/views/views.js
URL: http://svn.apache.org/viewvc/shindig/trunk/features/src/main/javascript/features/views/views.js?rev=1237849&r1=1237848&r2=1237849&view=diff
==============================================================================
--- shindig/trunk/features/src/main/javascript/features/views/views.js (original)
+++ shindig/trunk/features/src/main/javascript/features/views/views.js Mon Jan 30 17:55:03 2012
@@ -119,7 +119,21 @@ gadgets.views = function() {
if (urlParams['view-params']) {
params = gadgets.json.parse(urlParams['view-params']) || params;
}
- currentView = supportedViews[urlParams['view']] || supportedViews['default'];
+
+ var viewName = urlParams['view'] || "";
+ // check for subview
+ var viewNameArray = viewName.split(".");
+ if(viewNameArray.length > 1) {
+ var viewNameMajor = viewNameArray[0];
+ if (supportedViews.hasOwnProperty(viewNameMajor)) {
+ var viewMajor = supportedViews[viewNameMajor];
+ currentView = new gadgets.views.View(viewName, viewMajor.isOnlyVisibleGadget());
+ } else {
+ currentView = supportedViews['default'];
+ }
+ } else {
+ currentView = supportedViews[viewName] || supportedViews['default'];
+ }
if (conf.rewriteLinks) {
gadgets.util.attachBrowserEvent(document, 'click', forceNavigate, false);
Modified: shindig/trunk/features/src/test/javascript/features/views/views-init-test.js
URL: http://svn.apache.org/viewvc/shindig/trunk/features/src/test/javascript/features/views/views-init-test.js?rev=1237849&r1=1237848&r2=1237849&view=diff
==============================================================================
--- shindig/trunk/features/src/test/javascript/features/views/views-init-test.js (original)
+++ shindig/trunk/features/src/test/javascript/features/views/views-init-test.js Mon Jan 30 17:55:03 2012
@@ -96,6 +96,19 @@ ViewsInitTest.prototype.testRewriteLinks
this.assertTrue(typeof gadgets.views.getSupportedViews().rewriteLinks === "undefined");
};
+ViewsInitTest.prototype.testCurrentSubView = function() {
+ var viewName = "home.default";
+ gadgets.util.getUrlParameters = function() {
+ return {"view": viewName};
+ };
+
+ document.scripts = [];
+ gadgets.config.init({"views":{"home":{"isOnlyVisible": false},"default":{"isOnlyVisible": false}}});
+
+ this.assertTrue(gadgets.views.getCurrentView());
+ this.assertEquals(viewName, gadgets.views.getCurrentView().getName());
+};
+
// TODO: Verify behavior of onclick.
})();