Difference between revisions of "User:Chocohead/common.js"
Jump to navigation
Jump to search
m (Oops) |
m (Fixed missing ") |
||
| Line 26: | Line 26: | ||
type: 'encapsulate', | type: 'encapsulate', | ||
options: { | options: { | ||
'pre': "<onlyinclude>{{{{{1|Block}}}\n|title=\n|image=\n|image2=\n|image3=\n|invimage=\n|invimage2=\n|invimage3=\n|invimage4=\n|type=\n|dirt=\n|maxeu=\n|storage=\n|eu_use=\n|eu_use2=\n|tool=\n|stackable=\n|data=\n|fluidspeed=\n|movespeed=, | 'pre': "<onlyinclude>{{{{{1|Block}}}\n|title=\n|image=\n|image2=\n|image3=\n|invimage=\n|invimage2=\n|invimage3=\n|invimage4=\n|type=\n|dirt=\n|maxeu=\n|storage=\n|eu_use=\n|eu_use2=\n|tool=\n|stackable=\n|data=\n|fluidspeed=\n|movespeed=", | ||
'post': "\n}}</onlyinclude>" | 'post': "\n}}</onlyinclude>" | ||
} | } | ||
Revision as of 21:37, 21 February 2015
/******************************************
* Page Edit Bar Improver *
*****************************************/
var customizeToolbar = function() {
// Template subgroup
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'sections': {
'templates': {
'type': 'toolbar', // Can also be 'booklet'
'label': 'Templates'
// or 'labelMsg': 'section-templates-label' for a localized label
}
}
} );
// [[Template:Block]] for blocks
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'templates',
'group': 'infoboxes',
'tools': {
'block': {
label: 'Block Infobox',
type: 'button',
icon: 'images/b/b3/Grid_Macerator.png',
action: {
type: 'encapsulate',
options: {
'pre': "<onlyinclude>{{{{{1|Block}}}\n|title=\n|image=\n|image2=\n|image3=\n|invimage=\n|invimage2=\n|invimage3=\n|invimage4=\n|type=\n|dirt=\n|maxeu=\n|storage=\n|eu_use=\n|eu_use2=\n|tool=\n|stackable=\n|data=\n|fluidspeed=\n|movespeed=",
'post': "\n}}</onlyinclude>"
}
}
}
}
} );
};
/* Check if view is in edit mode and that the required modules are available. Then, customize the toolbar . . . */
if ( $.inArray( mw.config.get( 'wgAction' ), [ 'edit', 'submit' ] ) !== -1 ) {
mw.loader.using( 'user.options', function () {
if ( mw.user.options.get('usebetatoolbar') && mw.user.options.get( 'showtoolbar' ) ) {
mw.loader.using( 'ext.wikiEditor.toolbar', function () {
$( customizeToolbar );
} );
}
} );
}
/******************************************
* Tooltip Testing *
*****************************************/
$(function() {
var mc_tooltip = null;
$(".a1, .tooltip").on({
'mouseenter.tooltip': function(e) {
var $me = $(this);
// Make sure this isn't a link to upload a new file
if ($me.find('.new').length > 0) {
// This isn't one we want to show a tooltip for
return;
}
// Try to get the title
var title = $me.data('tooltip');
// See if we can find a title elsewhere
// Check this element or its child
if (title === undefined) {
title = $me.attr('title') || $me.children(':first').attr('title');
// Check if we found anything
if (title) {
// Save it for later
$me.data('tooltip', title);
}
else {
// Didn't find anything, no sense continuing
return;
}
}
// Remove any title elements to avoid the default tooltip
$me.add('*', $me).filter('[title]').removeAttr('title');
// Check to see if we've already created the div
if (!$('#tooltip-display').length) {
$('body').append('<div id="tooltip-display" />');
}
mc_tooltip = $('#tooltip-display');
// Add the text to the tooltip
mc_tooltip.html(title);
// Need to update the position to the cursor position
$me.trigger('mousemove', e);
},
'mousemove.tooltip': function (e) {
// Check if the element exists already, create it if it doesn't
if (!$('#tooltip-display').length) {
$(this).trigger('mouseenter');
return;
}
// Get dimensions for bounds checking
var top = e.pageY - 30,
height = mc_tooltip.outerHeight(true),
left = e.pageX + 15,
width = mc_tooltip.outerWidth(true);
// Get window dimensions
var $w = $(window),
win_width = $w.width(),
win_height = $w.height();
// TODO: Make it so it doesn't go off the sides
// Apply the position
mc_tooltip.css({
top: top,
left: left
});
},
'mouseleave.tooltip': function (e) {
// Make sure the tooltip is there before we use it
if (!mc_tooltip) {
return;
}
mc_tooltip.remove();
},
});
});