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