Изменения
Перейти к навигации
Перейти к поиску
Строка 1:
Строка 1:
− var addthis_config={data_track_clickback:true,data_ga_property:'UA-130748-3',ui_language:'ru'};+
− $(function(){+
− var div = $('.addthis_toolbox_mipt');+
− div.append("<a class=\"addthis_button_preferred_1 mipt_addthis_button_class\"></a>");
− div.append("<a class=\"addthis_button_preferred_2 mipt_addthis_button_class\"></a>");
− div.append("<a class=\"addthis_button_preferred_3 mipt_addthis_button_class\"></a>");
− div.append("<a class=\"addthis_button_preferred_4 mipt_addthis_button_class\"></a>");
− div.append("<a class=\"addthis_button_preferred_5 mipt_addthis_button_class\"></a>");
− div.append("<a class=\"addthis_button_compact mipt_addthis_button_class\"></a>");
− div.append("<a class=\"addthis_counter addthis_bubble_style\"></a>");
− addthis.toolbox('.addthis_toolbox_mipt');
− // init VK.COM API+
− VK.init({apiId: 2654830, onlyWidgets: true});+
− if ($('#vk_like').length > 0) {+
− VK.Widgets.Like("vk_like", {type: "full", height:24, width: 343, pageTitle: wgTitle, page_id: wgArticleId});
− }
− if ($('#vk_groups').length > 0) {
− VK.Widgets.Group("vk_groups", {mode: 0, height:"290", width: "160"}, 47630162);
− }
− });
− importMW = function (name) { importScript('MediaWiki:'+name+'.js') }+
+
+
+
+
+
− importScript_ = importScript+
− importScript = function (page, proj){
− if (!proj) importScript_(page)
− else {
− importScriptURI('//wikidata.org/index.php?action=raw&ctype=text/javascript&title='+mw.util.wikiUrlencode(page))
− }
− }
+
+
− mw.config.set( 'tableSorterCollation', {'ё':'е'} )+
+
+
+
+
+
+
+
+
+
+
+
+
− +
− +
+
− +
− var NavigationBarShow = '[показать]'+
− var NavigationBarShowDefault = 2
− if( /^en$/.test(wgUserLanguage) ) importMW('Common-' + wgUserLanguage)+
+
− function editZeroSection(){+
− if( !wgArticleId ) return+
− mw.util.$content.find('h2')
− .children('.editsection:first')
− .clone().prependTo('#bodyContent')
− .css('float','right')
− .find('a')
− .attr('title', zeroSectionTip)
− .attr('href', wgScript + '?title='+mw.util.wikiUrlencode(wgPageName) + '&action=edit§ion=0' )
− }
+
+
+
+
+
+
+
− //Collapsiblе: [[ВП:СБ]]+
+
+
+
+
+
+
− var hasClass = (function (){+
− var reCache = {}+
− return function (element, className){
− return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className)
− }
− })()
− +
− var Table, HRow, HCell, btn, a, tblIdx = 0, colTables = []+
− var allTables = document.getElementsByTagName('table')+
− for (var i=0; Table = allTables[i]; i++){+
− if (!hasClass(Table, 'collapsible')) continue+
− if (!(HRow=Table.rows[0])) continue
− if (!(HCell=HRow.getElementsByTagName('th')[0])) continue
− Table.id = 'collapsibleTable' + tblIdx
− btn = document.createElement('span')
− btn.style.cssText = 'float:right; font-weight:normal; font-size:smaller'
− a = document.createElement('a')
− a.id = 'collapseButton' + tblIdx
− a.href = 'javascript:collapseTable(' + tblIdx + ');'
− a.style.color = HCell.style.color
− a.appendChild(document.createTextNode(NavigationBarHide))
− btn.appendChild(a)
− HCell.insertBefore(btn, HCell.childNodes[0])
− colTables[tblIdx++] = Table
− }
− for (var i=0; i < tblIdx; i++)
− if ((tblIdx > NavigationBarShowDefault && hasClass(colTables[i], 'autocollapse')) || hasClass(colTables[i], 'collapsed'))
− collapseTable(i)
− }
− function collapseTable (idx){+
− var Table = document.getElementById('collapsibleTable' + idx)+
− var btn = document.getElementById('collapseButton' + idx)+
− if (!Table || !btn) return false+
− var Rows = Table.rows
− var isShown = (btn.firstChild.data == NavigationBarHide)
− btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide
− var disp = isShown ? 'none' : Rows[0].style.display
− for (var i=1; i < Rows.length; i++)
− Rows[i].style.display = disp
−
− function collapsibleDivs(){+
− var navIdx = 0, colNavs = [], i, NavFrame+
− var divs = document.getElementById('content').getElementsByTagName('div')
− for (i=0; NavFrame = divs[i]; i++) {
− if (!hasClass(NavFrame, 'NavFrame')) continue
− NavFrame.id = 'NavFrame' + navIdx
− var a = document.createElement('a')
− a.className = 'NavToggle'
− a.id = 'NavToggle' + navIdx
− a.href = 'javascript:collapseDiv(' + navIdx + ');'
− a.appendChild(document.createTextNode(NavigationBarHide))
− for (var j=0; j < NavFrame.childNodes.length; j++)
− if (hasClass(NavFrame.childNodes[j], 'NavHead'))
− NavFrame.childNodes[j].appendChild(a)
− colNavs[navIdx++] = NavFrame
− }
− for (i=0; i < navIdx; i++)
− if ((navIdx > NavigationBarShowDefault && !hasClass(colNavs[i], 'expanded')) || hasClass(colNavs[i], 'collapsed'))
− collapseDiv(i)
− }
− function collapseDiv(idx) {+
− var div = document.getElementById('NavFrame' + idx)+
− var btn = document.getElementById('NavToggle' + idx)
− if (!div || !btn) return false
− var isShown = (btn.firstChild.data == NavigationBarHide)
− btn.firstChild.data = isShown ? NavigationBarShow : NavigationBarHide
− var disp = isShown ? 'none' : 'block'
− for (var child = div.firstChild; child != null; child = child.nextSibling)
− if (hasClass(child, 'NavPic') || hasClass(child, 'NavContent'))
− child.style.display = disp
− }
+
+
+
+
+
+
+
+
+
− //Execution+
− mw.loader.using( 'mediawiki.util', function() {+
+
+
+
+
+
+
+
+
− +
− +
− if (/^(Uplo|Sear|Stat|Spec|Abus|Prefe|Move|Watch|Newp|Log)/i.test(wgCanonicalSpecialPageName))+
− importMW(wgCanonicalSpecialPageName)+
−
− }else switch (wgAction){
−
− case 'history': importMW('History'); break
−
− case 'delete': importMW('Deletepage'); break
−
− case 'edit': case 'submit': importMW('Editpage') //and continue with the default: view, purge
−
− default:
−
− $(editZeroSection)
− addOnloadHook(collapsibleDivs)
− addOnloadHook(collapsibleTables)
− if (navigator.platform.indexOf('Win') != -1)
− mw.util.addCSS('.IPA, .Unicode { font-family: "Arial Unicode MS", "Lucida Sans Unicode"; }')
−
−
− /* Helper script for .hlist class in common.css
− * Author: [[:en:User:Edokter]]
− */
−
− if ( $.client.profile().name == 'msie' ) {
− /* Add pseudo-selector class to last child list items in IE 8 */
− if ( $.client.profile().versionBase == '8' ) {
− $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
− .addClass( 'hlist-last-child' );
− }
− /* Generate interpuncts and parens for IE < 8 */
− if ( $.client.profile().versionBase < '8' ) {
− $( '.hlist' ).find( 'dt + dd, dt + dt' ).prev()
− .append( '<b>:</b> ' );
− $( '.hlist' ).find( 'dd + dd, dd + dt, li + li' ).prev()
− .append( '<b>•</b> ' );
− $( '.hlist' ).find( 'dl dl, ol ol, ul ul' )
− .prepend( '( ' ).append( ') ' );
− }
− }
−
− })
MediaWiki:Gadget-CommentsToVk.js (посмотреть исходный код)
Версия от 16:41, 30 июля 2016
, 16:41, 30 июля 2016нет описания правки
(function() {
CommentToVk = function() {
var instance = this;
var loginDiv = this.loginDiv = $('<div id="vkLoginStatus" style="float: right;"></div>');
var loginLabel = this.loginLabel = $('<h4>Пользователь не авторизован</h4>');
loginLabel.appendTo(loginDiv);
var btnLogin = $("<button>Login</button>");
btnLogin.button();
btnLogin.click(function() {
instance.login();
});
loginDiv.append(btnLogin);
loginDiv.prependTo($("#bodyContent"));
if ($("#vk_api_transport").length == 0) {
$(document.body).append($('<div id="vk_api_transport"></div>'));
window.vkAsyncInit = function() {
VK.init({
apiId : 2654830
});
};
setTimeout(function() {
var el = document.createElement("script");
el.type = "text/javascript";
el.src = "//vk.com/js/api/openapi.js";
el.async = true;
document.getElementById("vk_api_transport").appendChild(el);
}, 0);
}
//Messages
var publishDialog = this.publishDialog = $('<div id="commentsToVkDialog" title="Добавить комментарий в очередь"></div>')
var zeroSectionTip = 'Править введение'
var publishForm = $('<form></form>')
publishForm.appendTo(publishDialog);
var NavigationBarHide = '[скрыть]'
var publishFormText = this.publishFormText = $('<textarea rows="10" cols="80"></textarea>')
publishForm.appendTo(publishForm);
var publishFormLink = this.publishFormLink = $('<input type="url"></input>')
publishForm.appendTo(publishForm);
var publishFormTime = this.publishFormTime = $('<input type="datetime"></input>')
publishForm.appendTo(publishForm);
publishDialog.dialog({
autoOpen : false,
height : 'auto',
width : 'auto',
modal : true,
buttons : {
Submit : function() {
},
Cancel : function() {
publishDialog.dialog("close");
}
},
});
}
CommentToVk.prototype.login = function() {
var instance = this;
function collapsibleTables(){
VK.Auth.login(function(result) {
if (result.status === 'connected') {
var user = result.session.user;
instance.loginLabel.text('Авторизован: ' + user.first_name
+ ' ' + user.last_name);
instance.appendPublishButtons();
}
});
}
}
CommentToVk.prototype.appendPublishButtons = function() {
var instance = this;
$(".c-item").each(function(index, item) {
var container = $(item).find(".c-container");
var btnPublish = $("<button>Publish</button>");
btnPublish.button();
btnPublish.click(function() {
instance.dialogPublish($(item));
});
container.append($("<br>"));
container.append(btnPublish);
});
}
CommentToVk.prototype.dialogPublish = function(cItem) {
var container = $(item).find(".c-container");
var comment = $(item).find(".c-comment");
var link = $(container.finc("a")[0]).attr('href');
link = link.split('#')[0];
var text = comment.text();
this.publishFormText = text;
this.publishFormLink = link;
this.publishDialog.dialog('open');
}
if (wgCanonicalNamespace == 'Special'){
if (wgArticleId == 5168) {
new CommentToVk();
}
})();
}