Difference between revisions of "User:KamranMackey/common.js"

From Industrial-Craft-Wiki
Jump to navigation Jump to search
(Updated my CSS, again.)
(Deleted the tooltip code from my common JS since it's been moved over to the main JS.)
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
/******************************************
/* Counts all your edits and saves them to a page ( http://en.wikipedia.org/wiki/User:Kanegasi/editcounter ) */
* Page Edit Bar Improver                *
if (mw.config.get('wgTitle') === mw.config.get('wgUserName') && mw.config.get('wgNamespaceNumber') === 2) {
*****************************************/
/* begin options */
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
}
}
} );
// Infoboxes header
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
'section': 'templates',
'groups': {
'infoboxes': {
'label': 'Infoboxes' // or use labelMsg for a localized label, see above
}
}
} );
   
   
// [[Template:Block]] for blocks
/* end options */
$( '#wpTextbox1' ).wikiEditor( 'addToToolbar', {
    mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Kanegasi/editcounter.js&action=raw&ctype=text/javascript');
'section': 'templates',
'group': 'infoboxes',
'tools': {
'block': {
label: 'Block Infobox',
type: 'button',
icon: '/images/a/a6/Grid_Stone.png',
filters: [ 'body.ns-0' ],
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();
    },
});
});

Latest revision as of 06:03, 23 February 2015

/* Counts all your edits and saves them to a page ( http://en.wikipedia.org/wiki/User:Kanegasi/editcounter ) */
if (mw.config.get('wgTitle') === mw.config.get('wgUserName') && mw.config.get('wgNamespaceNumber') === 2) {
/* begin options */
 
/* end options */
    mw.loader.load('https://en.wikipedia.org/w/index.php?title=User:Kanegasi/editcounter.js&action=raw&ctype=text/javascript');
}