Mercurial > hgrepos > hgweb.cgi > s4
diff s4-main.js @ 960:0d9caeab3d81 draft
Instant notify by "@all" sign at the beginning of article.
author | HIROSE Yuuji <yuuji@gentei.org> |
---|---|
date | Sat, 29 Jan 2022 10:41:41 +0900 |
parents | 193d9d2ed9c9 |
children | 759070ee3d20 |
line wrap: on
line diff
--- a/s4-main.js Fri Dec 24 08:39:25 2021 +0900 +++ b/s4-main.js Sat Jan 29 10:41:41 2022 +0900 @@ -713,6 +713,15 @@ pjaxHistoryPush(preview); btn.focus(); } + function helpMarkdownAt(e) { + var area = e.target, pos = area.selectionStart; + if (pos == 0) { + area.value = "@all" + area.value; + area.selectionStart = area.selectionEnd = 4; + dispInfoMomentary("@all で全員に通知します", area.parentNode); + e.preventDefault(); + } + } function helpMarkdown(e) { switch (e.key) { case "Backspace": helpMarkdownBS(e); break; @@ -721,6 +730,7 @@ case "p": if (e.metaKey) helpMarkdownPreview(e.target); break; case "{": helpMarkdownBrace(e); break; case "}": helpMarkdownBraceClose(e); break; + case "@": helpMarkdownAt(e); break; } } /* Init event listeners */ @@ -810,6 +820,14 @@ } // Hack article_m links registPjaxViewers(document.querySelectorAll("a[href]")); + // Enclose "@all" with span + for (i of document.querySelectorAll("td.repl")) { + let ii = i.innerHTML; + if (ii.startsWith("@all")) { + ii = ii.replace(/^@all/,'<div class="atall">@all</div>'); + i.innerHTML = ii; + } + } } function initGrpAction() { var rev = document.getElementById("reverse");