From 88398a4ffbc24afc4390c3c47a67dbf822324cb7 Mon Sep 17 00:00:00 2001 From: Artem Sapegin Date: Wed, 21 Nov 2012 00:36:38 +0400 Subject: [PATCH] 2.0.4 --- component.json | 2 +- social-likes.css | 2 +- social-likes.min.js | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/component.json b/component.json index 1d99875..7b20789 100644 --- a/component.json +++ b/component.json @@ -1,6 +1,6 @@ { "name": "social-likes", - "version": "2.0.3", + "version": "2.0.4", "main": ["./social-likes.min.js", "./social-likes.css"], "dependencies": { "jquery": ">=1.7" diff --git a/social-likes.css b/social-likes.css index eeddd68..90ac634 100644 --- a/social-likes.css +++ b/social-likes.css @@ -1,5 +1,5 @@ /* Social Likes Artem Sapegin - http://sapegin.github.com/social-likes - Licensed MIT */ -.social-likes,.social-likes__widget{display:inline-block;vertical-align:middle;line-height:20px;padding:0;word-spacing:0;font-size:14px;*zoom:1;*display:inline} +.social-likes,.social-likes__widget{display:inline-block;vertical-align:middle;line-height:20px;text-indent:0;padding:0;word-spacing:0;font-size:14px;*zoom:1;*display:inline} .social-likes{margin:-3px;line-height:26px;list-style:none;} .social-likes li{display:inline-block;*zoom:1;*display:inline} .social-likes_vertical li{display:block} diff --git a/social-likes.min.js b/social-likes.min.js index ea73083..e920318 100644 --- a/social-likes.min.js +++ b/social-likes.min.js @@ -1,2 +1,2 @@ -/*! Social Likes v2.0.3 by Artem Sapegin - http://sapegin.github.com/social-likes - Licensed MIT */ -(function(e){typeof define=="function"&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){"use strict";function s(e){this.container=e,this.init()}function o(t,n){this.widget=t,this.options=e.extend({},n),this.detectService(),this.service&&this.init()}function u(e,t){for(var n in t)t.hasOwnProperty(n)&&(e=e.replace("{"+n+"}",encodeURIComponent(t[n])));return e}function a(e,t){for(var n in t)t.hasOwnProperty(n)&&(e=e.replace("{"+n+"}",t[n]));return e}function f(e,n){var r=t+e;return r+" "+r+"_"+n}function l(t){var r=e(document),i="click.social-likes"+Math.random();r.on(i,function(s){e(s.target).closest(t).length||(t.fadeOut(n),r.off(i))})}function c(e,t){if(document.documentElement.getBoundingClientRect){var r=parseInt(e.css("left"),10),i=parseInt(e.css("top"),10);e.css("visibility","hidden").show();var s=e[0].getBoundingClientRect();s.leftwindow.innerWidth-t&&e.css("left",window.innerWidth-s.right-t+r),s.topwindow.innerHeight-t&&e.css("top",window.innerHeight-s.bottom-t+i),e.hide().css("visibility","visible")}e.fadeIn(n)}var t="social-likes__",n="fast",r={facebook:{counterUrl:"http://graph.facebook.com/?ids={url}&callback=?",convertNumber:function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t].shares},popupUrl:"http://www.facebook.com/sharer/sharer.php?u={url}",pupupWidth:600,popupHeight:500},twitter:{counterUrl:"http://urls.api.twitter.com/1/urls/count.json?url={url}&callback=?",convertNumber:function(e){return e.count},popupUrl:"http://twitter.com/intent/tweet?url={url}&text={title}",pupupWidth:600,popupHeight:450,additionalParams:["via","related"]},mailru:{counterUrl:"http://connect.mail.ru/share_count?url_list={url}&callback=1&func=?",convertNumber:function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t].shares},popupUrl:"http://connect.mail.ru/share?share_url={url}&title={title}",pupupWidth:550,popupHeight:360},vkontakte:{counterUrl:"http://vkontakte.ru/share.php?act=count&url={url}&index={index}",counter:function(t,n){var i=r.vkontakte;i._||(i._=[],window.VK||(window.VK={}),window.VK.Share={count:function(e,t){i._[e].resolve(t)}});var s=i._.length;i._.push(n),e.ajax({url:u(t,{index:s}),dataType:"jsonp"})},popupUrl:"http://vk.com/share.php?url={url}&title={title}",pupupWidth:550,popupHeight:330},odnoklassniki:{counterUrl:"http://www.odnoklassniki.ru/dk?st.cmd=extLike&ref={url}&uid={index}",counter:function(t,n){var i=r.odnoklassniki;i._||(i._=[],window.ODKL||(window.ODKL={}),window.ODKL.updateCount=function(e,t){i._[e].resolve(t)});var s=i._.length;i._.push(n),e.ajax({url:u(t,{index:s}),dataType:"jsonp"})},popupUrl:"http://www.odnoklassniki.ru/dk?st.cmd=addShare&st._surl={url}",pupupWidth:550,popupHeight:360},plusone:{popupUrl:"https://plus.google.com/share?url={url}",pupupWidth:700,popupHeight:500},code:{click:function(r){var i=this._codeBalloon;if(i){if(i.is(":visible")){i.fadeOut(n);return}}else i=e(a('
'+'
'+"{prompt}
"+''+"
",{prompt:this.widget.data("prompt")||"Copy code to clipboard:",html:this.options.pageHtml})),this.widget.append(i),this._codeBalloon=i,i.hide();i.fadeIn(n),i.find("textarea").select(),i.is(":visible")&&(i.removeClass(t+"balloon_right"),i.offset().left<0&&i.addClass(t+"balloon_right"),l(i))}},livejournal:{click:function(t){var n=this._livejournalForm;if(!n){var r=this.options.pageHtml.replace(/&/g,"&").replace(/"/g,""");n=e(a('
',{title:this.options.pageTitle,html:r})),this.widget.append(n),this._livejournalForm=n}n.submit()}}},i={promises:{},fetch:function(t,n,s){i.promises[t]||(i.promises[t]={});var o=i.promises[t];if(o[n])return o[n];var a=e.extend({},r[t],s),f=e.Deferred(),l=a.counterUrl&&u(a.counterUrl,{url:n});return e.isFunction(a.counter)?a.counter(l,f):a.counterUrl&&e.getJSON(l).done(function(t){try{var n=t;e.isFunction(a.convertNumber)&&(n=a.convertNumber(t)),f.resolve(n)}catch(r){f.reject(r)}}),o[n]=f.promise(),o[n]}};e.fn.socialLikes=function(){return this.each(function(){new s(e(this))})},s.prototype={optionsMap:{pageUrl:{attr:"url",defaultValue:function(){return window.location.href.replace(window.location.hash,"")}},pageTitle:{attr:"title",defaultValue:function(){return document.title}},pageHtml:{attr:"html",defaultValue:function(){return''+this.options.pageTitle+""}},pageCounters:{attr:"counters",defaultValue:"yes",convert:function(e){return e==="yes"}}},init:function(){this.readOptions(),this.single=this.container.hasClass("social-likes_single"),this.initUserButtons(),this.single&&(this.makeSingleButton(),this.container.on("counter.social-likes",e.proxy(this.updateCounter,this)));var t=this.options;this.container.find("li").each(function(){new o(e(this),t)})},readOptions:function(){this.options={};for(var t in this.optionsMap){var n=this.optionsMap[t];this.options[t]=this.container.data(n.attr)||(e.isFunction(n.defaultValue)?e.proxy(n.defaultValue,this)():n.defaultValue),e.isFunction(n.convert)&&(this.options[t]=n.convert(this.options[t]))}},initUserButtons:function(){!this.userButtonInited&&window.socialLikesButtons&&e.extend(r,socialLikesButtons),this.userButtonInited=!0},makeSingleButton:function(){var r=this.container;r.addClass("social-likes_vertical"),r.wrap(e("
",{"class":"social-likes_single-w"}));var i=r.parent(),s=parseInt(r.css("left"),10),o=parseInt(r.css("top"),10);r.hide();var u=e("
",{"class":f("button","single"),text:r.data("single-title")||"Share"});u.prepend(e("",{"class":f("icon","single")})),i.append(u);var a=e("
  • ",{"class":t+"close",html:"×"});r.append(a),this.number=0,u.click(function(){return r.css({left:s,top:o}),c(r,20),l(r),!1}),a.click(function(){r.fadeOut(n)}),this.wrapper=i},updateCounter:function(e,t){if(!t)return;this.number+=t,this.getCounterElem().text(this.number)},getCounterElem:function(){var n=this.wrapper.find("."+t+"counter_single");return n.length||(n=e("",{"class":f("counter","single")}),this.wrapper.append(n)),n}},o.prototype={init:function(){this.detectParams(),this.initHtml();if(this.options.pageCounters)if(this.options.counterNumber)this.updateCounter(this.options.counterNumber);else{var t=this.options.counterUrl?{counterUrl:this.options.counterUrl}:{};i.fetch(this.service,this.options.pageUrl,t).done(e.proxy(this.updateCounter,this))}},detectService:function(){var t=this.widget[0].classList||this.widget[0].className.split(" ");for(var n=0;n":"",{"class":this.getElementClassNames("button"),text:n.text()});if(r){var o=u(t.clickUrl,{url:t.pageUrl,title:t.pageTitle});s.attr("href",o)}else s.click(e.proxy(this.click,this));s.prepend(e("",{"class":this.getElementClassNames("icon")})),n.empty().append(s),this.button=s},cloneDataAttrs:function(e,t){var n=e.data();for(var r in n)n.hasOwnProperty(r)&&t.data(r,n[r])},getElementClassNames:function(e){return f(e,this.service)},updateCounter:function(t){t=parseInt(t,10);if(!t)return;var n=e("",{"class":this.getElementClassNames("counter"),text:t});this.widget.append(n),this.widget.trigger("counter.social-likes",t)},click:function(t){var n=this.options;if(e.isFunction(n.click))n.click.call(this,t);else{var r=u(n.popupUrl,{url:n.pageUrl,title:n.pageTitle});r=this.addAdditionalParamsToUrl(r),this.openPopup(r,{width:n.pupupWidth,height:n.popupHeight})}return!1},addAdditionalParamsToUrl:function(t){var n=this.options.additionalParams;if(!n)return t;var r={};for(var i=0;it.height&&(r=Math.round(screen.height/3-t.height/2));var i=window.open(e,"sl_"+this.service,"left="+n+",top="+r+","+"width="+t.width+",height="+t.height+",personalbar=0,toolbar=0,scrollbars=1,resizable=1");i?i.focus():location.href=e}},e(function(){e(".social-likes").socialLikes()})}); \ No newline at end of file +/*! Social Likes v2.0.4 by Artem Sapegin - http://sapegin.github.com/social-likes - Licensed MIT */ +(function(e){typeof define=="function"&&define.amd?define(["jquery"],e):e(jQuery)})(function(e){"use strict";function s(e){this.container=e,this.init()}function o(t,n){this.widget=t,this.options=e.extend({},n),this.detectService(),this.service&&this.init()}function u(e,t){return a(e,t,encodeURIComponent)}function a(e,t,n){return e.replace(/\{([^\}]+)\}/g,function(e,r){return r in t?n?n(t[r]):t[r]:e})}function f(e,n){var r=t+e;return r+" "+r+"_"+n}function l(t){function r(o){if(o.type==="keydown"&&o.which!==27||e(o.target).closest(t).length)return;t.fadeOut(n),i.off(s,r)}var i=e(document),s="click touchstart keydown";i.on(s,r)}function c(e,t){if(document.documentElement.getBoundingClientRect){var r=parseInt(e.css("left"),10),i=parseInt(e.css("top"),10);e.css("visibility","hidden").show();var s=e[0].getBoundingClientRect();s.leftwindow.innerWidth-t&&e.css("left",window.innerWidth-s.right-t+r),s.topwindow.innerHeight-t&&e.css("top",window.innerHeight-s.bottom-t+i),e.hide().css("visibility","visible")}e.fadeIn(n)}var t="social-likes__",n="fast",r={facebook:{counterUrl:"http://graph.facebook.com/?ids={url}&callback=?",convertNumber:function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t].shares},popupUrl:"http://www.facebook.com/sharer/sharer.php?u={url}",pupupWidth:600,popupHeight:500},twitter:{counterUrl:"http://urls.api.twitter.com/1/urls/count.json?url={url}&callback=?",convertNumber:function(e){return e.count},popupUrl:"http://twitter.com/intent/tweet?url={url}&text={title}",pupupWidth:600,popupHeight:450,click:function(){return/[\.:\-–—]\s*$/.test(this.options.pageTitle)||(this.options.pageTitle+=":"),!0}},mailru:{counterUrl:"http://connect.mail.ru/share_count?url_list={url}&callback=1&func=?",convertNumber:function(e){for(var t in e)if(e.hasOwnProperty(t))return e[t].shares},popupUrl:"http://connect.mail.ru/share?share_url={url}&title={title}",pupupWidth:550,popupHeight:360},vkontakte:{counterUrl:"http://vkontakte.ru/share.php?act=count&url={url}&index={index}",counter:function(t,n){var i=r.vkontakte;i._||(i._=[],window.VK||(window.VK={}),window.VK.Share={count:function(e,t){i._[e].resolve(t)}});var s=i._.length;i._.push(n),e.ajax({url:u(t,{index:s}),dataType:"jsonp"})},popupUrl:"http://vk.com/share.php?url={url}&title={title}",pupupWidth:550,popupHeight:330},odnoklassniki:{counterUrl:"http://www.odnoklassniki.ru/dk?st.cmd=extLike&ref={url}&uid={index}",counter:function(t,n){var i=r.odnoklassniki;i._||(i._=[],window.ODKL||(window.ODKL={}),window.ODKL.updateCount=function(e,t){i._[e].resolve(t)});var s=i._.length;i._.push(n),e.ajax({url:u(t,{index:s}),dataType:"jsonp"})},popupUrl:"http://www.odnoklassniki.ru/dk?st.cmd=addShare&st._surl={url}",pupupWidth:550,popupHeight:360},plusone:{popupUrl:"https://plus.google.com/share?url={url}",pupupWidth:700,popupHeight:500},code:{click:function(r){var i=this._codeBalloon;if(i){if(i.is(":visible")){i.fadeOut(n);return}}else i=e(a('
    {prompt}
    ',{block:t+"balloon",prompt:this.widget.data("prompt")||"Copy code to clipboard:",html:this.options.pageHtml})),this.widget.append(i),this._codeBalloon=i,i.hide();i.fadeIn(n),i.find("textarea").select();if(i.is(":visible")){var s=t+"balloon_right";i.removeClass(s),i.offset().left<0&&i.addClass(s),l(i)}}},livejournal:{click:function(t){var n=this._livejournalForm;if(!n){var r=this.options.pageHtml.replace(/&/g,"&").replace(/"/g,""");n=e(a('
    ',{title:this.options.pageTitle,html:r})),this.widget.append(n),this._livejournalForm=n}n.submit()}}},i={promises:{},fetch:function(t,n,s){i.promises[t]||(i.promises[t]={});var o=i.promises[t];if(o[n])return o[n];var a=e.extend({},r[t],s),f=e.Deferred(),l=a.counterUrl&&u(a.counterUrl,{url:n});return e.isFunction(a.counter)?a.counter(l,f):a.counterUrl&&e.getJSON(l).done(function(t){try{var n=t;e.isFunction(a.convertNumber)&&(n=a.convertNumber(t)),f.resolve(n)}catch(r){f.reject(r)}}),o[n]=f.promise(),o[n]}};e.fn.socialLikes=function(){return this.each(function(){new s(e(this))})},s.prototype={optionsMap:{pageUrl:{attr:"url",defaultValue:function(){return window.location.href.replace(window.location.hash,"")}},pageTitle:{attr:"title",defaultValue:function(){return document.title}},pageHtml:{attr:"html",defaultValue:function(){return''+this.options.pageTitle+""}},pageCounters:{attr:"counters",defaultValue:"yes",convert:function(e){return e==="yes"}}},init:function(){this.readOptions(),this.single=this.container.hasClass("social-likes_single"),this.initUserButtons(),this.single&&(this.makeSingleButton(),this.container.on("counter.social-likes",e.proxy(this.updateCounter,this)));var t=this.options;this.container.find("li").each(function(){new o(e(this),t)})},readOptions:function(){this.options={};for(var t in this.optionsMap){var n=this.optionsMap[t];this.options[t]=this.container.data(n.attr)||(e.isFunction(n.defaultValue)?e.proxy(n.defaultValue,this)():n.defaultValue),e.isFunction(n.convert)&&(this.options[t]=n.convert(this.options[t]))}},initUserButtons:function(){!this.userButtonInited&&window.socialLikesButtons&&e.extend(r,socialLikesButtons),this.userButtonInited=!0},makeSingleButton:function(){var r=this.container;r.addClass("social-likes_vertical"),r.wrap(e("
    ",{"class":"social-likes_single-w"}));var i=r.parent(),s=parseInt(r.css("left"),10),o=parseInt(r.css("top"),10);r.hide();var u=e("
    ",{"class":f("button","single"),text:r.data("single-title")||"Share"});u.prepend(e("",{"class":f("icon","single")})),i.append(u);var a=e("
  • ",{"class":t+"close",html:"×"});r.append(a),this.number=0,u.click(function(){return r.css({left:s,top:o}),c(r,20),l(r),!1}),a.click(function(){r.fadeOut(n)}),this.wrapper=i},updateCounter:function(e,t){if(!t)return;this.number+=t,this.getCounterElem().text(this.number)},getCounterElem:function(){var n=this.wrapper.find("."+t+"counter_single");return n.length||(n=e("",{"class":f("counter","single")}),this.wrapper.append(n)),n}},o.prototype={init:function(){this.detectParams(),this.initHtml();if(this.options.pageCounters)if(this.options.counterNumber)this.updateCounter(this.options.counterNumber);else{var t=this.options.counterUrl?{counterUrl:this.options.counterUrl}:{};i.fetch(this.service,this.options.pageUrl,t).done(e.proxy(this.updateCounter,this))}},detectService:function(){var t=this.widget[0].classList||this.widget[0].className.split(" ");for(var n=0;n":"",{"class":this.getElementClassNames("button"),text:n.text()});if(r){var o=u(t.clickUrl,{url:t.pageUrl,title:t.pageTitle});s.attr("href",o)}else s.click(e.proxy(this.click,this));s.prepend(e("",{"class":this.getElementClassNames("icon")})),n.empty().append(s),this.button=s},cloneDataAttrs:function(e,t){var n=e.data();for(var r in n)n.hasOwnProperty(r)&&t.data(r,n[r])},getElementClassNames:function(e){return f(e,this.service)},updateCounter:function(t){t=parseInt(t,10);if(!t)return;var n=e("",{"class":this.getElementClassNames("counter"),text:t});this.widget.append(n),this.widget.trigger("counter.social-likes",t)},click:function(t){var n=this.options,r=!0;e.isFunction(n.click)&&(r=n.click.call(this,t));if(r){var i=u(n.popupUrl,{url:n.pageUrl,title:n.pageTitle});i=this.addAdditionalParamsToUrl(i),this.openPopup(i,{width:n.pupupWidth,height:n.popupHeight})}return!1},addAdditionalParamsToUrl:function(t){var n=e.param(this.widget.data());if(!n)return t;var r=t.indexOf("?")===-1?"?":"&";return t+r+n},openPopup:function(e,t){var n=Math.round(screen.width/2-t.width/2),r=0;screen.height>t.height&&(r=Math.round(screen.height/3-t.height/2));var i=window.open(e,"sl_"+this.service,"left="+n+",top="+r+","+"width="+t.width+",height="+t.height+",personalbar=0,toolbar=0,scrollbars=1,resizable=1");i?i.focus():location.href=e}},e(function(){e(".social-likes").socialLikes()})}); \ No newline at end of file