MediaWiki:Common.js — различия между версиями
Материал из ПокеВики
EvilCat (обсуждение | вклад) |
EvilCat (обсуждение | вклад) |
||
Строка 15: | Строка 15: | ||
addOnloadHook(addWikifButton) | addOnloadHook(addWikifButton) | ||
} | } | ||
+ | |||
+ | //Кнопки быстрого описания правки | ||
+ | |||
+ | //список кнопок | ||
+ | function SummaryButtons(){ | ||
+ | var wpSummary = document.getElementById('wpSummary') | ||
+ | if (!wpSummary || (wpSummary.form.wpSection && wpSummary.form.wpSection.value == 'new')) return | ||
+ | wpSummaryBtn = document.createElement('span') //global var | ||
+ | wpSummaryBtn.id = 'userSummaryButtonsA' | ||
+ | |||
+ | // +Рекомендация | ||
+ | var wpSummaryBtnRec = document.createElement('i') | ||
+ | wpSummaryBtnRec.appendChild(document.createTextNode('Пожалуйста, если вы не торопитесь, опишите вашу правку подробно: например, не «дополнение», а «+персонажи».')) | ||
+ | wpSummaryBtnRec.appendChild(document.createElement('br')) | ||
+ | wpSummaryBtn.appendChild(wpSummaryBtnRec) | ||
+ | |||
+ | wpSummary.parentNode.insertBefore(wpSummaryBtn, wpSummary.nextSibling) | ||
+ | wpSummary.parentNode.insertBefore(document.createElement('br'), wpSummary.nextSibling) | ||
+ | addSumButton('викиф.', 'викификация', 'Произведена викификация') | ||
+ | addSumButton('оформл.', 'оформление', 'Оформление') | ||
+ | addSumButton('стиль', 'стилевые правки', 'Стилевые правки') | ||
+ | addSumButton('орфогр.', 'орфография', 'Поправлена орфография') | ||
+ | addSumButton('пункт.', 'пунктуация', 'Изменена пунктуация') | ||
+ | // addSumButton('интервики', 'интервики', 'Изменены межъязыковые ссылки (интервики)') | ||
+ | addSumButton('кат.', 'правка категорий', 'Изменены категории') | ||
+ | addSumButton('шаб.', 'шаблон', 'Добавлен / изменён шаблон') | ||
+ | addSumButton('к удал.', 'к удалению', 'Страница предложена к удалению') | ||
+ | addSumButton('доп.', 'дополнение', 'Добавлены новые сведения') | ||
+ | addSumButton('иллюстрация', 'иллюстрация', 'Размещена иллюстрация') | ||
+ | addSumButton('обнов.', 'обновление данных', 'Обновлены устаревшие данные') | ||
+ | addSumButton('разметка', 'правка разметки', 'Изменение разметки') | ||
+ | } | ||
+ | |||
+ | //код вставки кнопок быстрого описания | ||
+ | function addSumButton(name, text, title) { | ||
+ | var btn = document.createElement('a') | ||
+ | btn.appendChild(document.createTextNode(name)) | ||
+ | btn.title = title | ||
+ | btn.onclick = function(){insertSummary(text)} | ||
+ | wpSummaryBtn.appendChild(btn) | ||
+ | } | ||
+ | |||
+ | //код вставки описания | ||
+ | function insertSummary(text) { | ||
+ | var wpSummary = document.getElementById('wpSummary') | ||
+ | if (wpSummary.value.indexOf(text) != -1) return | ||
+ | if (wpSummary.value.match(/[^,; \/]$/)) wpSummary.value += ',' | ||
+ | if (wpSummary.value.match(/[^ ]$/)) wpSummary.value += ' ' | ||
+ | wpSummary.value += text | ||
+ | } | ||
+ | |||
+ | //вызов функции вставки кнопок быстрого описания правки при загрузке страницы | ||
+ | addOnloadHook(SummaryButtons) | ||
+ | |||
+ | //перемещение ссылок "править" влево, к заголовку секции, для борьбы с багом движка | ||
+ | addOnloadHook(function() { | ||
+ | if (typeof oldEditsectionLinks != 'undefined' && oldEditsectionLinks) return; | ||
+ | var spans = document.getElementsByTagName("span"); | ||
+ | for (var i=0; i<spans.length; i++) { | ||
+ | var span = spans[i]; | ||
+ | if (span.className != "editsection") continue; | ||
+ | span.style.fontSize = "x-small"; | ||
+ | span.style.fontWeight = "normal"; | ||
+ | span.style.styleFloat = "none"; // IE-Fix für die folgende Zeile | ||
+ | span.style.cssFloat = "none"; | ||
+ | span.style.marginLeft = "0px"; | ||
+ | span.parentNode.appendChild(document.createTextNode(" ")); | ||
+ | span.parentNode.appendChild(span); | ||
+ | } | ||
+ | }); |
Версия 16:27, 12 апреля 2010
/* Размещённый здесь JavaScript код будет загружаться всем пользователям при обращении к каждой странице */ function addWikifButton(){ var toolbar = document.getElementById('toolbar') var textbox = document.getElementById('wpTextbox1') if (!textbox || !toolbar) return var i = document.createElement('img') i.src = 'http://upload.wikimedia.org/wikisource/ru/d/d1/Button-wikifikator.png' i.alt = i.title = 'Wikificator' i.onclick = Wikify i.style.cursor = 'pointer' toolbar.appendChild(i) } if (wgAction == 'edit' || wgAction == 'submit'){ document.write('<script type="text/javascript" src="/index.php?title=MediaWiki:Wikificator.js&action=raw&ctype=text/javascript"><\/script>') addOnloadHook(addWikifButton) } //Кнопки быстрого описания правки //список кнопок function SummaryButtons(){ var wpSummary = document.getElementById('wpSummary') if (!wpSummary || (wpSummary.form.wpSection && wpSummary.form.wpSection.value == 'new')) return wpSummaryBtn = document.createElement('span') //global var wpSummaryBtn.id = 'userSummaryButtonsA' // +Рекомендация var wpSummaryBtnRec = document.createElement('i') wpSummaryBtnRec.appendChild(document.createTextNode('Пожалуйста, если вы не торопитесь, опишите вашу правку подробно: например, не «дополнение», а «+персонажи».')) wpSummaryBtnRec.appendChild(document.createElement('br')) wpSummaryBtn.appendChild(wpSummaryBtnRec) wpSummary.parentNode.insertBefore(wpSummaryBtn, wpSummary.nextSibling) wpSummary.parentNode.insertBefore(document.createElement('br'), wpSummary.nextSibling) addSumButton('викиф.', 'викификация', 'Произведена викификация') addSumButton('оформл.', 'оформление', 'Оформление') addSumButton('стиль', 'стилевые правки', 'Стилевые правки') addSumButton('орфогр.', 'орфография', 'Поправлена орфография') addSumButton('пункт.', 'пунктуация', 'Изменена пунктуация') // addSumButton('интервики', 'интервики', 'Изменены межъязыковые ссылки (интервики)') addSumButton('кат.', 'правка категорий', 'Изменены категории') addSumButton('шаб.', 'шаблон', 'Добавлен / изменён шаблон') addSumButton('к удал.', 'к удалению', 'Страница предложена к удалению') addSumButton('доп.', 'дополнение', 'Добавлены новые сведения') addSumButton('иллюстрация', 'иллюстрация', 'Размещена иллюстрация') addSumButton('обнов.', 'обновление данных', 'Обновлены устаревшие данные') addSumButton('разметка', 'правка разметки', 'Изменение разметки') } //код вставки кнопок быстрого описания function addSumButton(name, text, title) { var btn = document.createElement('a') btn.appendChild(document.createTextNode(name)) btn.title = title btn.onclick = function(){insertSummary(text)} wpSummaryBtn.appendChild(btn) } //код вставки описания function insertSummary(text) { var wpSummary = document.getElementById('wpSummary') if (wpSummary.value.indexOf(text) != -1) return if (wpSummary.value.match(/[^,; \/]$/)) wpSummary.value += ',' if (wpSummary.value.match(/[^ ]$/)) wpSummary.value += ' ' wpSummary.value += text } //вызов функции вставки кнопок быстрого описания правки при загрузке страницы addOnloadHook(SummaryButtons) //перемещение ссылок "править" влево, к заголовку секции, для борьбы с багом движка addOnloadHook(function() { if (typeof oldEditsectionLinks != 'undefined' && oldEditsectionLinks) return; var spans = document.getElementsByTagName("span"); for (var i=0; i<spans.length; i++) { var span = spans[i]; if (span.className != "editsection") continue; span.style.fontSize = "x-small"; span.style.fontWeight = "normal"; span.style.styleFloat = "none"; // IE-Fix für die folgende Zeile span.style.cssFloat = "none"; span.style.marginLeft = "0px"; span.parentNode.appendChild(document.createTextNode(" ")); span.parentNode.appendChild(span); } });