fix some warnings & update package

master
Vitaliy Filippov 2016-05-01 14:41:03 +03:00
parent e77851ef60
commit ce89acecb1
10 changed files with 49 additions and 49 deletions

View File

@ -8,8 +8,8 @@ module.exports = function(grunt) {
grunt.initConfig({ grunt.initConfig({
pkg: require('./package.json'), pkg: require('./package.json'),
banner: '/*! Social Likes v<%= pkg.version %> by Artem Sapegin - ' + banner: '/*! Social Likes v<%= pkg.version %> by Artem Sapegin / Vitaliy Filippov no-jquery - ' +
'http://sapegin.github.com/social-likes - Licensed MIT */\n', 'http://github.com/vitalif/social-likes - Licensed MIT */\n',
jshint: { jshint: {
options: { options: {
jshintrc: 'src/.jshintrc' jshintrc: 'src/.jshintrc'

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -41,7 +41,7 @@
"grunt-contrib-uglify": "~0.6.0", "grunt-contrib-uglify": "~0.6.0",
"grunt-contrib-watch": "~0.6.1", "grunt-contrib-watch": "~0.6.1",
"grunt-csso": "~0.6.3", "grunt-csso": "~0.6.3",
"grunt-jscs-checker": "~0.7.1", "grunt-jscs": "~0.8.1",
"grunt-modernizr": "~1.0.1", "grunt-modernizr": "~1.0.1",
"grunt-replace": "~0.11.0", "grunt-replace": "~0.11.0",
"grunt-sweet": "~0.2.2", "grunt-sweet": "~0.2.2",

View File

@ -1,12 +1,8 @@
{ {
"requireCurlyBraces": ["for", "while", "do"],
"requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return"], "requireSpaceAfterKeywords": ["if", "else", "for", "while", "do", "switch", "return"],
"requireParenthesesAroundIIFE": true, "requireParenthesesAroundIIFE": true,
"requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true }, "requireSpacesInFunctionExpression": { "beforeOpeningCurlyBrace": true },
"disallowSpacesInFunctionExpression": { "beforeOpeningRoundBrace": true }, "disallowSpacesInFunctionExpression": { "beforeOpeningRoundBrace": true },
"disallowMultipleVarDecl": true,
"disallowSpacesInsideObjectBrackets": true,
"disallowSpacesInsideArrayBrackets": true,
"disallowSpacesInsideParentheses": true, "disallowSpacesInsideParentheses": true,
"disallowSpaceAfterObjectKeys": true, "disallowSpaceAfterObjectKeys": true,
"requireCommaBeforeLineBreak": true, "requireCommaBeforeLineBreak": true,
@ -26,7 +22,7 @@
"requireKeywordsOnNewLine": ["else"], "requireKeywordsOnNewLine": ["else"],
"requireLineFeedAtFileEnd": true, "requireLineFeedAtFileEnd": true,
"maximumLineLength": 140, "maximumLineLength": 140,
"safeContextKeyword": "that", "safeContextKeyword": "self",
"requireDotNotation": true, "requireDotNotation": true,
"validateJSDoc": { "validateJSDoc": {
"checkParamNames": true, "checkParamNames": true,

View File

@ -2,13 +2,17 @@
"browser": true, "browser": true,
"white": false, "white": false,
"smarttabs": true, "smarttabs": true,
"eqeqeq": true, "eqeqeq": false,
"immed": true, "immed": true,
"latedef": true, "latedef": true,
"newcap": true, "newcap": true,
"undef": true, "undef": true,
"jquery": true, "jquery": false,
"globals": { "globals": {
"Modernizr": true "http_build_query": true,
"addListener": true,
"removeListener": true,
"onDomReady": true,
"GET": true
} }
} }

View File

@ -5,10 +5,11 @@
* Sharing buttons for Russian and worldwide social networks. * Sharing buttons for Russian and worldwide social networks.
* jQuery removed, only requires simple utilities: GET, onDomReady, http_build_query, addListener, removeListener * jQuery removed, only requires simple utilities: GET, onDomReady, http_build_query, addListener, removeListener
* *
* @author Artem Sapegin * @author Artem Sapegin, Vitaliy Filippov
* @copyright 2014 Artem Sapegin (sapegin.me) * @copyright 2014 Artem Sapegin (sapegin.me), 2016 Vitaliy Filippov
* @license MIT * @license MIT
*/ */
/*jshint -W030 */
(function() { (function() {
'use strict'; 'use strict';
@ -21,19 +22,18 @@
function hasClass(e, cls, remove) function hasClass(e, cls, remove)
{ {
var p = -1; var p = -1, r = false;
while ((p = e.className.indexOf(cls, p+1)) != -1) while ((p = e.className.indexOf(cls, p+1)) != -1)
{ {
if ((!p || /\s/.exec(e.className.charAt(p-1))) && if ((!p || /\s/.exec(e.className.charAt(p-1))) &&
(p == e.className.length-cls.length || /\s/.exec(e.className.charAt(p+cls.length)))) (p == e.className.length-cls.length || /\s/.exec(e.className.charAt(p+cls.length))))
{ {
r = true;
if (remove) if (remove)
e.className = e.className.substr(0, p-1)+e.className.substr(p+cls.length); e.className = e.className.substr(0, p-1)+e.className.substr(p+cls.length);
else
return true;
} }
} }
return false; return r;
} }
function getScript(url, onsuccess, onerror) function getScript(url, onsuccess, onerror)
{ {
@ -110,7 +110,7 @@
var index = options._.length; var index = options._.length;
options._.push(deferred); options._.push(deferred);
getScript(makeUrl(jsonUrl, {index: index}), null, function() { deferred.reject() }); getScript(makeUrl(jsonUrl, {index: index}), null, function() { deferred.reject(); });
}, },
popupUrl: 'https://vk.com/share.php?url={url}&title={title}', popupUrl: 'https://vk.com/share.php?url={url}&title={title}',
popupWidth: 655, popupWidth: 655,
@ -130,7 +130,7 @@
var index = options._.length; var index = options._.length;
options._.push(deferred); options._.push(deferred);
getScript(makeUrl(jsonUrl, {index: index}), null, function() { deferred.reject() }); getScript(makeUrl(jsonUrl, {index: index}), null, function() { deferred.reject(); });
}, },
popupUrl: 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={url}', popupUrl: 'https://connect.ok.ru/dk?st.cmd=WidgetSharePreview&service=odnoklassniki&st.shareUrl={url}',
popupWidth: 580, popupWidth: 580,
@ -166,14 +166,14 @@
if (!counters.promises[service]) counters.promises[service] = {}; if (!counters.promises[service]) counters.promises[service] = {};
var servicePromises = counters.promises[service]; var servicePromises = counters.promises[service];
if (!extraOptions.forceUpdate && servicePromises[url]) { if (!extraOptions.forceUpdate && servicePromises[url])
return servicePromises[url]; return servicePromises[url];
} else
else { {
var options = {}; var options = {};
for (var i in services[service]) for (var i in services[service])
options[i] = services[service][i]; options[i] = services[service][i];
for (var i in extraOptions) for (i in extraOptions)
options[i] = extraOptions[i]; options[i] = extraOptions[i];
var deferred = { resolve: function(v) {}, reject: function() {} }; var deferred = { resolve: function(v) {}, reject: function() {} };
var jsonUrl = options.counterUrl && makeUrl(options.counterUrl, {url: url}); var jsonUrl = options.counterUrl && makeUrl(options.counterUrl, {url: url});
@ -192,7 +192,7 @@
try try
{ {
if (typeof options.convertNumber == 'function') if (typeof options.convertNumber == 'function')
number = options.convertNumber(data); number = options.convertNumber(number);
deferred.resolve(number); deferred.resolve(number);
} }
catch (e) catch (e)
@ -226,9 +226,9 @@
var c = {}, o = dataToOptions(element); var c = {}, o = dataToOptions(element);
for (var i in window.socialLikes.defaults) for (var i in window.socialLikes.defaults)
c[i] = window.socialLikes.defaults[i]; c[i] = window.socialLikes.defaults[i];
for (var i in options) for (i in options)
c[i] = options[i]; c[i] = options[i];
for (var i in o) for (i in o)
c[i] = o[i]; c[i] = o[i];
instance = new SocialLikes(element, c); instance = new SocialLikes(element, c);
element['__'+prefix] = instance; element['__'+prefix] = instance;
@ -281,18 +281,18 @@
if (this.options.counters) if (this.options.counters)
{ {
this.timer = setTimeout(function() { self.appear() }, this.options.wait); this.timer = setTimeout(function() { self.appear(); }, this.options.wait);
this.timeout = setTimeout(function() { self.ready() }, this.options.timeout); this.timeout = setTimeout(function() { self.ready(); }, this.options.timeout);
} }
else else
this.appear(); this.appear();
}, },
initUserButtons: function() { initUserButtons: function() {
if (!this.userButtonInited && window.socialLikesButtons) { if (!this.userButtonInited && window.socialLikesButtons) {
for (var i in socialLikesButtons) { for (var i in window.socialLikesButtons) {
services[i] = services[i] || {}; services[i] = services[i] || {};
for (var j in socialLikesButtons[i]) for (var j in window.socialLikesButtons[i])
services[i][j] = socialLikesButtons[i][j]; services[i][j] = window.socialLikesButtons[i][j];
} }
} }
this.userButtonInited = true; this.userButtonInited = true;
@ -322,7 +322,7 @@
addListener(widget, 'click', function() { addListener(widget, 'click', function() {
var activeClass = prefix+'__widget_active'; var activeClass = prefix+'__widget_active';
if (!hasClass(widget, activeClass)) { if (!hasClass(widget, activeClass, true)) {
widget.className += ' '+activeClass; widget.className += ' '+activeClass;
container.style.left = ((widget.offsetWidth-container.offsetWidth)/2)+'px'; container.style.left = ((widget.offsetWidth-container.offsetWidth)/2)+'px';
container.style.top = -container.offsetHeight+'px'; container.style.top = -container.offsetHeight+'px';
@ -332,7 +332,6 @@
}); });
} }
else { else {
widget.className = widget.className.substr(0, i);
hasClass(container, openClass, true); hasClass(container, openClass, true);
} }
return false; return false;
@ -415,7 +414,7 @@
this.detectParams(); this.detectParams();
this.initHtml(); this.initHtml();
var self = this; var self = this;
setTimeout(function() { self.initCounter() }, 0); setTimeout(function() { self.initCounter(); }, 0);
}, },
update: function(options) { update: function(options) {
@ -495,7 +494,7 @@
this.widget = widget = link; this.widget = widget = link;
} }
else { else {
addListener(widget, 'click', function() { self.click() }); addListener(widget, 'click', function() { self.click(); });
} }
widget.className = widget.className.replace(' '+this.service, '') + ' '+this.getElementClassNames('widget'); widget.className = widget.className.replace(' '+this.service, '') + ' '+this.getElementClassNames('widget');
@ -522,7 +521,7 @@
}; };
var self = this; var self = this;
var r = counters.fetch(this.service, this.options.url, extraOptions); var r = counters.fetch(this.service, this.options.url, extraOptions);
r.reject = r.resolve = function(n) { self.updateCounter(n) }; r.reject = r.resolve = function(n) { self.updateCounter(n); };
} }
} }
}, },
@ -541,9 +540,10 @@
number = parseInt(number, 10) || 0; number = parseInt(number, 10) || 0;
var counterElem = document.createElement('span'); var counterElem = document.createElement('span');
if (!number && !this.options.zeroes) { if (!number && !this.options.zeroes)
counterElem.className = this.getElementClassNames('counter') + ' ' + prefix + '__counter_empty'; counterElem.className = this.getElementClassNames('counter') + ' ' + prefix + '__counter_empty';
} else { else
{
counterElem.innerHTML = number; counterElem.innerHTML = number;
counterElem.className = this.getElementClassNames('counter'); counterElem.className = this.getElementClassNames('counter');
} }
@ -578,7 +578,7 @@
for (var i in this.options.data) for (var i in this.options.data)
params[i] = this.options.data[i]; params[i] = this.options.data[i];
var s = ''; var s = '';
for (var i in params) for (i in params)
s += '&'+encodeURIComponent(i)+'='+encodeURIComponent(params[i]); s += '&'+encodeURIComponent(i)+'='+encodeURIComponent(params[i]);
if (!s) if (!s)
return url; return url;
@ -705,6 +705,6 @@
onDomReady(function() { onDomReady(function() {
var es = document.querySelectorAll('.' + prefix); var es = document.querySelectorAll('.' + prefix);
for (var i = 0; i < es.length; i++) for (var i = 0; i < es.length; i++)
socialLikes(es[i]); window.socialLikes(es[i]);
}); });
})(); })();

File diff suppressed because one or more lines are too long