react-vk
Version:
VK API bindings for React
3 lines (2 loc) • 9.43 kB
JavaScript
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("react")):"function"==typeof define&&define.amd?define(["exports","react"],t):t((e=e||self).ReactVK={},e.React)}(this,function(e,t){"use strict";var n="default"in t?t.default:t;function i(e,t){for(var n=0;n<t.length;n++){var i=t[n];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(e,i.key,i)}}function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function r(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=[],i=!0,o=!1,r=void 0;try{for(var s,u=e[Symbol.iterator]();!(i=(s=u.next()).done)&&(n.push(s.value),!t||n.length!==t);i=!0);}catch(e){o=!0,r=e}finally{try{i||null==u.return||u.return()}finally{if(o)throw r}}return n}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}var s=n.createContext(null),u=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.apiId=t,this.options=n,this.promise=null,this.load()}var t,n,o;return t=e,(n=[{key:"init",value:function(){var e=this.apiId,t=this.options.onlyWidgets;e&&window.VK.init({apiId:e,onlyWidgets:t})}},{key:"load",value:function(){var e=this,t=this.options.version;return this.promise?this.promise:(this.promise=new Promise(function(n){window.VK&&window.VK.init?(e.init(),n(window.VK)):window.vkAsyncInit=function(){e.init(),n(window.VK)};var i="https://vk.com/js/api/openapi.js?".concat(t);if(!document.getElementById("vk-openapi")){var o=document.createElement("script");o.type="text/javascript",o.id="vk-openapi",o.src=i,o.async=!0,document.head.appendChild(o)}}),this.promise)}}])&&i(t.prototype,n),o&&i(t,o),e}(),d="undefined"!=typeof window&&window.document&&window.document.createElement,c=function(e){var i=e.onApiAvailable,o=e.apiId,c=e.options,a=e.children,l=r(t.useState(null),2),f=l[0],m=l[1];return t.useEffect(function(){d&&new u(o,c).load().then(function(e){i(e),m(e)})},[]),f?n.createElement(s.Provider,{value:f},a):null};c.defaultProps={apiId:null,options:{version:160,onlyWidgets:!0},onApiAvailable:function(){}};var a=function(e){var i=e.elementId,o=e.options,r=e.groupId,u=e.onAllow,d=e.onDeny,c=t.useContext(s);return t.useEffect(function(){return c.Widgets.AllowMessagesFromCommunity(i,o,r),c.Observer.subscribe("widgets.allowMessagesFromCommunity.allowed",function(e){return u(e)}),c.Observer.subscribe("widgets.allowMessagesFromCommunity.denied",function(e){return d(e)}),function(){return c.Observer.unsubscribe("widgets.allowMessagesFromCommunity.allowed")}},[]),n.createElement("div",{id:i})};a.defaultProps={elementId:"vk_allow_messages_from_community",options:{height:24},onAllow:function(){},onDeny:function(){}};var l=function(e){var i=e.elementId,o=e.appId,r=e.options,u=t.useContext(s);return t.useEffect(function(){u.Widgets.App(i,o,r)},[]),n.createElement("div",{id:i})};l.defaultProps={elementId:"vk_app",options:{mode:1}};var f=function(e){var i=e.elementId,r=e.options,u=t.useContext(s);return t.useEffect(function(){var e=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},i=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(i=i.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),i.forEach(function(t){o(e,t,n[t])})}return e}({},r);e.onAuth=function(e,t,n,i,o,s){return r.onAuth(e,t,n,i,o,s)},u.Widgets.Auth(i,e)},[]),n.createElement("div",{id:i})};f.defaultProps={elementId:"vk_auth",options:{width:300,onAuth:function(){}}};var m=function(e){var i=e.elementId,o=e.options,r=e.pageId,u=e.onNewComment,d=e.onDeleteComment,c=t.useContext(s);return t.useEffect(function(){return c.Widgets.Comments(i,o,r),c.Observer.subscribe("widgets.comments.new_comment",function(e,t,n,i){return u(e,t,n,i)}),c.Observer.subscribe("widgets.comments.delete_comment",d),function(){c.Observer.unsubscribe("widgets.comments.new_comment"),c.Observer.unsubscribe("widgets.comments.delete_comment")}},[]),n.createElement("div",{id:i})};m.defaultProps={elementId:"vk_comments",options:{height:0,limit:10,attach:"*",autoPublish:0,mini:"auto",norealtime:0},pageId:null,onNewComment:function(){},onDeleteComment:function(){}};var p=function(e){var i=e.elementId,o=e.options,r=t.useContext(s);return t.useEffect(function(){r.Widgets.CommentsBrowse(i,o)},[]),n.createElement("div",{id:i})};p.defaultProps={elementId:"vk_comments_browse",options:{height:0,limit:10,mini:"auto",norealtime:0}};var v=function(e){var i=e.elementId,o=e.groupId,r=e.options,u=e.onMount,d=t.useContext(s);return t.useEffect(function(){var e=d.Widgets.CommunityMessages(i,o,r);u(e,i)},[]),n.createElement("div",{id:i})};v.defaultProps={elementId:"vk_community_messages",options:{onCanNotWrite:function(){},welcomeScreen:1,expandTimeout:0,expanded:0,widgetPosition:"right",buttonType:"blue_circle",disableButtonTooltip:0},onMount:function(){}};var b=function(e){var i=e.elementId,o=e.options,r=e.ownerId,u=t.useContext(s);return t.useEffect(function(){u.Widgets.ContactUs(i,o,-r)},[]),n.createElement("div",{id:i})};b.defaultProps={elementId:"vk_contact_us",options:{height:24}};var w=function(e){var i=e.elementId,o=e.options,r=e.groupId,u=e.onJoin,d=e.onLeave,c=t.useContext(s);return t.useEffect(function(){return c.Widgets.Group(i,o,r),c.Observer.subscribe("widgets.groups.joined",u),c.Observer.subscribe("widgets.groups.leaved",d),function(){c.Observer.unsubscribe("widgets.groups.joined"),c.Observer.unsubscribe("widgets.groups.leaved")}},[]),n.createElement("div",{id:i})};w.defaultProps={elementId:"vk_groups",options:{width:"auto",mode:3,no_cover:1,wide:1},onJoin:function(){},onLeave:function(){}};var g=function(e){var i=e.elementId,o=e.options,r=e.pageId,u=e.onLike,d=e.onUnlike,c=e.onShare,a=e.onUnshare,l=t.useContext(s);return t.useEffect(function(){return r?l.Widgets.Like(i,o,r):l.Widgets.Like(i,o),l.Observer.subscribe("widgets.like.liked",function(e){return u(e)}),l.Observer.subscribe("widgets.like.unliked",function(e){return d(e)}),l.Observer.subscribe("widgets.like.shared",function(e){return c(e)}),l.Observer.subscribe("widgets.like.unshared",function(e){return a(e)}),function(){l.Observer.unsubscribe("widgets.like.liked"),l.Observer.unsubscribe("widgets.like.unliked"),l.Observer.unsubscribe("widgets.like.shared"),l.Observer.unsubscribe("widgets.like.unshared")}},[]),n.createElement("div",{id:i})};g.defaultProps={elementId:"vk_like",options:{type:"full",width:350,height:22,verb:0},pageId:null,onLike:function(){},onUnlike:function(){},onShare:function(){},onUnshare:function(){}};var h=function(e){var i=e.elementId,o=e.ownerId,r=e.playlistId,u=e.hash,d=e.options,c=t.useContext(s);return t.useEffect(function(){c.Widgets.Playlist(i,-o,r,u,d)},[]),n.createElement("div",{id:i})};h.defaultProps={elementId:"vk_playlist",options:{}};var y=function(e){var i=e.elementId,o=e.options,r=e.pollId,u=t.useContext(s);return t.useEffect(function(){u.Widgets.Poll(i,o,r)},[]),n.createElement("div",{id:i})};y.defaultProps={elementId:"vk_poll",options:{height:24}};var I=function(e){var i=e.elementId,o=e.ownerId,r=e.postId,u=e.hash,d=e.options,c=t.useContext(s);return t.useEffect(function(){c.Widgets.Post(i,o,r,u,d)},[]),n.createElement("div",{id:i})};I.defaultProps={elementId:"vk_post",options:{}};var k=function(e){var i=e.elementId,o=e.options,r=t.useContext(s);return t.useEffect(function(){r.Widgets.Recommended(i,o)},[]),n.createElement("div",{id:i})};k.defaultProps={elementId:"vk_recommend",options:{limit:5,max:20,period:"week",sort:"friend_like",target:"parent"}};var E=function(e){var i=e.shareOptions,o=e.buttonOptions,r=n.createRef();return t.useEffect(function(){if(d)if(document.getElementById("vk-share"))window.VK.Share&&(r.current.innerHTML=window.VK.Share.button(i,o));else{var e=document.createElement("script");e.type="text/javascript",e.charset="windows-1251",e.id="vk-share",e.src="https://vk.com/js/api/share.js?93",e.async=!0,document.head.appendChild(e),e.addEventListener("load",function(){r.current.innerHTML=window.VK.Share.button(i,o)})}},[]),n.createElement("div",{ref:r})};E.defaultProps={shareOptions:null,buttonOptions:null};var C=function(e){var i=e.elementId,o=e.options,r=e.ownerId,u=e.onSubscribe,d=e.onUnsubscribe,c=t.useContext(s);return t.useEffect(function(){return c.Widgets.Subscribe(i,o,r),c.Observer.subscribe("widgets.subscribed",u),c.Observer.subscribe("widgets.unsubscribed",d),function(){c.Observer.unsubscribe("widgets.subscribed"),c.Observer.unsubscribe("widgets.unsubscribed")}},[]),n.createElement("div",{id:i})};C.defaultProps={elementId:"vk_subscribe",options:{mode:0,soft:0},onSubscribe:function(){},onUnsubscribe:function(){}};var O=function(e){var i=e.elementId,o=e.articleUrl,r=t.useContext(s);return t.useEffect(function(){r.Widgets.Article(i,o)},[]),n.createElement("div",{id:i})};O.defaultProps={elementId:"vk_article"},e.AllowMessagesFromCommunity=a,e.Application=l,e.Article=O,e.Auth=f,e.Comments=m,e.CommentsBrowse=p,e.CommunityMessages=v,e.ContactUs=b,e.Group=w,e.Like=g,e.Playlist=h,e.Poll=y,e.Post=I,e.Recommended=k,e.Share=E,e.Subscribe=C,e.default=c,Object.defineProperty(e,"__esModule",{value:!0})});
//# sourceMappingURL=react-vk.umd.production.min.js.map