Thành viên:MeigyokuThmn/Gadget-internalLinkHelper-redtipsy.js
Chú ý: Sau khi lưu thay đổi trang, bạn phải xóa bộ nhớ đệm của trình duyệt để nhìn thấy các thay đổi. Google Chrome, Firefox, Internet Explorer và Safari: Giữ phím ⇧ Shift và nhấn nút Reload/Tải lại trên thanh công cụ của trình duyệt. Để biết chi tiết và hướng dẫn cho các trình duyệt khác, xem Trợ giúp:Xóa bộ nhớ đệm.
( function( $, mw, window ) { $( function() {
mw.hook( 'wikipage.content' ).add( function( $content ) {
console.log($content)
$( '.ilh-all', $content ).not( '.ilh-blue' ).on( 'internalLinkHelper-close', function( event ) {
var $this = $( this );
if ( $this.data( 'internalLinkHelper-showing' ) ) {
$( this ).removeClass( 'ilh-active' ).find( '.ilh-page a' ).tipsy( 'hide' ).end()
.data( 'internalLinkHelper-showing', false );
}
} ).each( function() {
var origTitle = $( this ).data( 'orig-title' ),
$foreignSpan = $( '.ilh-link', this ),
$linkAnchor = $( '.ilh-page a', this ),
$langSpan = $( '.ilh-lang', this ),
langName = $langSpan.text(),
$that = $( this ).data( 'internalLinkHelper-showing', false );
if ( !$linkAnchor.length ) {
return;
}
var timeout = null;
var maybeClearTimeout = function() {
if ( timeout !== null ) {
clearTimeout( timeout );
}
}, autoSetTimeout = function() {
maybeClearTimeout();
timeout = setTimeout.apply( null, arguments );
};
var mouseleave = function() {
autoSetTimeout( function() {
$that.trigger( 'internalLinkHelper-close' );
}, 500 );
}, mouseenter = function() {
if ( $that.data( 'internalLinkHelper-showing' ) ) {
maybeClearTimeout();
} else {
$( '.ilh-all', $content ).not( $that ).trigger( 'internalLinkHelper-close' );
$that.addClass( 'ilh-active' ).data( 'internalLinkHelper-showing', true );
$linkAnchor.tipsy( 'show' ).tipsy( true ).tip().mouseleave( mouseleave ).mouseenter( mouseenter );
}
};
$linkAnchor.tipsy( {
className: 'ilh-tipsy',
gravity: 'nw',
html: true,
trigger: 'manual',
title: function() {
return '<div>'
+ 'Mục "'
+ $( '<span/>' ).text( origTitle ).html()
+ '" chưa được tạo,<br/>bạn có thể tham khảo trang Wikipedia '
+ $( '<span/>' ).text( langName ).html()
+ ' tương ứng: '
+ $foreignSpan.html()
+ '.</div>';
}
} )
.mouseleave( mouseleave ).mouseenter( mouseenter );
} );
} );
} ); } )( jQuery, mediaWiki, window );