mirror of
https://github.com/codex-team/editor.js
synced 2024-05-23 16:52:38 +02:00
twitter fixed
This commit is contained in:
parent
174f7d1a2b
commit
68d2f8fb1e
16
example.html
16
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',
|
||||
|
|
|
@ -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;
|
||||
|
||||
})({});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
Loading…
Reference in a new issue