fixed missing JS functions in Article Editor
This commit is contained in:
parent
0d3111647b
commit
bc4a78382c
|
@ -109,52 +109,6 @@
|
|||
</section>
|
||||
|
||||
<SectionContent SectionName="scripts">
|
||||
<script>
|
||||
window.insertBeforeSelection = function(markdown, startOfLine = false) {
|
||||
const target = document.getElementById("tool-target");
|
||||
|
||||
const start = target.selectionStart;
|
||||
const end = target.selectionEnd;
|
||||
const value = target.value;
|
||||
let doStart = start;
|
||||
if (startOfLine) {
|
||||
doStart = value.lastIndexOf("\n", start) +1;
|
||||
}
|
||||
|
||||
target.focus();
|
||||
target.value = value.substring(0, doStart) + markdown + value.substring(doStart);
|
||||
|
||||
target.selectionStart = start + markdown.length;
|
||||
target.selectionEnd = end + markdown.length;
|
||||
target.focus();
|
||||
target.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
}
|
||||
|
||||
window.insertBeforeAndAfterSelection = function (markdown) {
|
||||
const target = document.getElementById("tool-target");
|
||||
|
||||
while (/\s/.test(target.value[target.selectionStart]) && target.selectionStart < target.value.length) {
|
||||
target.selectionStart++;
|
||||
}
|
||||
while (/\s/.test(target.value[target.selectionEnd-1]) && target.selectionEnd > 0) {
|
||||
target.selectionEnd--;
|
||||
}
|
||||
|
||||
const start = target.selectionStart;
|
||||
const end = target.selectionEnd;
|
||||
const value = target.value;
|
||||
|
||||
target.focus();
|
||||
target.value = value.substring(0, start) +
|
||||
markdown + value.substring(start, end) + markdown +
|
||||
value.substring(end);
|
||||
|
||||
target.selectionStart = start + markdown.length;
|
||||
target.selectionEnd = end + markdown.length;
|
||||
target.focus();
|
||||
target.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
}
|
||||
</script>
|
||||
</SectionContent>
|
||||
|
||||
@code {
|
||||
|
|
|
@ -44,8 +44,54 @@
|
|||
<CascadingValue Value="UserTheme" Name="UserTheme">
|
||||
<Routes />
|
||||
</CascadingValue>
|
||||
<SectionOutlet SectionName="scripts" />
|
||||
<script src="_framework/blazor.web.js" defer></script>
|
||||
<script src="_framework/blazor.web.js" defer></script>
|
||||
<SectionOutlet SectionName="scripts" />
|
||||
<script>
|
||||
window.insertBeforeSelection = function (markdown, startOfLine = false) {
|
||||
const target = document.getElementById("tool-target");
|
||||
|
||||
const start = target.selectionStart;
|
||||
const end = target.selectionEnd;
|
||||
const value = target.value;
|
||||
let doStart = start;
|
||||
if (startOfLine) {
|
||||
doStart = value.lastIndexOf("\n", start) + 1;
|
||||
}
|
||||
|
||||
target.focus();
|
||||
target.value = value.substring(0, doStart) + markdown + value.substring(doStart);
|
||||
|
||||
target.selectionStart = start + markdown.length;
|
||||
target.selectionEnd = end + markdown.length;
|
||||
target.focus();
|
||||
target.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
}
|
||||
|
||||
window.insertBeforeAndAfterSelection = function (markdown) {
|
||||
const target = document.getElementById("tool-target");
|
||||
|
||||
while (/\s/.test(target.value[target.selectionStart]) && target.selectionStart < target.value.length) {
|
||||
target.selectionStart++;
|
||||
}
|
||||
while (/\s/.test(target.value[target.selectionEnd - 1]) && target.selectionEnd > 0) {
|
||||
target.selectionEnd--;
|
||||
}
|
||||
|
||||
const start = target.selectionStart;
|
||||
const end = target.selectionEnd;
|
||||
const value = target.value;
|
||||
|
||||
target.focus();
|
||||
target.value = value.substring(0, start) +
|
||||
markdown + value.substring(start, end) + markdown +
|
||||
value.substring(end);
|
||||
|
||||
target.selectionStart = start + markdown.length;
|
||||
target.selectionEnd = end + markdown.length;
|
||||
target.focus();
|
||||
target.dispatchEvent(new Event("input", { bubbles: true }));
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
|
|
|
@ -280,7 +280,7 @@
|
|||
}
|
||||
|
||||
// published articles may only be edited my admins or moderators
|
||||
if (article.Status is ArticleStatus.Published && roles.Any(r => r is "Admin" or "Reviewer")) {
|
||||
if (article.Status is ArticleStatus.Published && roles.Any(r => r is "Admin" or "Moderator")) {
|
||||
article.Reviewer = me; // TODO replace with editor or something?
|
||||
return;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue