add: draft
This commit is contained in:
parent
7d9ab19eef
commit
f2a4900f18
|
@ -64,9 +64,10 @@ textarea {
|
||||||
}
|
}
|
||||||
#emoji {
|
#emoji {
|
||||||
}
|
}
|
||||||
#suggest {
|
#suggest, #draft {
|
||||||
max-height: 23rem;
|
max-height: 23rem;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
overflow-x: hidden;
|
||||||
}
|
}
|
||||||
#emoji-list {
|
#emoji-list {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
|
@ -23,6 +23,7 @@ function emojiToggle(reaction) {
|
||||||
}
|
}
|
||||||
$('#post-box').css('width', width + 'px')
|
$('#post-box').css('width', width + 'px')
|
||||||
$('#suggest').html('')
|
$('#suggest').html('')
|
||||||
|
$('#draft').html('')
|
||||||
if (!localStorage.getItem('emojis_' + acct_id)) {
|
if (!localStorage.getItem('emojis_' + acct_id)) {
|
||||||
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet('true');">${lang.lang_emoji_get}</button>`
|
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="emojiGet('true');">${lang.lang_emoji_get}</button>`
|
||||||
$('#emoji-list').html(html)
|
$('#emoji-list').html(html)
|
||||||
|
@ -31,10 +32,12 @@ function emojiToggle(reaction) {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
$('#poll').addClass('hide')
|
$('#poll').addClass('hide')
|
||||||
|
$('#draft').addClass('hide')
|
||||||
$('#right-side').hide()
|
$('#right-side').hide()
|
||||||
$('#right-side').css('width', '300px')
|
$('#right-side').css('width', '300px')
|
||||||
$('#emoji').addClass('hide')
|
$('#emoji').addClass('hide')
|
||||||
$('#suggest').html('')
|
$('#suggest').html('')
|
||||||
|
$('#draft').html('')
|
||||||
$('#left-side').css('width', '100%')
|
$('#left-side').css('width', '100%')
|
||||||
var width = localStorage.getItem('postbox-width')
|
var width = localStorage.getItem('postbox-width')
|
||||||
if (width) {
|
if (width) {
|
||||||
|
|
|
@ -9,7 +9,7 @@ function sec() {
|
||||||
}
|
}
|
||||||
post(null, mode)
|
post(null, mode)
|
||||||
}
|
}
|
||||||
function post(mode, postvis) {
|
function post(mode, postvis, dry) {
|
||||||
if ($('#toot-post-btn').prop('disabled')) {
|
if ($('#toot-post-btn').prop('disabled')) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
@ -159,6 +159,13 @@ function post(mode, postvis) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
console.table(toot)
|
console.table(toot)
|
||||||
|
if (dry) {
|
||||||
|
$('#ideKey').val('')
|
||||||
|
$('.toot-btn-group').prop('disabled', false)
|
||||||
|
todc()
|
||||||
|
toot['TheDeskAcctId'] = acct_id
|
||||||
|
return toot
|
||||||
|
}
|
||||||
var httpreq = new XMLHttpRequest()
|
var httpreq = new XMLHttpRequest()
|
||||||
httpreq.open('POST', start, true)
|
httpreq.open('POST', start, true)
|
||||||
httpreq.setRequestHeader('Content-Type', 'application/json')
|
httpreq.setRequestHeader('Content-Type', 'application/json')
|
||||||
|
|
|
@ -126,3 +126,79 @@ function schedule() {
|
||||||
$('#sch-box').addClass('sch-avail')
|
$('#sch-box').addClass('sch-avail')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//下書き機能
|
||||||
|
function draftToggle() {
|
||||||
|
if ($('#draft').hasClass('hide')) {
|
||||||
|
$('#draft').removeClass('hide')
|
||||||
|
$('#right-side').show()
|
||||||
|
$('#right-side').css('width', '300px')
|
||||||
|
$('#left-side').css('width', 'calc(100% - 300px)')
|
||||||
|
var width = localStorage.getItem('postbox-width')
|
||||||
|
if (width) {
|
||||||
|
width = width.replace('px', '') * 1 + 300
|
||||||
|
} else {
|
||||||
|
width = 600
|
||||||
|
}
|
||||||
|
$('#post-box').css('width', width + 'px')
|
||||||
|
$('#suggest').html('')
|
||||||
|
$('#draft').html('')
|
||||||
|
draftDraw()
|
||||||
|
} else {
|
||||||
|
$('#poll').addClass('hide')
|
||||||
|
$('#draft').addClass('hide')
|
||||||
|
$('#right-side').hide()
|
||||||
|
$('#right-side').css('width', '300px')
|
||||||
|
$('#emoji').addClass('hide')
|
||||||
|
$('#suggest').html('')
|
||||||
|
$('#draft').html('')
|
||||||
|
$('#left-side').css('width', '100%')
|
||||||
|
var width = localStorage.getItem('postbox-width')
|
||||||
|
if (width) {
|
||||||
|
width = width.replace('px', '') * 1
|
||||||
|
} else {
|
||||||
|
width = 300
|
||||||
|
}
|
||||||
|
$('#post-box').css('width', width + 'px')
|
||||||
|
}
|
||||||
|
}
|
||||||
|
function draftDraw() {
|
||||||
|
var draft = localStorage.getItem('draft')
|
||||||
|
var html = `<button class="btn waves-effect green" style="width:100%; padding:0; margin-top:0;" onclick="addToDraft();">${lang.lang_secure_draft}</button>`
|
||||||
|
if (draft) {
|
||||||
|
var draftObj = JSON.parse(draft)
|
||||||
|
for (let i = 0; i < draftObj.length; i++) {
|
||||||
|
var toot = draftObj[i]
|
||||||
|
html = html + `<div class="tootInDraft">
|
||||||
|
<i class="waves-effect gray material-icons" onclick="useThisDraft(${i})" title="${lang.lang_secure_userThis}">reply</i>
|
||||||
|
<i class="waves-effect gray material-icons" onclick="deleteThisDraft(${i})" title="${lang.lang_secure_deleteThis}">cancel</i>
|
||||||
|
${escapeHTML(toot.status).replace(/\n/, '').substr(0, 10)}
|
||||||
|
</div>`
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$('#draft').html(html)
|
||||||
|
}
|
||||||
|
function addToDraft() {
|
||||||
|
var json = post(null, null, true)
|
||||||
|
var draft = localStorage.getItem('draft')
|
||||||
|
var draftObj = []
|
||||||
|
if (draft) draftObj = JSON.parse(draft)
|
||||||
|
draftObj.push(json)
|
||||||
|
draft = JSON.stringify(draftObj)
|
||||||
|
localStorage.setItem('draft', draft)
|
||||||
|
draftDraw()
|
||||||
|
}
|
||||||
|
function useThisDraft(i) {
|
||||||
|
var draft = localStorage.getItem('draft')
|
||||||
|
var draftObj = JSON.parse(draft)
|
||||||
|
draftToPost(draftObj[i], draftObj[i]['TheDeskAcctId'], 0)
|
||||||
|
draftToggle()
|
||||||
|
}
|
||||||
|
function deleteThisDraft(i) {
|
||||||
|
var draft = localStorage.getItem('draft')
|
||||||
|
var draftObj = JSON.parse(draft)
|
||||||
|
draftObj.splice(i, 1)
|
||||||
|
draft = JSON.stringify(draftObj)
|
||||||
|
localStorage.setItem('draft', draft)
|
||||||
|
draftDraw()
|
||||||
|
}
|
|
@ -426,12 +426,20 @@ function redraft(id, acct_id) {
|
||||||
setLog(start, this.status, this.response)
|
setLog(start, this.status, this.response)
|
||||||
}
|
}
|
||||||
var json = httpreq.response
|
var json = httpreq.response
|
||||||
|
draftToPost(json, acct_id, id)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
function draftToPost(json, acct_id, id) {
|
||||||
$('#post-acct-sel').prop('disabled', true)
|
$('#post-acct-sel').prop('disabled', true)
|
||||||
$('#post-acct-sel').val(acct_id)
|
$('#post-acct-sel').val(acct_id)
|
||||||
$('select').formSelect()
|
$('select').formSelect()
|
||||||
mdCheck()
|
mdCheck()
|
||||||
var medias = $('[toot-id=' + id + ']').attr('data-medias')
|
var medias = $('[toot-id=' + id + ']').attr('data-medias')
|
||||||
var mediack = json.media_attachments[0]
|
mediack = null
|
||||||
|
if(json.media_attachments) mediack = json.media_attachments[0]
|
||||||
//メディアがあれば
|
//メディアがあれば
|
||||||
var media_ids = []
|
var media_ids = []
|
||||||
if (mediack) {
|
if (mediack) {
|
||||||
|
@ -448,16 +456,16 @@ function redraft(id, acct_id) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var vismode = $('[toot-id=' + id + '] .vis-data').attr('data-vis')
|
var vismode = json.visibility
|
||||||
vis(vismode)
|
vis(vismode)
|
||||||
var medias = media_ids.join(',');
|
var medias = media_ids.join(',')
|
||||||
$('#media').val(medias)
|
$('#media').val(medias)
|
||||||
localStorage.setItem('nohide', true)
|
localStorage.setItem('nohide', true)
|
||||||
show()
|
show()
|
||||||
if (json.text) {
|
if (json.text) {
|
||||||
var html = json.text
|
var html = json.text
|
||||||
} else {
|
} else {
|
||||||
var html = $('[toot-id=' + id + '] .toot').html()
|
var html = json.status
|
||||||
html = html.replace(/^<p>(.+)<\/p>$/, '$1')
|
html = html.replace(/^<p>(.+)<\/p>$/, '$1')
|
||||||
html = html.replace(/<br\s?\/?>/, '\n')
|
html = html.replace(/<br\s?\/?>/, '\n')
|
||||||
html = html.replace(/<p>/, '\n')
|
html = html.replace(/<p>/, '\n')
|
||||||
|
@ -479,10 +487,6 @@ function redraft(id, acct_id) {
|
||||||
$('#reply').val(json.in_reply_to_id)
|
$('#reply').val(json.in_reply_to_id)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
//ピン留め
|
//ピン留め
|
||||||
function pin(id, acct_id) {
|
function pin(id, acct_id) {
|
||||||
if ($(`.cvo[unique-id=${id}]`).hasClass('pined')) {
|
if ($(`.cvo[unique-id=${id}]`).hasClass('pined')) {
|
||||||
|
|
|
@ -18,7 +18,7 @@ input.addEventListener(
|
||||||
var new_val = input.value
|
var new_val = input.value
|
||||||
if (new_val == '') {
|
if (new_val == '') {
|
||||||
$('#suggest').html('')
|
$('#suggest').html('')
|
||||||
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) {
|
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
|
||||||
$('#right-side').hide()
|
$('#right-side').hide()
|
||||||
$('#right-side').css('width', '300px')
|
$('#right-side').css('width', '300px')
|
||||||
$('#left-side').css('width', '100%')
|
$('#left-side').css('width', '100%')
|
||||||
|
@ -41,7 +41,7 @@ input.addEventListener(
|
||||||
var q = acct[1]
|
var q = acct[1]
|
||||||
} else {
|
} else {
|
||||||
$('#suggest').html('')
|
$('#suggest').html('')
|
||||||
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) {
|
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
|
||||||
$('#right-side').hide()
|
$('#right-side').hide()
|
||||||
$('#right-side').css('width', '300px')
|
$('#right-side').css('width', '300px')
|
||||||
$('#left-side').css('width', '100%')
|
$('#left-side').css('width', '100%')
|
||||||
|
@ -138,6 +138,7 @@ input.addEventListener(
|
||||||
$('#post-box').css('width', width + 'px')
|
$('#post-box').css('width', width + 'px')
|
||||||
$('#poll').addClass('hide')
|
$('#poll').addClass('hide')
|
||||||
$('#emoji').addClass('hide')
|
$('#emoji').addClass('hide')
|
||||||
|
$('#draft').addClass('hide')
|
||||||
}
|
}
|
||||||
} else if (json.accounts[0] && acct[1]) {
|
} else if (json.accounts[0] && acct[1]) {
|
||||||
var accts = ''
|
var accts = ''
|
||||||
|
@ -165,8 +166,9 @@ input.addEventListener(
|
||||||
$('#suggest').html(accts)
|
$('#suggest').html(accts)
|
||||||
$('#poll').addClass('hide')
|
$('#poll').addClass('hide')
|
||||||
$('#emoji').addClass('hide')
|
$('#emoji').addClass('hide')
|
||||||
|
$('#draft').addClass('hide')
|
||||||
} else {
|
} else {
|
||||||
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) {
|
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
|
||||||
$('#right-side').hide()
|
$('#right-side').hide()
|
||||||
$('#right-side').css('width', '300px')
|
$('#right-side').css('width', '300px')
|
||||||
$('#left-side').css('width', '100%')
|
$('#left-side').css('width', '100%')
|
||||||
|
@ -226,7 +228,7 @@ function tagInsert(code, del) {
|
||||||
}
|
}
|
||||||
sentence = before + word + after
|
sentence = before + word + after
|
||||||
textarea.value = sentence
|
textarea.value = sentence
|
||||||
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide')) {
|
if ($('#poll').hasClass('hide') && $('#emoji').hasClass('hide') && $('#draft').hasClass('hide')) {
|
||||||
$('#right-side').hide()
|
$('#right-side').hide()
|
||||||
$('#right-side').css('width', '300px')
|
$('#right-side').css('width', '300px')
|
||||||
$('#left-side').css('width', '50%')
|
$('#left-side').css('width', '50%')
|
||||||
|
|
|
@ -25,6 +25,7 @@ function pollToggle() {
|
||||||
}
|
}
|
||||||
$('#post-box').css('width', width + 'px')
|
$('#post-box').css('width', width + 'px')
|
||||||
$('#emoji').addClass('hide')
|
$('#emoji').addClass('hide')
|
||||||
|
$('#draft').addClass('hide')
|
||||||
$('#poll').addClass('hide')
|
$('#poll').addClass('hide')
|
||||||
$('#pollsta').text(lang.lang_no)
|
$('#pollsta').text(lang.lang_no)
|
||||||
}
|
}
|
||||||
|
|
|
@ -278,6 +278,9 @@
|
||||||
<li>
|
<li>
|
||||||
<a onclick="pollToggle();">@@poll@@</a>
|
<a onclick="pollToggle();">@@poll@@</a>
|
||||||
</li>
|
</li>
|
||||||
|
<li>
|
||||||
|
<a onclick="draftToggle();">@@draft@@</a>
|
||||||
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<!--hidden area-->
|
<!--hidden area-->
|
||||||
<input type="hidden" id="reply" />
|
<input type="hidden" id="reply" />
|
||||||
|
@ -297,6 +300,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div id="right-side">
|
<div id="right-side">
|
||||||
<div id="suggest" class="right-side-content"></div>
|
<div id="suggest" class="right-side-content"></div>
|
||||||
|
<div id="draft" class="hide right-side-content"></div>
|
||||||
<!--絵文字ピッカー-->
|
<!--絵文字ピッカー-->
|
||||||
<div id="emoji" class="hide right-side-content">
|
<div id="emoji" class="hide right-side-content">
|
||||||
<span class="gray sml">@@emojiWarn@@
|
<span class="gray sml">@@emojiWarn@@
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
"thingsEmoji":"Emojis of tools",
|
"thingsEmoji":"Emojis of tools",
|
||||||
"symbolEmoji":"Emojis of symbols",
|
"symbolEmoji":"Emojis of symbols",
|
||||||
"flagsEmoji":"Emojis of flags",
|
"flagsEmoji":"Emojis of flags",
|
||||||
|
"draft": "Draft",
|
||||||
"poll":"Poll",
|
"poll":"Poll",
|
||||||
"pollDdisabled":"Polls: Disabled",
|
"pollDdisabled":"Polls: Disabled",
|
||||||
"pollProvider":"Provider of Poll",
|
"pollProvider":"Provider of Poll",
|
||||||
|
|
|
@ -87,6 +87,9 @@
|
||||||
"lang_status_endorse": "Feature on profile",
|
"lang_status_endorse": "Feature on profile",
|
||||||
"lang_status_followers": "Followers",
|
"lang_status_followers": "Followers",
|
||||||
"lang_status_active": "Last status",
|
"lang_status_active": "Last status",
|
||||||
|
"lang_secure_draft": "Add to draft",
|
||||||
|
"lang_secure_useThis": "Use this",
|
||||||
|
"lang_secure_deleteThis": "Delete this",
|
||||||
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
|
"lang_suggest_nodata": "Please get emojis list in order to show suggestion.",
|
||||||
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
|
"lang_usetxtbox_reply": "Reply Mode. Ctrl+Shift+C to clear.",
|
||||||
"lang_cards_check": " check",
|
"lang_cards_check": " check",
|
||||||
|
|
|
@ -43,6 +43,7 @@
|
||||||
"thingsEmoji":"もの",
|
"thingsEmoji":"もの",
|
||||||
"symbolEmoji":"記号",
|
"symbolEmoji":"記号",
|
||||||
"flagsEmoji":"国旗",
|
"flagsEmoji":"国旗",
|
||||||
|
"draft": "下書き(タンス)",
|
||||||
"poll":"アンケート",
|
"poll":"アンケート",
|
||||||
"pollDdisabled":"アンケート付けへん",
|
"pollDdisabled":"アンケート付けへん",
|
||||||
"pollProvider":"アンケートのプロバイダ",
|
"pollProvider":"アンケートのプロバイダ",
|
||||||
|
|
|
@ -86,6 +86,9 @@
|
||||||
"lang_status_endorse": "プロフで紹介する",
|
"lang_status_endorse": "プロフで紹介する",
|
||||||
"lang_status_followers": "フォロワー",
|
"lang_status_followers": "フォロワー",
|
||||||
"lang_status_active": "最新トゥート",
|
"lang_status_active": "最新トゥート",
|
||||||
|
"lang_secure_draft": "タンスになおす",
|
||||||
|
"lang_secure_useThis": "使う",
|
||||||
|
"lang_secure_deleteThis": "ほかす",
|
||||||
"lang_suggest_nodata": "サジェストしたいんやけど、絵文字リストを取得してくれへん?",
|
"lang_suggest_nodata": "サジェストしたいんやけど、絵文字リストを取得してくれへん?",
|
||||||
"lang_usetxtbox_reply": "返信モードや。やめるときはCtrl+Shift+Cな。",
|
"lang_usetxtbox_reply": "返信モードや。やめるときはCtrl+Shift+Cな。",
|
||||||
"lang_cards_check": "チェック",
|
"lang_cards_check": "チェック",
|
||||||
|
|
|
@ -45,6 +45,7 @@
|
||||||
"thingsEmoji":"もの",
|
"thingsEmoji":"もの",
|
||||||
"symbolEmoji":"記号",
|
"symbolEmoji":"記号",
|
||||||
"flagsEmoji":"国旗",
|
"flagsEmoji":"国旗",
|
||||||
|
"draft": "下書き",
|
||||||
"poll":"アンケート",
|
"poll":"アンケート",
|
||||||
"pollDdisabled":"アンケートを使用しない",
|
"pollDdisabled":"アンケートを使用しない",
|
||||||
"pollProvider":"アンケートのプロバイダ",
|
"pollProvider":"アンケートのプロバイダ",
|
||||||
|
|
|
@ -88,6 +88,9 @@
|
||||||
"lang_status_endorse": "プロフで紹介する",
|
"lang_status_endorse": "プロフで紹介する",
|
||||||
"lang_status_followers": "フォロワー",
|
"lang_status_followers": "フォロワー",
|
||||||
"lang_status_active": "最新トゥート",
|
"lang_status_active": "最新トゥート",
|
||||||
|
"lang_secure_draft": "下書きに追加",
|
||||||
|
"lang_secure_useThis": "使う",
|
||||||
|
"lang_secure_deleteThis": "削除",
|
||||||
"lang_suggest_nodata": "サジェストのために絵文字リストを取得してください。",
|
"lang_suggest_nodata": "サジェストのために絵文字リストを取得してください。",
|
||||||
"lang_usetxtbox_reply": "返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
|
"lang_usetxtbox_reply": "返信モードです。クリアするときはCtrl+Shift+Cを押してください。",
|
||||||
"lang_cards_check": "チェック",
|
"lang_cards_check": "チェック",
|
||||||
|
|
Loading…
Reference in New Issue
Block a user