diff --git a/example.html b/example.html index 53975e47..0632b092 100644 --- a/example.html +++ b/example.html @@ -75,16 +75,11 @@ }, paste: { type: 'paste', - iconClassname: '', prepare: paste.prepare, make: paste.make, - appendCallback: null, - settings: null, - render: null, save: paste.save, enableLineBreaks: false, - callbacks: paste.pasted, - allowedToPaste: false + callbacks: paste.pasted }, code: { type: 'code', @@ -170,15 +165,12 @@ type: 'twitter', iconClassname: 'ce-icon-twitter', prepare: twitter.prepare, - make: twitter.make, - appendCallback: null, - settings: null, render: twitter.render, validate: twitter.validate, save: twitter.save, - displayInToolbox: false, - enableLineBreaks: false, - allowedToPaste: false + config : { + fetchUrl : '' + } }, embed: { type: 'embed', diff --git a/plugins/twitter/twitter.js b/plugins/twitter/twitter.js index 7d3a2055..937f69d7 100644 --- a/plugins/twitter/twitter.js +++ b/plugins/twitter/twitter.js @@ -21,16 +21,16 @@ var twitter = (function(twitter) { if (codex.content.currentNode) { tweet.dataset.statusUrl = data.status_url; - codex.content.switchBlock(codex.content.currentNode, tweet, 'twitter'); + codex.content.switchBlock(codex.content.currentNode, tweet, 'tweet'); } /** * in case if we need extra data */ - if (!data.user) { + if ( !data.user ) { codex.core.ajax({ - url : '/writing/tweetInfo?tweetId=' + data.id_str, + url : twitter.config.fetchUrl + '?tweetId=' + data.id_str, type: "GET", success: function(result) { methods.saveTwitterData(result, tweet); @@ -43,7 +43,7 @@ var twitter = (function(twitter) { tweet.dataset.profileImageUrlHttps = data.user.profile_image_url_https; tweet.dataset.screenName = data.user.screen_name; tweet.dataset.name = data.user.name; - tweet.dataset.id = data.id; + tweet.dataset.id = +data.id; tweet.dataset.idStr = data.id_str; tweet.dataset.text = data.text; tweet.dataset.createdAt = data.created_at; @@ -62,9 +62,10 @@ var twitter = (function(twitter) { }, saveTwitterData : function(result, tweet) { + var data = JSON.parse(result), twitterContent = tweet; - + setTimeout(function() { /** @@ -74,7 +75,7 @@ var twitter = (function(twitter) { twitterContent.dataset.profileImageUrlHttps = data.user.profile_image_url_https; twitterContent.dataset.screenName = data.user.screen_name; twitterContent.dataset.name = data.user.name; - twitterContent.dataset.id = data.id; + twitterContent.dataset.id = +data.id; twitterContent.dataset.idStr = data.id_str; twitterContent.dataset.text = data.text; twitterContent.dataset.createdAt = data.created_at; @@ -90,10 +91,15 @@ var twitter = (function(twitter) { /** * Prepare twitter scripts */ - twitter.prepare = function() { + twitter.prepare = function(config) { var script = "//platform.twitter.com/widgets.js"; + /** + * Save configs + */ + twitter.config = config; + /** * Load script */ @@ -101,12 +107,18 @@ var twitter = (function(twitter) { }; - twitter.make = function(data) { + /** + * @private + * + * @param data + * @returns {*} + */ + make_ = function(data) { if (!data.id || !data.status_url) return; - if (!data.id_str && typeof(data.id) === 'number') { + if (!data.id_str) { data.id_str = data.status_url.match(/[^\/]+$/)[0]; } @@ -146,14 +158,9 @@ var twitter = (function(twitter) { }; twitter.render = function(data) { - return twitter.make(data); + return make_(data); }; - /** - * callback for twitter utl's coming from pasteTool - * Using Twittter Widget to render - * @param url - */ twitter.urlPastedCallback = function(url) { var tweetId, @@ -165,25 +172,24 @@ var twitter = (function(twitter) { /** Example */ data = { - media:true, - conversation:false, - user:{ - profile_image_url:"http:\/\/pbs.twimg.com\/profile_images\/1817165982\/nikita-likhachev-512_normal.jpg", - profile_image_url_https:"https:\/\/pbs.twimg.com\/profile_images\/1817165982\/nikita-likhachev-512_normal.jpg", - screen_name:"Niketas", - name:"Никита Лихачёв" - }, - id: tweetId, - text:"ВНИМАНИЕ ЧИТАТЬ ВСЕМ НЕ ДАЙ БОГ ПРОПУСТИТЕ НУ ИЛИ ХОТЯ БЫ КЛИКНИ И ПОДОЖДИ 15 СЕКУНД https:\/\/t.co\/iWyOHf4xr2", - created_at:"Tue Jun 28 14:09:12 +0000 2016", - status_url:"https:\/\/twitter.com\/Niketas\/status\/747793978511101953", - caption:"Caption" + "media" : true, + "conversation" : false, + "user" : null, + "id" : +tweetId, + "text" : null, + "created_at" : null, + "status_url" : url, + "caption" : null }; - codex.tools.twitter.make(data); - } - + make_(data); + }; return twitter; })({}); + + + + +