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: {
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',

View file

@ -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;
})({});