Sha256: bf2cc57e8a7afaa541333c6c0230d25a096cb820ca663b931f3547c31569b9ac
Contents?: true
Size: 1.52 KB
Versions: 3
Compression:
Stored size: 1.52 KB
Contents
//= require_self //= require_tree ./history pageflow.History = function(slideshow, adapter) { slideshow.on('slideshowchangepage', function(event, options) { var hash = slideshow.currentPage().attr('id'); if (options.back) { adapter.replaceState(null, '', adapter.hash()); } else { adapter.replaceState(options, '', adapter.hash()); adapter.pushState(null, '', hash); } }); adapter.on('popstate', function(event) { if (!adapter.state()) { return; } slideshow.goToByPermaId(adapter.hash(), _.extend({ back: true }, _.pick(adapter.state(), 'direction', 'transition'))); }); adapter.on('hashchange', function() { slideshow.goToByPermaId(adapter.hash()); }); this.start = function() { slideshow.goToByPermaId(adapter.hash() || pageParameter()); adapter.replaceState(null, '', slideshow.currentPage().attr('id')); }; this.back = _.bind(adapter.back, adapter); function pageParameter() { var match = window.location.href.match(/page=([^&]*)/); return match ? match[1] : ''; } }; pageflow.History.create = function(slideshow, options) { options = options || {}; var adapter; if (options.simulate || !pageflow.browser.has('hashchange support')) { adapter = new pageflow.History.SimulatedAdapter(); } else if (pageflow.browser.has('pushstate support')) { adapter = new pageflow.History.PushStateAdapter(); } else { adapter = new pageflow.History.HashAdapter(); } return new pageflow.History(slideshow, adapter); };
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pageflow-0.9.2 | app/assets/javascripts/pageflow/history.js |
pageflow-0.9.1 | app/assets/javascripts/pageflow/history.js |
pageflow-0.9.0 | app/assets/javascripts/pageflow/history.js |