Service detection refactoring (#61).

master
Artem Sapegin 2014-04-10 09:51:02 +04:00
parent d3e772ed33
commit 09a691c7a9
2 changed files with 19 additions and 20 deletions

View File

@ -100,15 +100,15 @@ section {
<h3>Standard (dark background)</h3>
<div class="dark-bg">
<ul class="social-likes" data-url="http://mail.ru/">
<li class="facebook" title="Опубликовать ссылку на Фейсбуке">Facebook</li>
<li class="twitter" data-via="sapegin" data-related="DessiTeckel:Моя такса" title="Опубликовать ссылку в Твиттере">Twitter</li>
<li class="mailru" title="Опубликовать ссылку в Моём мире">Мой мир</li>
<li class="vkontakte" title="Опубликовать ссылку во Вконтакте">Вконтакте</li>
<li class="odnoklassniki" title="Опубликовать ссылку в Одноклассниках">Одноклассники</li>
<li class="plusone" title="Опубликовать ссылку в Гугл-плюсе">Google+</li>
<li class="pinterest" data-media="http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/8/20/11/anigif_enhanced-buzz-31256-1377012172-9.gif" title="Опубликовать ссылку в Пинтересте">Pinterest</li>
</ul>
<div class="social-likes" data-url="http://mail.ru/">
<div data-service="facebook" title="Опубликовать ссылку на Фейсбуке">Facebook</div>
<div data-service="twitter" data-via="sapegin" data-related="DessiTeckel:Моя такса" title="Опубликовать ссылку в Твиттере">Twitter</div>
<div data-service="mailru" title="Опубликовать ссылку в Моём мире">Мой мир</div>
<div data-service="vkontakte" title="Опубликовать ссылку во Вконтакте">Вконтакте</div>
<div data-service="odnoklassniki" title="Опубликовать ссылку в Одноклассниках">Одноклассники</div>
<div data-service="plusone" title="Опубликовать ссылку в Гугл-плюсе">Google+</div>
<div data-service="pinterest" data-media="http://s3-ec.buzzfed.com/static/enhanced/webdr02/2013/8/20/11/anigif_enhanced-buzz-31256-1377012172-9.gif" title="Опубликовать ссылку в Пинтересте">Pinterest</div>
</div>
</div>
<h3>Standard (light)</h3>

View File

@ -368,23 +368,22 @@
},
detectService: function() {
var data = this.widget.data();
if (services[data.service]) {
this.service = data.service;
$.extend(this.options, services[data.service]);
}
else {
var classes = this.widget[0].classList || this.widget[0].className.split(' ');
var service = this.widget.data('service');
if (!service) {
// class="facebook"
var node = this.widget[0];
var classes = node.classList || node.className.split(' ');
for (var classIdx = 0; classIdx < classes.length; classIdx++) {
var cls = classes[classIdx];
if (services[cls]) {
this.service = cls;
$.extend(this.options, services[cls]);
return;
service = cls;
break;
}
}
if (!service) return;
}
this.service = service;
$.extend(this.options, services[service]);
},
detectParams: function() {