Mercurial > zeropaste
view app/assets/javascripts/init.tabs.js @ 122:a836cfe4092f
Use hash instead of search because IE can't into replaceState.
Also probably better cached by browsers.
author | Edho Arief <edho@myconan.net> |
---|---|
date | Mon, 12 Nov 2012 15:21:01 +0700 |
parents | dd7181c021de |
children | 5b58b0d6841c |
line wrap: on
line source
$(document).ready(function() { if ($('#paste-tabs').length == 1) { raw = $('#plain pre').text(); $('#markdown div').html(marked(raw)); $('#markdown div pre').addClass('prettyprint'); $('#markdown div a').prop('rel', 'nofollow'); $('#highlight pre').text(raw); window.prettyPrint && prettyPrint(); update_state = function() { var paste = $('#paste'), mode = paste.data('mode'), width = paste.data('width'), qstring = '#' + mode + '.' + width; if (width == 'auto') { qstring = '#'; if (mode != 'plain') { qstring += mode; } } window.location = qstring; }; paste_resize = function(size) { var paste = $('#paste'), title = $('#tab-resize a.btn'); title.html(title.html().replace(/(auto|\d+px)/, size)); if (size == 'auto') { paste.css('width', ''); paste.data('width', size); } else { paste.css('width', size); paste.data('width', size); } update_state(); } $('#paste-tabs > li > a').click(function() { $('#paste').data('mode', $(this).prop('href').split('#')[1]); update_state(); }); $('#tab-resize ul a').click(function() { paste_resize($(this).data('size')); $('.open').removeClass('open'); return false; }); mode = window.location.hash.substr(1).split('.'); if (mode[0] == 'highlight') { $('#paste-tabs li:eq(1) a').click(); } else if (mode[0] == 'markdown') { $('#paste-tabs li:eq(2) a').click(); } if (mode[1] && mode[1].match(/^\d+px$/)) { paste_resize(mode[1]); } } });