Mercurial > zeropaste
view app/assets/javascripts/zp.hash_magic.js @ 314:3c22d4acc2fa
Add basic controller test.
author | edogawaconan <me@myconan.net> |
---|---|
date | Sat, 05 Apr 2014 23:08:49 +0900 |
parents | e855e58d137e |
children | 4b91c0c1938c |
line wrap: on
line source
//= require zp.formatter (function($) { window.zp.hash_magic = { load_hash: function() { var format = window.location.hash.slice(1), tab_link = function(fmt) { return zp.formatter.links().filter("[href='#" + fmt + "']") } if(!tab_link(format).length) format = "pl" tab_link(format).click() }, set_hash: function(e) { if (typeof e !== "undefined") { if (zp.formatter.links().filter(e.target).length === 0) return else e.preventDefault() } var format = zp.formatter.current(), newpath = window.location.pathname if (format !== "pl") { newpath += "#" + format } history.replaceState(null, "", newpath) }, init: function() { if (!$("#paste").length) return this.load_hash() if (history.replaceState) { this.set_hash() $(document).on('click', $.proxy(this.set_hash, this)) } } } })(jQuery)