implemented renaming of wiki page

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-09-12 08:49:43 +02:00
parent ceebcaff4d
commit 7ddd32bb72
3 changed files with 21 additions and 10 deletions

View File

@@ -5,7 +5,8 @@
import { t } from '../../translations.svelte';
import { user } from '../../user.svelte';
import Editor from '../../Components/MarkdownEditor.svelte';
import MarkdownEditor from '../../Components/MarkdownEditor.svelte';
import LineEditor from '../../Components/LineEditor.svelte';
import Notes from '../notes/RelatedNotes.svelte';
import PermissionEditor from '../../Components/PermissionEditor.svelte';
import TagList from '../tags/TagList.svelte';
@@ -15,6 +16,7 @@
let page = $state(null);
let router = useTinyRouter();
let members = $state({});
let editable = $derived(page.members[user.id].permission.code<4);
async function addMember(entry){
let newMembers = JSON.parse(JSON.stringify(page.members));
@@ -88,6 +90,11 @@
return loadContent(res);
}
async function patchTitle(t){
var result = await(patch({title:t}));
router.navigate(`/wiki/${page.id}/view`);
}
async function updatePermission(uid, newPerm){
let newMembers = JSON.parse(JSON.stringify(page.members));
newMembers[uid] = {permission:newPerm};
@@ -103,18 +110,17 @@
<span class="version">{t('version')}</span>
{#each page.versions as v}
<span class="version">
<a href={`/wiki/${key}/version/${v}`} {onclick} class={page.version == v?'selected':''}>{v}</a> &nbsp;
<a href={`/wiki/${page.id}/version/${v}`} {onclick} class={page.version == v?'selected':''}>{v}</a> &nbsp;
</span>
{/each}
<h2>{page.title}</h2>
<LineEditor value={page.title} type="h2" {editable} onSet={t => patchTitle(t)} />
{#if page.version != page.versions[0]}
<span class="warn">{t('not_recent_version')}</span>
{/if}
{#if page.members[user.id].permission.code<4}
<Editor editable={true} value={page.content} onSet={s => patch({content:s})}></Editor>
<MarkdownEditor {editable} value={page.content} onSet={s => patch({content:s})} />
{#if editable}
<PermissionEditor members={page.members} {addMember} {dropMember} {getCandidates} {updatePermission} />
{:else}
<div class="markdown">{@html page.content.rendered}</div>
<table>
<thead>
<tr>