MediaWiki:AboutTextPub.js
Материал из ЕЖЕВИКИ - EJWiki.org - Академической Вики-энциклопедии по еврейским и израильским темам
Перейти к навигацииПерейти к поиску
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Internet Explorer / Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
// ____________________________________________________________________________________________
// | |
// | Основано на версии 264413579 гаджета refToolbar.js |
// | (http://en.wikipedia.org/w/index.php?title=MediaWiki:Gadget-refToolbar.js&oldid=264413579) |
// |____________________________________________________________________________________________|
//
// Imported from revision 264412998 as of 2009-01-16T05:53:39 from [[User:Mr.Z-man/refToolbar.js]]
// For a description, see [[User:Mr.Z-man/refToolbar]]
//modified to work with new Wiki API - 2014-11-10 - BaruchG
//modified to change the template fields - 2014-11-10 - BaruchG
//modified to change the template fields - 2014-11-13 - BaruchG
//var anumforms = 0;
//var anumforms1 = 0;
var materialTypes = [
["1", "Документ (первоисточник) или его перевод", 'Документ (первоисточник) или его перевод, <br>' +
' в т. числе все официальные документы, выступления официальных лиц, и классические тексты (кроме комментариев к Танаху).<br>' +
' Данный вариант приоритетен (т.е. для эссе, мемуаров или художественных произведений, принадлежащих классическим или официальным авторам,<br>' +
' – ставте это вариант, а не 10-11-12). Критерий: первоисточник/документ - это то, что не подлежит изменению.'],
["2", "Изложение/конспект первоисточника", null],
["3", "Рецензия/комментарий к первоисточнику", null],
["4", "Лекция (распечатка лекции или драши, выступления)", 'Лекция/выступление/публикация своего мнения, ответы на вопросы и т.п. современного автора,<br>' +
' в т.ч. по галахе, философии,по социальным и политическим проблемам.'],
["5", "Интервью", null],
["6", "Исследование (в т.ч. научные книги и статьи)", null],
["7", "Тематическая подборка", null],
["8", "Новость, обзор новостей из СМИ", null],
["9", "Публицистика, журналистский комментарий", null],
["10", "Эссе", 'Эссе.<br>' +
' В отличие от п.4 имеет законченную литературную форму.'],
["11", "Мемуары", null],
["12", "Художественное произведение", null],
["13", "Юмор, сатира", null],
["14", "Пресс-релиз", 'Пресс-релиз<br>' +
' (к этому типу относятся все информационные внутриобщинные сообщения - про выставки, семинар, клуб и т.д.)'],
["15", "Служебная страница (в т.ч. руководства, инструкции и т.п.)", 'Служебная страница, в т.ч. руководства, инструкции и т.п.'],
["16", "Комментарии к Танаху", null]
];
function Textbutton() {
if (document.getElementById('wpTextbox1')) {
// if (mwCustomEditButtons && document.getElementById('toolbar') ) {
// button = document.createElement('a');
// button.href = "javascript:easyTextMain()";
// button.title = "Добавить шаблон О_тексте";
// buttonimage = document.createElement('img');
// buttonimage.src = "http://upload.wikimedia.org/wikipedia/commons/3/34/Vector_toolbar_insert_reference_button.png";
// buttonimage.alt = "Вставить описание текста";
// button.appendChild(buttonimage);
// var toolbar = document.getElementById('toolbar');
var toolbar = jQuery('#wikiEditor-ui-toolbar').find('.section-advanced .group-insert')[0];
var buttonTitle = "Добавить шаблон О_тексте";
var buttonImageSrc = "http://upload.wikimedia.org/wikipedia/commons/9/9f/Button_defaultsort.png";
// var buttonimageAlt = "Вставить описание текста";
// if (navigator.userAgent.indexOf('MSIE') == -1) {
// if (toolbar.style != null) {
// toolbar.style.height = 'auto';
// }
// else {
// toolbar.setAttribute('style', 'margin-bottom: 6px; height: auto;');
// }
// toolbar.appendChild(button);
try {
jQuery('#wpTextbox1').wikiEditor('addToToolbar', {
section: 'advanced',
group: 'insert',
tools: {
buttonId: {
label: buttonTitle,
type: 'button',
icon: buttonImageSrc,
action: {
type: 'callback',
execute: function(context) {
easyTextMain();
}
}
}
}
});
} catch (e) {
console.log(e.message);
}
var textMain = document.createElement('div');
// textMain.style.display = 'none';
// textMain.style.margin = '1px 3px 0 0';
// textMain.style.float = 'right';
jQuery(textMain)
.css("display","none")
.css("margin","1px 3px 0 0")
.css("float","right");
textMain.setAttribute('Id', 'Textselect');
textMain.appendChild(addOption("aboutText()", "О тексте"));
textMain.appendChild(addOption("aboutTemplate2()", "?"));
textMain.appendChild(addOption("hideInit2()", "Отмена"));
toolbar.appendChild(textMain);
// }
// else {
// toolbar.appendChild(button);
// selection = '<div id="Textselect" style="display:none"><input type="button" value="О тексте" onclick="aboutText()" />'+
// '<input type="button" value="?" onclick="aboutTemplate2()" />'+
// '<input type="button" value="Отмена" onclick="hideInit()" /></div>';
// document.getElementById('editform').innerHTML = selection + document.getElementById('editform').innerHTML;
// }
}
}
function addOption(script, text) {
var option = document.createElement('input');
option.setAttribute('type', 'button');
option.setAttribute('onclick', script);
option.setAttribute("value", text);
return option;
}
function hideInit2() {
document.getElementById('Textselect').style.display = 'none';
oldFormHide1();
}
function oldFormHide1() {
// if (anumforms != 0) {
// document.getElementById('Textdiv' + anumforms).style.display = 'none';
// }
// if (anumforms1 != 0) {
// document.getElementById('helpdiv2' + anumforms1).style.display = 'none';
// }
jQuery('#Textdiv1').css("display", 'none');
jQuery('#helpdiv2').css("display", 'none');
}
function easyTextMain() {
document.getElementById('Textselect').style.display = '';
}
function getTime() {
var time = new Date();
var nowdate = time.getUTCDate();
if (nowdate < 10) {
nowdate = "0" + nowdate.toString();
}
var nowmonth = time.getUTCMonth() + 1;
if (nowmonth < 10) {
nowmonth = "0" + nowmonth.toString();
}
var nowyear = time.getUTCFullYear();
var newtime = nowdate + '/' + nowmonth + '/' + nowyear;
return (newtime);
}
function aboutTemplate2() {
oldFormHide1();
var legend;
legend = "Справка";
// anumforms1++;
var form = '<div id="helpdiv2" style="background-color:white">' +
'<fieldset><legend>' + legend + '</legend>' +
'{{О_тексте <br>' +
'| НАЗВАНИЕ КНИГИ = <br>' +
' заполняется ТОЛЬКО в случае, если данная страница – часть книги, и указывает на ее заглавную страницу.<br>' +
' ЕСЛИ ДАННАЯ СТРАНИЦА есть ОТДЕЛЬНАЯ АВТОНОМНАЯ СТАТЬЯ то ЭТО ПОЛЕ ОСТАЕТСЯ ПУСТЫМ<br>' +
'| НАЗВАНИЕ СТРАНИЦЫ = <br>' +
' Заполняется во всех случаях. Это основное название данной страницы, которое будет видеть читатель.<br>' +
' Шаблон помещает это название ниже себя крупным шрифтом на фоне слабо-желтой полосы, для выделения.<br>' +
'<br>' +
' *** Раздел Классификация *** <br>' +
'| Подзаголовок = <br>' +
' Это пояснение к характеру или типу материала данной страницы.<br>' +
' Его НЕЛЬЗЯ использовать для удлинения названия, потому что оно расположено в Шаблоне, а название – на полосе ниже шаблона<br>' +
'| ТИП СТРАНИЦЫ = <br>' +
' (1) Заглавная страница книги.<br>' +
' (2) Рядовая (не заглавная) страница книги.<br>' +
' (3) Отдельная автономная статья.<br>' +
'<br>' +
'| ХАРАКТЕР МАТЕРИАЛА = <br>' +
' Это поле также создает категорию<br>';
for (var i = 0; i < materialTypes.length; i++) {
var helpDescription = materialTypes[i][2];
if (helpDescription == null) {
helpDescription = materialTypes[i][1];
}
form += ' ' + materialTypes[i][0] + '. ' + helpDescription + '<br>';
}
form += '<br>' +
' *** Раздел Авторство ***<br>' +
' Можно заполнять НЕ БОЛЕЕ ОДНОГО (подходящего для данного случая) из полей серии Авторства, в виде «И.О. Фамилия».<br>' +
' Это поле ссылается на статью Ежевики об этом авторе (если она существует). Создается категория статей данного автора<br>' +
'| АВТОР = <br>' +
' заполняется только в случае, если автор один.<br>' +
// '| АВТОР ПУБЛИКАЦИЙ = <br>' +
// ' имя автора как оно выглядит в Публикациях, Имя Фамилия.<br>' +
'| КОЛЛЕКТИВНОЕ АВТОРСТВО = <br>' +
' название коллективного органа <br>' +
'<br>' +
'| НЕСКОЛЬКО АВТОРОВ = <br>' +
' перечисляются авторы, через запятую.<br>' +
' *** Раздел Источник *** <br>' +
'| ЯЗЫК ОРИГИНАЛА = <br>' +
' заполняется только в том случае, если это перевод/пересказ, т.е. оригинал не по-русски <br>' +
'| НАЗВАНИЕ ОРИГИНАЛА = <br>' +
' заполняется только в том случае, если это перевод/пересказ, т.е. оригинал не по-русски <br>' +
'| ПЕРЕВОДЧИК = <br>' +
' И.О. Фамилия; создается категория, подобно как для авторов. <br>' +
'| ОТНОСИТСЯ К СЕРИИ =<br>' +
' Это дополнительный способ классификации материала (в рамках больших, чем книга). Создается категория<br>' +
'<br>' +
'| ИЗ СБОРНИКА = <br>' +
' заполняется ТОЛЬКО в случае, если исходно эта статья была частью сборника (но весь сборник у нас НЕ публикуется) <br>' +
'| ДАТА СОЗДАНИЯ ОРИГИНАЛА = <br>' +
' Если дата точно не известна, можно указать «прибл. **** г.». <br>' +
'| ДАТА ПУБЛИКАЦИИ ОРИГИНАЛА = <br>' +
' Если совпадает с предыдущим, то не указывается <br>' +
'<br>' +
' *** Раздел Прочее *** <br>' +
'| КОПИРАЙТ = <br>' +
' Если тип копирайта неизвестен, то это поле не заполняется <br>' +
' (1) отсутствует,<br>' +
' (2) свободная лицензия совместимая с CC-BY-SA ,<br>' +
' (3) правообладатель разрешает копировать текст, но только в оригинальном виде, не внося в него изменений.<br>' +
' Это обычно относится ко всем пресс-релизам, рассылкам, публикуемым официальным материалам и сообщениям и т.д.<br>' +
' (4) правообладатель запрещает копировать текст без его согласия (обычный копирайт).<br>' +
'<br>' +
'| В ЕЖЕВИКЕ = <br>' +
' Если этот материал специально связан со страницей Ежевики, указывается название страницы. Иначе остается пустым <br>' +
'| ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ = <br>' +
' если есть важная дополнительная информация о материале, ее можно кратко указать здесь <br>' +
'| ПРЕДЫДУЩАЯ ГЛАВА = <br>' +
' заполняется только в случае, если данная страница – часть книги. <br>' +
' Если данная страница – отдельная статья, то это поле остается пустым <br>' +
'| СЛЕДУЮЩАЯ ГЛАВА = <br>' +
' заполняется только в случае, если данная страница – часть книги <br>' +
'}} <br> <br>' +
'</fieldset></div>';
if (jQuery('#helpdiv2').length > 0) {
jQuery('#helpdiv2').replaceWith(form);
} else {
document.getElementById('Textselect').innerHTML += form;
}
}
function aboutText() {
oldFormHide1();
var legend;
var template = "О_тексте";
legend = "Описание текста";
var newtime = getTime();
// anumforms++;
var form = '<div id="Textdiv1" style="background-color:white">' +
'<fieldset><legend>' + legend + '</legend>' +
'<table cellspacing="6">' +
'<input type="hidden" value="' + template + '" id="template">' +
'<tr>' +
'<td width="150"><label for="НАЗВАНИЕ КНИГИ"> название книги: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="НАЗВАНИЕ КНИГИ"></td>' +
'<td width="150"><label for="НАЗВАНИЕ СТРАНИЦЫ"> название страницы: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="НАЗВАНИЕ СТРАНИЦЫ"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="Подзаголовок"> подзаголовок: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="Подзаголовок"></td>' +
'<td width="150"><label for="ТИП СТРАНИЦЫ"> тип страницы: </label></td>' +
'<td width="80"><SELECT tabindex=1 NAME="ТИП СТРАНИЦЫ" SIZE=0 id="pageType">' +
'<OPTION VALUE="0"></option>' +
'<OPTION VALUE="1">Заглавная страница книги</option>' +
'<OPTION VALUE="2">Рядовая (не заглавная) страница книги</option>' +
'<OPTION VALUE="3">Отдельная автономная статья</option></SELECT></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="ХАРАКТЕР МАТЕРИАЛА"> характер материала</label></td>' +
'<td width="80">' +
'<SELECT tabindex=1 NAME="ХАРАКТЕР МАТЕРИАЛА" SIZE=0 id="materialType">';
for (var i = 0; i < materialTypes.length; i++) {
form += '<OPTION VALUE="' + materialTypes[i][0] + '">' + materialTypes[i][1] + '</option>';
}
form += '</SELECT>' +
'</td>' +
'<td width="150"><label for="АВТОР"> автор: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="АВТОР"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="КОЛЛЕКТИВНОЕ АВТОРСТВО"> коллективное авторство: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="КОЛЛЕКТИВНОЕ АВТОРСТВО"></td>' +
'<td width="150"><label for="НЕСКОЛЬКО АВТОРОВ"> несколько авторов: </label></td>' +
'<td width="80"><input type="text" tabindex=1 style="width:100%" id="НЕСКОЛЬКО АВТОРОВ"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="ЯЗЫК ОРИГИНАЛА"> язык оригинала: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ЯЗЫК ОРИГИНАЛА"></td>' +
'<td width="150"><label for="НАЗВАНИЕ ОРИГИНАЛА"> название оригинала: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="НАЗВАНИЕ ОРИГИНАЛА"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="ПЕРЕВОДЧИК"> переводчик: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ПЕРЕВОДЧИК"></td>' +
'<td width="150"><label for="ОТНОСИТСЯ К СЕРИИ"> относится к серии: </label></td>' +
'<td width="80"><input type="text" tabindex=1 style="width:100%" id="ОТНОСИТСЯ К СЕРИИ"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="ИЗ СБОРНИКА"> из сборника: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ИЗ СБОРНИКА"></td>' +
'<td width="150"><label for="ДАТА СОЗДАНИЯ ОРИГИНАЛА"> дата создания оригинала: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ДАТА СОЗДАНИЯ ОРИГИНАЛА" value="' + newtime + '"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="ДАТА ПУБЛИКАЦИИ ОРИГИНАЛА"> дата публикации оригинала: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ДАТА ПУБЛИКАЦИИ ОРИГИНАЛА" value="' + newtime + '"></td>' +
'<td width="150"><label for="КОПИРАЙТ"> копирайт: </label></td>' +
'<td width="80"><SELECT tabindex=1 NAME="КОПИРАЙТ" SIZE=0 id="copyright">' +
'<OPTION VALUE="1">отсутствует</option>' +
'<OPTION VALUE="2">свободная лицензия совместимая с CC-BY-SA</option>' +
'<OPTION VALUE="3">разрешается копировать текст без изменений</option>' +
'<OPTION VALUE="4">запрещается копировать текст без согласия автора</option></SELECT></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="В ЕЖЕВИКЕ"> в Ежевике: </label></td>' +
'<td width="300"><input type="text" tabindex=1style="width:100%" id="В ЕЖЕВИКЕ"></td>' +
'<td width="150"><label for="ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"> дополнительная информация: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ"></td>' +
'</tr>' +
'<tr>' +
'<td width="150"><label for="ПРЕДЫДУЩАЯ ГЛАВА"> предыдущая глава: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="ПРЕДЫДУЩАЯ ГЛАВА"></td>' +
'<td width="150"><label for="СЛЕДУЮЩАЯ ГЛАВА"> следующая глава: </label></td>' +
'<td width="300"><input type="text" tabindex=1 style="width:100%" id="СЛЕДУЮЩАЯ ГЛАВА"></td>' +
'</tr>' +
'</table>' +
'<input type="button" value="Добавить" onClick="addtemplate1()">' +
'</fieldset></div>';
if (jQuery('#Textdiv1').length > 0) {
jQuery('#Textdiv1').replaceWith(form);
} else {
document.getElementById('Textselect').innerHTML += form;
}
}
function addtemplate1() {
// var cites = document.getElementById('Textdiv1').getElementsByTagName('input');
var cites = jQuery('#Textdiv1').find('input, select');
var citebegin = '';
var citeinner = '';
for (var i = 0; i < cites.length - 1; i++) {
if (cites[i].id === "pageType") {
if (cites[i].selectedIndex != "0") {
citeinner += "\n|" + cites[i].name + "=" + cites[i].selectedIndex;
}
else {
citeinner += "\n|" + cites[i].name + "="
}
}
else if (cites[i].id === "materialType" || cites[i].id === "copyright") {
citeinner += "\n|" + cites[i].name + "=" + (cites[i].selectedIndex+1);
}
else if (cites[i].id != "template") {
citeinner += "\n|" + cites[i].id + "=" + cites[i].value;
}
else if (cites[i].id == "template") {
citebegin = '{{' + cites[i].value;
}
}
var cite = citebegin + citeinner + "\n}}\n";
insertTags(cite, '', '');
document.getElementById('Textdiv1').style.display = 'none';
}
//function detectIE() {
//// return doXjo.isIE;
// var ieVersion;
// try {
// if (jQuery.browser.msie) {
// ieVersion = jQuery.browser.version;
// ieVersion = parseInt(extractSubstring(ieVersion, "", "."));
//// console.debug("!!!!");
// }
// else if (jQuery.browser.mozilla && jQuery.browser.version === "11.0") {
// ieVersion = 11;
// }
// } catch (e) {
//// console.debug("----");
// }
//
// return ieVersion;
//}
//
//function extractSubstring(value,startstring,endstring, ignoreCase){
// var valueString;
// if (ignoreCase) {
// valueString = value.toLowerCase();
// startstring = startstring.toLowerCase();
// endstring = endstring.toLowerCase();
// } else {
// valueString = value;
// }
// var startIndex = valueString.indexOf(startstring);
// var endIndex = valueString.indexOf(endstring, startIndex+1);
// if(startIndex != -1){
// if(endIndex != null && endIndex > startIndex)
// return value.substring(startIndex + startstring.length,endIndex);
// else
// return value.substring(startIndex + startstring.length);
// }
// else
// return value;
//}// end function
//function insertFilledTemplate(filledTemplate) {
// jQuery('#wpTextbox1').wikiEditor("setContent", filledTemplate);
//}
//hookEvent("load", Articlebutton);
//addOnloadHook(Articlebutton);
//$(document).ready(function(){
// setTimeout(Articlebutton, 1000);
//});
jQuery('#wpTextbox1').on('wikiEditor-toolbar-doneInitialSections', function () {
Textbutton();
});