twitter fixed

This commit is contained in:
khaydarov 2017-01-26 17:29:14 +03:00
parent 174f7d1a2b
commit 68d2f8fb1e
2 changed files with 41 additions and 43 deletions

View file

@ -75,16 +75,11 @@
}, },
paste: { paste: {
type: 'paste', type: 'paste',
iconClassname: '',
prepare: paste.prepare, prepare: paste.prepare,
make: paste.make, make: paste.make,
appendCallback: null,
settings: null,
render: null,
save: paste.save, save: paste.save,
enableLineBreaks: false, enableLineBreaks: false,
callbacks: paste.pasted, callbacks: paste.pasted
allowedToPaste: false
}, },
code: { code: {
type: 'code', type: 'code',
@ -170,15 +165,12 @@
type: 'twitter', type: 'twitter',
iconClassname: 'ce-icon-twitter', iconClassname: 'ce-icon-twitter',
prepare: twitter.prepare, prepare: twitter.prepare,
make: twitter.make,
appendCallback: null,
settings: null,
render: twitter.render, render: twitter.render,
validate: twitter.validate, validate: twitter.validate,
save: twitter.save, save: twitter.save,
displayInToolbox: false, config : {
enableLineBreaks: false, fetchUrl : ''
allowedToPaste: false }
}, },
embed: { embed: {
type: 'embed', type: 'embed',

View file

@ -21,16 +21,16 @@ var twitter = (function(twitter) {
if (codex.content.currentNode) { if (codex.content.currentNode) {
tweet.dataset.statusUrl = data.status_url; 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 * in case if we need extra data
*/ */
if (!data.user) { if ( !data.user ) {
codex.core.ajax({ codex.core.ajax({
url : '/writing/tweetInfo?tweetId=' + data.id_str, url : twitter.config.fetchUrl + '?tweetId=' + data.id_str,
type: "GET", type: "GET",
success: function(result) { success: function(result) {
methods.saveTwitterData(result, tweet); methods.saveTwitterData(result, tweet);
@ -43,7 +43,7 @@ var twitter = (function(twitter) {
tweet.dataset.profileImageUrlHttps = data.user.profile_image_url_https; tweet.dataset.profileImageUrlHttps = data.user.profile_image_url_https;
tweet.dataset.screenName = data.user.screen_name; tweet.dataset.screenName = data.user.screen_name;
tweet.dataset.name = data.user.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.idStr = data.id_str;
tweet.dataset.text = data.text; tweet.dataset.text = data.text;
tweet.dataset.createdAt = data.created_at; tweet.dataset.createdAt = data.created_at;
@ -62,9 +62,10 @@ var twitter = (function(twitter) {
}, },
saveTwitterData : function(result, tweet) { saveTwitterData : function(result, tweet) {
var data = JSON.parse(result), var data = JSON.parse(result),
twitterContent = tweet; twitterContent = tweet;
setTimeout(function() { setTimeout(function() {
/** /**
@ -74,7 +75,7 @@ var twitter = (function(twitter) {
twitterContent.dataset.profileImageUrlHttps = data.user.profile_image_url_https; twitterContent.dataset.profileImageUrlHttps = data.user.profile_image_url_https;
twitterContent.dataset.screenName = data.user.screen_name; twitterContent.dataset.screenName = data.user.screen_name;
twitterContent.dataset.name = data.user.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.idStr = data.id_str;
twitterContent.dataset.text = data.text; twitterContent.dataset.text = data.text;
twitterContent.dataset.createdAt = data.created_at; twitterContent.dataset.createdAt = data.created_at;
@ -90,10 +91,15 @@ var twitter = (function(twitter) {
/** /**
* Prepare twitter scripts * Prepare twitter scripts
*/ */
twitter.prepare = function() { twitter.prepare = function(config) {
var script = "//platform.twitter.com/widgets.js"; var script = "//platform.twitter.com/widgets.js";
/**
* Save configs
*/
twitter.config = config;
/** /**
* Load script * 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) if (!data.id || !data.status_url)
return; return;
if (!data.id_str && typeof(data.id) === 'number') { if (!data.id_str) {
data.id_str = data.status_url.match(/[^\/]+$/)[0]; data.id_str = data.status_url.match(/[^\/]+$/)[0];
} }
@ -146,14 +158,9 @@ var twitter = (function(twitter) {
}; };
twitter.render = function(data) { 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) { twitter.urlPastedCallback = function(url) {
var tweetId, var tweetId,
@ -165,25 +172,24 @@ var twitter = (function(twitter) {
/** Example */ /** Example */
data = { data = {
media:true, "media" : true,
conversation:false, "conversation" : false,
user:{ "user" : null,
profile_image_url:"http:\/\/pbs.twimg.com\/profile_images\/1817165982\/nikita-likhachev-512_normal.jpg", "id" : +tweetId,
profile_image_url_https:"https:\/\/pbs.twimg.com\/profile_images\/1817165982\/nikita-likhachev-512_normal.jpg", "text" : null,
screen_name:"Niketas", "created_at" : null,
name:"Никита Лихачёв" "status_url" : url,
}, "caption" : null
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"
}; };
codex.tools.twitter.make(data); make_(data);
} };
return twitter; return twitter;
})({}); })({});