189 lines
5.4 KiB
JavaScript
Executable File
189 lines
5.4 KiB
JavaScript
Executable File
$(document).ready(function() {
|
|
|
|
// ua detection
|
|
if ($.browser.mozilla) {
|
|
$('body').addClass('ff');
|
|
} else if ($.browser.webkit) {
|
|
$('body').addClass('webkit');
|
|
} else if ($.browser.msie) {
|
|
$('body').addClass('ie');
|
|
if ($.browser.version == "7.0") {
|
|
$('body').addClass('ie7');
|
|
} else if ($.browser.version == "8.0") {
|
|
$('body').addClass('ie8');
|
|
}
|
|
}
|
|
|
|
if ($('#minibutton-new-page').length) {
|
|
$('#minibutton-new-page').removeClass('jaws');
|
|
$('#minibutton-new-page').click(function(e) {
|
|
e.preventDefault();
|
|
$.GollumDialog.init({
|
|
title: 'Create New Page',
|
|
fields: [
|
|
{
|
|
id: 'name',
|
|
name: 'Page Name',
|
|
type: 'text'
|
|
}
|
|
],
|
|
OK: function( res ) {
|
|
var n = 'New Page';
|
|
if ( res['name'] )
|
|
var n = res['name'];
|
|
n = encodeURIComponent( n );
|
|
window.location = $('#minibutton-new-page').attr('data-url') + '/' + n;
|
|
}
|
|
});
|
|
});
|
|
}
|
|
|
|
//if ($('#wiki-wrapper').hasClass('history')) {
|
|
$('tr.history td input').each(function() {
|
|
$(this).click(highlightChecked);
|
|
if ( $(this).is(':checked') ) {
|
|
nodeSelector.checkNode($(this));
|
|
}
|
|
});
|
|
|
|
$('a.action-compare-revision').click(function() {
|
|
$("#version-form").submit();
|
|
});
|
|
//}
|
|
|
|
|
|
|
|
if ($('#gollum-searchbar a#search-submit').length) {
|
|
$.GollumPlaceholder.add($('#gollum-searchbar #search-query'));
|
|
$('#gollum-searchbar a#search-submit').click(function(e) {
|
|
e.preventDefault();
|
|
$('#gollum-searchbar #gollum-search-form')[0].submit();
|
|
});
|
|
$('#gollum-searchbar #gollum-search-form').submit(function(e) {
|
|
$.GollumPlaceholder.clearAll();
|
|
$(this).unbind('submit');
|
|
$(this).submit();
|
|
});
|
|
}
|
|
|
|
if ($('#gollum-revert-form').length &&
|
|
$('.gollum-revert-button').length ) {
|
|
$('a.gollum-revert-button').click(function(e) {
|
|
e.preventDefault();
|
|
$('#gollum-revert-form').submit();
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
var nodeSelector = {
|
|
|
|
node1: null,
|
|
node2: null,
|
|
|
|
selectNodeRange: function( n1, n2 ) {
|
|
if ( nodeSelector.node1 && nodeSelector.node2 ) {
|
|
$('#wiki-history td.selected').removeClass('selected');
|
|
nodeSelector.node1.addClass('selected');
|
|
nodeSelector.node2.addClass('selected');
|
|
|
|
// swap the nodes around if they went in reverse
|
|
if ( nodeSelector.nodeComesAfter( nodeSelector.node1,
|
|
nodeSelector.node2 ) ) {
|
|
var n = nodeSelector.node1;
|
|
nodeSelector.node1 = nodeSelector.node2;
|
|
nodeSelector.node2 = n;
|
|
}
|
|
|
|
var s = true;
|
|
var $nextNode = nodeSelector.node1.next();
|
|
while ( $nextNode ) {
|
|
$nextNode.addClass('selected');
|
|
if ( $nextNode[0] == nodeSelector.node2[0] ) {
|
|
break;
|
|
}
|
|
$nextNode = $nextNode.next();
|
|
}
|
|
}
|
|
},
|
|
|
|
nodeComesAfter: function ( n1, n2 ) {
|
|
var s = false;
|
|
$(n1).prevAll().each(function() {
|
|
if ( $(this)[0] == $(n2)[0] ) {
|
|
s = true;
|
|
}
|
|
});
|
|
return s;
|
|
},
|
|
|
|
checkNode: function( nodeCheckbox ) {
|
|
var $nodeCheckbox = nodeCheckbox;
|
|
var $node = $(nodeCheckbox).parent().parent();
|
|
// if we're unchecking
|
|
if ( !$nodeCheckbox.is(':checked') ) {
|
|
|
|
// remove the range, since we're breaking it
|
|
$('#wiki-history tr.selected').each(function() {
|
|
if ( $(this).find('td.checkbox input').is(':checked') ) {
|
|
return;
|
|
}
|
|
$(this).removeClass('selected');
|
|
});
|
|
|
|
// no longer track this
|
|
if ( $node[0] == nodeSelector.node1[0] ) {
|
|
nodeSelector.node1 = null;
|
|
if ( nodeSelector.node2 ) {
|
|
nodeSelector.node1 = nodeSelector.node2;
|
|
nodeSelector.node2 = null;
|
|
}
|
|
} else if ( $node[0] == nodeSelector.node2[0] ) {
|
|
nodeSelector.node2 = null;
|
|
}
|
|
|
|
} else {
|
|
if ( !nodeSelector.node1 ) {
|
|
nodeSelector.node1 = $node;
|
|
nodeSelector.node1.addClass('selected');
|
|
} else if ( !nodeSelector.node2 ) {
|
|
// okay, we don't have a node 2 but have a node1
|
|
nodeSelector.node2 = $node;
|
|
nodeSelector.node2.addClass('selected');
|
|
nodeSelector.selectNodeRange( nodeSelector.node1,
|
|
nodeSelector.node2 );
|
|
} else {
|
|
// we have two selected already
|
|
$nodeCheckbox[0].checked = false;
|
|
}
|
|
}
|
|
}
|
|
|
|
};
|
|
|
|
function highlightOn() {
|
|
$(this).parent().parent().animate({
|
|
backgroundColor: '#ffffea',
|
|
duration: 400
|
|
});
|
|
}
|
|
|
|
function highlightOff() {
|
|
var color = '#ebf2f6';
|
|
if ($(this).parent().parent().hasClass('alt-row')) {
|
|
color = '#f3f7fa';
|
|
}
|
|
$(this).parent().parent().animate({
|
|
backgroundColor: color,
|
|
duration: 400
|
|
});
|
|
}
|
|
|
|
function highlightChecked() {
|
|
nodeSelector.checkNode($(this));
|
|
}
|
|
|
|
function initMathJax() {
|
|
|
|
}
|