diff --git a/src/Posting/QR.coffee b/src/Posting/QR.coffee index b2cd5c158..a58223f8f 100644 --- a/src/Posting/QR.coffee +++ b/src/Posting/QR.coffee @@ -353,6 +353,30 @@ QR = counter.hidden = count < QR.max_comment/2 (if count > QR.max_comment then $.addClass else $.rmClass) counter, 'warning' + splitPost = QR.nodes.splitPost + splitPost.hidden = count < QR.max_comment + + splitPost: -> + count = QR.nodes.com.value.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, '_').length + text = QR.nodes.com.value + return if count < QR.max_comment + lastPostLength = 0 + QR.posts[QR.posts.length - 1].setComment(""); + + for line in text.split("\n") + currentLength = line.replace(/[\uD800-\uDBFF][\uDC00-\uDFFF]/g, '_').length + 1 # 1 for newline + if (currentLength + lastPostLength) > QR.max_comment + post = new QR.post() + post.setComment(line) + lastPostLength = currentLength + else + currentPost = QR.posts[QR.posts.length - 1] + newComment = [currentPost.com, line].filter((el) -> el != null).join("\n") + currentPost.setComment(newComment) + lastPostLength += currentLength + + QR.nodes.el.classList.add 'dump' + getFile: -> $.event 'QRFile', QR.selected?.file @@ -514,6 +538,7 @@ QR = setNode 'sub', '[data-name=sub]' setNode 'com', '[data-name=com]' setNode 'charCount', '#char-count' + setNode 'splitPost', '#split-post' setNode 'texPreview', '#tex-preview' setNode 'dumpList', '#dump-list' setNode 'addPost', '#add-post' @@ -558,6 +583,7 @@ QR = $.on nodes.sjisToggle, 'click', QR.toggleSJIS $.on nodes.texButton, 'mousedown', QR.texPreviewShow $.on nodes.texButton, 'mouseup', QR.texPreviewHide + $.on nodes.splitPost, 'click', QR.splitPost $.on nodes.addPost, 'click', -> new QR.post true $.on nodes.drawButton, 'click', QR.oekaki.draw $.on nodes.fileButton, 'click', QR.openFileInput diff --git a/src/Posting/QR/QuickReply.html b/src/Posting/QR/QuickReply.html index 51a58f961..4da3b3916 100644 --- a/src/Posting/QR/QuickReply.html +++ b/src/Posting/QR/QuickReply.html @@ -19,6 +19,7 @@
+
diff --git a/src/css/style.css b/src/css/style.css index 2e90b57d5..cbe3c1f62 100644 --- a/src/css/style.css +++ b/src/css/style.css @@ -2074,6 +2074,13 @@ a:only-of-type > .remove { #char-count.warning { color: red; } +#split-post { + font-size: 8pt; + position: absolute; + bottom: 2px; + left: 2px; + cursor: pointer; +} /* Menu */ .menu-button:not(.fa-bars) {