[Jifty-commit] r7290 - jifty/trunk/share/plugins/Jifty/Plugin/SinglePage/web/static/js/singlepage
Jifty commits
jifty-commit at lists.jifty.org
Thu Jul 2 05:24:52 EDT 2009
Author: c9s
Date: Thu Jul 2 05:24:51 2009
New Revision: 7290
Modified:
jifty/trunk/share/plugins/Jifty/Plugin/SinglePage/web/static/js/singlepage/spa.js
Log:
fix spa for link with parameters
Modified: jifty/trunk/share/plugins/Jifty/Plugin/SinglePage/web/static/js/singlepage/spa.js
==============================================================================
--- jifty/trunk/share/plugins/Jifty/Plugin/SinglePage/web/static/js/singlepage/spa.js (original)
+++ jifty/trunk/share/plugins/Jifty/Plugin/SinglePage/web/static/js/singlepage/spa.js Thu Jul 2 05:24:51 2009
@@ -10,6 +10,7 @@
(function($) {
SPA = {
initialHash: null,
+ initailArgs: { },
historyChange: function(newLocation, historyData, first) {
// if has first history, meaning ! is first load
if (first) {
@@ -23,12 +24,15 @@
else {
// go back to initail hash or initail path
Jifty.update({
- "continuation": {}, "actions": {},
- "fragments": [ { "mode": "Replace", "args": {},
- "region": "__page",
- "path": SPA.initialHash } ],
- "action_arguments":{} }, ""
- );
+ "continuation": {},
+ "actions": {},
+ "action_arguments": {},
+ "fragments": [ {
+ "mode": "Replace",
+ "args": SPA.initailArgs ,
+ "region": "__page",
+ "path": SPA.initialHash
+ } ] }, "");
}
}
},
@@ -74,15 +78,36 @@
var args = $.extend({}, hiddens, buttons, inputs);
- return Jifty.update( {'continuation':{},'actions':null,'fragments':[{'mode':'Replace','args':args,'region':'__page','path': submit_to}]}, elt );
+ return Jifty.update( {'continuation':{},'actions':null,'fragments':[
+ {'mode':'Replace','args':args,'region':'__page','path': submit_to
+ }]}, elt );
}
};
// for page load event
$(document).ready(function(){
+ var hash = location.hash.slice(1);
+ var search = location.search.slice(1);
+
+ if( location.hash && ! location.search ) {
+ if ( hash.indexOf('?') >= 0 ) {
+ search = location.hash.slice(1);
+ search = search.substring( search.indexOf('?') + 1 );
+ hash = hash.substring( 0 , hash.indexOf('?') );
+ }else {
+ search = '';
+ }
+
+ var args = { } ;
+ var gy = search.split("&");
+ for (i=0; i<gy.length; i++) {
+ var res = gy[i].split("=");
+ args[ res[0] ] = res[1];
+ }
+
+ SPA.initailArgs = args;
+ SPA.initialHash = hash;
- if( location.hash ) {
- SPA.initialHash = location.hash.slice(1) ;
}
else {
SPA.initialHash = location.pathname + location.search; // /entrypoint
@@ -93,7 +118,7 @@
// fire history event manually
if( dhtmlHistory.isFirstLoad() && location.hash ) {
- dhtmlHistory.fireHistoryEvent( location.hash.slice(1) );
+ dhtmlHistory.fireHistoryEvent( hash );
}
});
More information about the Jifty-commit
mailing list