mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-04-17 12:15:47 +02:00
Fix {ajax} token resolve order in template plugin
This commit is contained in:
parent
2e4cb12817
commit
d980e09e0f
@ -153,17 +153,22 @@ enabled(){
|
|||||||
return [ contents, data ];
|
return [ contents, data ];
|
||||||
};
|
};
|
||||||
|
|
||||||
var doAjaxRequest = (url, evaluator) => {
|
var doAjaxRequest = (index, url, evaluator) => {
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
if (!url){
|
||||||
|
resolve([ index, "{ajax}" ]);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
$.get(url, function(data){
|
$.get(url, function(data){
|
||||||
if (evaluator){
|
if (evaluator){
|
||||||
resolve(eval(evaluator.replace(/\$/g, "'"+data.replace(/(["'\\\n\r\u2028\u2029])/g, "\\$1")+"'")));
|
resolve([ index, eval(evaluator.replace(/\$/g, "'"+data.replace(/(["'\\\n\r\u2028\u2029])/g, "\\$1")+"'"))]);
|
||||||
}
|
}
|
||||||
else{
|
else{
|
||||||
resolve(data);
|
resolve([ index, data ]);
|
||||||
}
|
}
|
||||||
}, "text").fail(function(){
|
}, "text").fail(function(){
|
||||||
resolve("");
|
resolve([ index, "" ]);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
@ -205,23 +210,8 @@ enabled(){
|
|||||||
url = evaluator;
|
url = evaluator;
|
||||||
evaluator = null;
|
evaluator = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!url){
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
promises.push(doAjaxRequest(url, evaluator).then(result => {
|
promises.push(doAjaxRequest(index2, url, evaluator));
|
||||||
const placeholderLen = 5; // "(...)".length
|
|
||||||
|
|
||||||
let diff = result.length-placeholderLen;
|
|
||||||
let realIndex = indexOffset+index2;
|
|
||||||
|
|
||||||
let val = ele.val();
|
|
||||||
ele.val(val.substring(0, realIndex)+result+val.substring(realIndex+placeholderLen));
|
|
||||||
|
|
||||||
indexOffset += diff;
|
|
||||||
}));
|
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -232,7 +222,20 @@ enabled(){
|
|||||||
|
|
||||||
ele.prop("disabled", true);
|
ele.prop("disabled", true);
|
||||||
|
|
||||||
Promise.all(promises).then(() => {
|
Promise.all(promises).then(values => {
|
||||||
|
const placeholderLen = 5; // "(...)".length
|
||||||
|
let indexOffset = 0;
|
||||||
|
|
||||||
|
for(let value of values){
|
||||||
|
let diff = value[1].length-placeholderLen;
|
||||||
|
let realIndex = indexOffset+value[0];
|
||||||
|
|
||||||
|
let val = ele.val();
|
||||||
|
ele.val(val.substring(0, realIndex)+value[1]+val.substring(realIndex+placeholderLen));
|
||||||
|
|
||||||
|
indexOffset += diff;
|
||||||
|
}
|
||||||
|
|
||||||
ele.prop("disabled", false);
|
ele.prop("disabled", false);
|
||||||
ele.focus();
|
ele.focus();
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user