MediaWiki:Gadget-DiscussionToolsWikify.js
Перейти до навігації
Перейти до пошуку
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
- Opera: натисніть Ctrl-F5
if (mw.config.get('skin') != 'minerva') {
importScript('MediaWiki:Wikificator.js');
function Wikify_selected () {
var input = document.getElementsByClassName('ve-ce-documentNode')[0];
var selection = window.getSelection();
var focus1 = selection.anchorOffset;
var focus2 = selection.focusOffset;
var selected_text = "";
if (selection.anchorOffset == selection.focusOffset) {
selected_text = selection.anchorNode.data;
}
else {
if (selection.anchorOffset > selection.focusOffset) {
focus1 = selection.anchorOffset;
focus2 = selection.focusOffset;
}
else {
focus2 = selection.anchorOffset;
focus1 = selection.focusOffset;
}
var selection_range = focus1 - focus2;
selected_text = input.textContent.slice(focus2, focus1);
}
var txt = selected_text;
Wikify();
}
var target = document.querySelector('#mw-content-text');
var observer = new MutationObserver(function(mutation) {
mutation.forEach(function(mutation) {
if (mutation.target.className == 'oo-ui-toolbar-bar') {
$('.ve-ui-toolbar-group-other .oo-ui-toolGroup-tools').append('<div style="display:inline-block; vertical-align: middle; box-sizing: border-box;"><div style="line-height: 1;"><span><a id="wikify-button" title="Вікіфікатор" role="button" style="background-image: url(//upload.wikimedia.org/wikipedia/commons/0/06/Wikify-toolbutton.png); background-position: center; width: 42px; height: 42px; display:block; background-repeat: no-repeat; text-indent: -9999px;"></a></span></div></div>');
$("a#wikify-button").mousedown(function(e){
e.preventDefault();
Wikify_selected();
});
}
});
});
var config = {childList: true, subtree: true};
observer.observe(target, config);
}