TheDesk Airi (ver.3)
This commit is contained in:
@@ -6,6 +6,8 @@ $("#emoji-next").addClass("disabled");
|
||||
//絵文字ボタンのトグル
|
||||
function emoji() {
|
||||
var acct_id = $("#post-acct-sel").val();
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
localStorage.setItem("cursor", selin);
|
||||
if ($("#emoji").hasClass("hide")) {
|
||||
$("#emoji").removeClass("hide")
|
||||
if (!localStorage.getItem("emoji_" + acct_id)) {
|
||||
@@ -102,9 +104,18 @@ function emojiList(target) {
|
||||
//絵文字など様々なものをテキストボックスに挿入
|
||||
function emojiInsert(code, del) {
|
||||
var now = $("#textarea").val();
|
||||
|
||||
var selin = localStorage.getItem("cursor");
|
||||
console.log(selin);
|
||||
var now = $("#textarea").val();
|
||||
if(selin>0){
|
||||
var before = now.substr(0, selin);
|
||||
var after = now.substr(selin, now.length);
|
||||
newt = before + " "+ code+" " + after;
|
||||
}else{
|
||||
newt = code+" ";
|
||||
}
|
||||
if (!del) {
|
||||
$("#textarea").val(now + " " + code);
|
||||
$("#textarea").val(newt);
|
||||
emoji();
|
||||
} else {
|
||||
var regExp = new RegExp(del, "g");
|
||||
|
@@ -18,6 +18,7 @@ function post() {
|
||||
var vis = $("#vis").text();
|
||||
if ($("#cw").hasClass("cw-avail")) {
|
||||
var spo = $("#cw-text").val();
|
||||
cw();
|
||||
} else {
|
||||
var spo = "";
|
||||
}
|
||||
|
@@ -1,5 +1,5 @@
|
||||
/*リプライ*/
|
||||
function re(id,at,acct_id){
|
||||
function re(id,at,acct_id,mode){
|
||||
show();
|
||||
$("#reply").val(id);
|
||||
var te=$("#textarea").val();
|
||||
@@ -8,4 +8,5 @@ function re(id,at,acct_id){
|
||||
$("#post-acct-sel").val(acct_id);
|
||||
$('select').material_select();
|
||||
$("#textarea").attr("placeholder","返信モードです。クリアするときはShift+Cを押してください。");
|
||||
vis(mode);
|
||||
}
|
@@ -19,11 +19,45 @@ function nsfw(){
|
||||
//投稿公開範囲
|
||||
function vis(set){
|
||||
$("#vis").text(set);
|
||||
$("#vis-icon").removeClass("red");
|
||||
$("#vis-icon").removeClass("orange");
|
||||
$("#vis-icon").removeClass("blue");
|
||||
$("#vis-icon").removeClass("purple");
|
||||
if(set=="public"){
|
||||
$("#vis-icon i").text("public");
|
||||
$("#vis-icon").addClass("purple");
|
||||
}else if(set=="unlisted"){
|
||||
$("#vis-icon i").text("lock_open");
|
||||
$("#vis-icon").addClass("blue");
|
||||
}else if(set=="private"){
|
||||
$("#vis-icon i").text("lock");
|
||||
$("#vis-icon").addClass("orange");
|
||||
}else if(set=="direct"){
|
||||
$("#vis-icon i").text("mail");
|
||||
$("#vis-icon").addClass("red");
|
||||
}
|
||||
var vis=localStorage.getItem("vis");
|
||||
if(vis=="memory"){
|
||||
localStorage.setItem("vis-memory",set);
|
||||
}
|
||||
}
|
||||
function loadVis(){
|
||||
var vist = localStorage.getItem("vis");
|
||||
if (!vist) {
|
||||
vis("public");
|
||||
} else {
|
||||
if (vist == "memory") {
|
||||
var memory = localStorage.getItem("vis-memory");
|
||||
if (!memory) {
|
||||
memory = "public";
|
||||
}
|
||||
vis(memory);
|
||||
} else {
|
||||
vis(vist);
|
||||
}
|
||||
}
|
||||
}
|
||||
loadVis();
|
||||
|
||||
//コンテンツワーニング
|
||||
function cw(){
|
||||
|
@@ -16,7 +16,7 @@ input.addEventListener("focus", function() {
|
||||
var acct = new_val.match(/@(\S{3,})/);
|
||||
if (tag && tag[1]) {
|
||||
var q = tag[1];
|
||||
} else if (acct[1]) {
|
||||
} else if (acct && acct[1]) {
|
||||
var q = acct[1];
|
||||
} else {
|
||||
$("#suggest").html("");
|
||||
@@ -43,7 +43,7 @@ input.addEventListener("focus", function() {
|
||||
var tags = "";
|
||||
Object.keys(json.hashtags).forEach(function(key4) {
|
||||
var tag = json.hashtags[key4];
|
||||
tags = tags + '<a onclick="emojiInsert(\'#' + tag + '\',\'#' + q +
|
||||
tags = tags + '<a onclick="tagInsert(\'#' + tag + '\',\'#' + q +
|
||||
'\')" class="pointer">#' + tag + '</a> ';
|
||||
});
|
||||
$("#suggest").html("Tags:" + tags);
|
||||
@@ -51,7 +51,7 @@ input.addEventListener("focus", function() {
|
||||
var accts = "";
|
||||
Object.keys(json.accounts).forEach(function(key3) {
|
||||
var acct = json.accounts[key3];
|
||||
accts = accts + '<a onclick="emojiInsert(\'@' + acct.acct +
|
||||
accts = accts + '<a onclick="tagInsert(\'@' + acct.acct +
|
||||
'\',\'@' + q + '\')" class="pointer">@' + acct.acct + '</a> ';
|
||||
});
|
||||
$("#suggest").html("@:" + accts);
|
||||
@@ -70,3 +70,23 @@ input.addEventListener("blur", function() {
|
||||
window.clearInterval(timer);
|
||||
favTag();
|
||||
}, false);
|
||||
function tagInsert(code, del) {
|
||||
var now = $("#textarea").val();
|
||||
var selin = $("#textarea").prop('selectionStart');
|
||||
if (!del) {
|
||||
} else {
|
||||
var regExp = new RegExp(del, "g");
|
||||
var now = now.replace(regExp, "");
|
||||
selin=selin-del.length;
|
||||
}
|
||||
if(selin>0){
|
||||
var before = now.substr(0, selin);
|
||||
var after = now.substr(selin, now.length);
|
||||
newt = before + " "+ code+" " + after;
|
||||
}else{
|
||||
newt = code+" "+now;
|
||||
}
|
||||
$("#textarea").val(newt);
|
||||
$("#textarea").focus();
|
||||
$("#suggest").html("");
|
||||
}
|
Reference in New Issue
Block a user