MediaWiki:Gadget-CommentsToVk.js: различия между версиями

Материал из ВикиФизтех
Перейти к навигации Перейти к поиску
imported>Admin2
imported>Admin2
Строка 4: Строка 4:
 
var instance = this;
 
var instance = this;
  
var loginDiv = $('<div id="vkLoginStatus" style="float: right;"><h4>Пользователь не авторизован<h4></div>');
+
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>");
 
var btnLogin = $("<button>Login</button>");
Строка 37: Строка 39:
  
 
CommentToVk.prototype.login = function() {
 
CommentToVk.prototype.login = function() {
VK.Auth.login();
+
var instance = this;
 +
 
 +
VK.Auth.login(function(result) {
 +
if (result.status === 'connected') {
 +
var user = result.session.user;
 +
instance.loginLabel.text('Авторизован: ' + user.first_name
 +
+ ' ' + user.last_name);
 +
}
 +
});
 
}
 
}
  

Версия от 16:18, 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"));
	}

	CommentToVk.prototype.init = function() {
		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);
		}
	}

	CommentToVk.prototype.login = function() {
		var instance = this;

		VK.Auth.login(function(result) {
			if (result.status === 'connected') {
				var user = result.session.user;
				instance.loginLabel.text('Авторизован: ' + user.first_name
						+ ' ' + user.last_name);
			}
		});
	}

	if (wgArticleId == 5168) {
		var instance = new CommentToVk();
		instance.init();
	}
})();