Mercurial > zeropaste
annotate app/assets/javascripts/zp.hash_magic.js @ 287:77c157a9e645
Fix hash magic links.
author | edogawaconan <me@myconan.net> |
---|---|
date | Wed, 16 Oct 2013 04:17:42 +0900 |
parents | fa4a1ba990ae |
children | e855e58d137e |
rev | line source |
---|---|
214
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
1 //= require zp.formatter |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
2 (function($) { |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
3 window.zp.hash_magic = { |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
4 load_hash: function() { |
287 | 5 var |
6 format = window.location.hash.slice(1), | |
7 tab_link = function(fmt) { | |
8 return zp.formatter.links().filter("[href='#" + fmt + "']") | |
9 } | |
10 if(!tab_link(format).length) format = "pl" | |
11 tab_link(format).click() | |
214
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
12 }, |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
13 set_hash: function(e) { |
224
6e9718a1ee11
Combine event-related actions
Edho Arief <edho@myconan.net>
parents:
223
diff
changeset
|
14 if (typeof e !== "undefined") { |
263
a9c45375a656
Nuke width adjuster from orbit.
edogawaconan <me@myconan.net>
parents:
232
diff
changeset
|
15 if (zp.formatter.links().filter(e.target).length === 0) return |
224
6e9718a1ee11
Combine event-related actions
Edho Arief <edho@myconan.net>
parents:
223
diff
changeset
|
16 else e.preventDefault() |
6e9718a1ee11
Combine event-related actions
Edho Arief <edho@myconan.net>
parents:
223
diff
changeset
|
17 } |
214
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
18 var |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
19 format = zp.formatter.current(), |
263
a9c45375a656
Nuke width adjuster from orbit.
edogawaconan <me@myconan.net>
parents:
232
diff
changeset
|
20 hash = "#" |
214
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
21 hash += format |
263
a9c45375a656
Nuke width adjuster from orbit.
edogawaconan <me@myconan.net>
parents:
232
diff
changeset
|
22 if (hash === "#pl") { hash = " " } |
214
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
23 history.replaceState(null, "", hash) |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
24 }, |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
25 init: function() { |
232
e3468efc9ec9
Do check if we're on the right place
Edho Arief <edho@myconan.net>
parents:
224
diff
changeset
|
26 if (!$("#paste").length) return |
214
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
27 this.load_hash() |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
28 if (history.replaceState) { |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
29 this.set_hash() |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
30 $(document).on('click', $.proxy(this.set_hash, this)) |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
31 } |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
32 } |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
33 } |
22c4b5f90e24
Massive javascript and html refactor. Also, ie9
Edho Arief <edho@myconan.net>
parents:
diff
changeset
|
34 })(jQuery) |