Browse Source

css improvements

module/wiki
Stephan Richter 2 months ago
parent
commit
5bda651669
  1. 62
      frontend/src/routes/wiki/View.svelte
  2. 1
      translations/src/main/resources/de.json
  3. 4
      web/src/main/resources/web/css/default.css

62
frontend/src/routes/wiki/View.svelte

@ -11,6 +11,7 @@
import PermissionEditor from '../../Components/PermissionEditor.svelte'; import PermissionEditor from '../../Components/PermissionEditor.svelte';
import TagList from '../tags/TagList.svelte'; import TagList from '../tags/TagList.svelte';
let detail = $state(false);
let error = $state(null); let error = $state(null);
let { key, version } = $props(); let { key, version } = $props();
let page = $state(null); let page = $state(null);
@ -95,6 +96,10 @@
router.navigate(`/wiki/${page.id}/view`); router.navigate(`/wiki/${page.id}/view`);
} }
function toggleDetail(){
detail = !detail;
}
async function updatePermission(uid, newPerm){ async function updatePermission(uid, newPerm){
let newMembers = JSON.parse(JSON.stringify(page.members)); let newMembers = JSON.parse(JSON.stringify(page.members));
newMembers[uid] = {permission:newPerm}; newMembers[uid] = {permission:newPerm};
@ -107,40 +112,47 @@
<span class="error">{error}</span> <span class="error">{error}</span>
{/if} {/if}
{#if page} {#if page}
<span class="version">{t('version')}</span> <div class="wiki page">
{#each page.versions as v} <div class="versions">
<span class="version"> <span class="version">{t('version')}</span>
<a href={`/wiki/${page.id}/version/${v}`} {onclick} class={page.version == v?'selected':''}>{v}</a> &nbsp; {#each page.versions as v}
</span> <span class="version">
{/each} <a href={`/wiki/${page.id}/version/${v}`} {onclick} class={page.version == v?'selected':''}>{v}</a> &nbsp;
<LineEditor value={page.title} type="h2" {editable} onSet={t => patchTitle(t)} /> </span>
{#if page.version != page.versions[0]} {/each}
<span class="warn">{t('not_recent_version')}</span> </div>
{/if} <LineEditor value={page.title} type="h2" {editable} onSet={t => patchTitle(t)} />
<MarkdownEditor {editable} value={page.content} onSet={s => patch({content:s})} /> {#if page.version != page.versions[0]}
{#if editable} <span class="warn">{t('not_recent_version')}</span>
<PermissionEditor members={page.members} {addMember} {dropMember} {getCandidates} {updatePermission} /> {/if}
{:else} <button onclick={toggleDetail} class="symbol" title={t('toggle_objects',{objects:t('users')})}></button>
<table> {#if detail}
<thead> {#if editable}
<PermissionEditor members={page.members} {addMember} {dropMember} {getCandidates} {updatePermission} />
{:else}
<table>
<thead>
<tr> <tr>
<th>{t('user')}</th> <th>{t('user')}</th>
<th>{t('permissions')}</th> <th>{t('permissions')}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{#each Object.values(page.members) as member,id} {#each Object.values(page.members) as member,id}
<tr> <tr>
<td>{member.user.name}</td> <td>{member.user.name}</td>
<td>{t('permission_'+member.permission.name.toLowerCase())}</td> <td>{t('permission_'+member.permission.name.toLowerCase())}</td>
</tr> </tr>
{/each} {/each}
</tbody> </tbody>
</table> </table>
{/if} {/if}
<TagList module="wiki" id={page.id} user_list={Object.keys(page.members).map(id => +id)} /> {/if}
<div class="notes"> <MarkdownEditor {editable} value={page.content} onSet={s => patch({content:s})} />
<h3>{t('notes')}</h3> <TagList module="wiki" id={page.id} user_list={Object.keys(page.members).map(id => +id)} />
<Notes module="wiki" entity_id={page.id} /> <div class="notes">
<h3>{t('notes')}</h3>
<Notes module="wiki" entity_id={page.id} />
</div>
</div> </div>
{/if} {/if}

1
translations/src/main/resources/de.json

@ -248,6 +248,7 @@
"timetracking": "Zeiterfassung", "timetracking": "Zeiterfassung",
"title_not_available": "„{title}“ ist als Seitenname nicht mehr verfügbar!", "title_not_available": "„{title}“ ist als Seitenname nicht mehr verfügbar!",
"title_or_desc": "Titel/Beschreibung", "title_or_desc": "Titel/Beschreibung",
"toggle_objects": "{objects} an/ausschalten",
"tutorial": "Tutorial", "tutorial": "Tutorial",
"type": "Dokumententyp", "type": "Dokumententyp",
"type_confirmation": "Bestätigung", "type_confirmation": "Bestätigung",

4
web/src/main/resources/web/css/default.css

@ -385,4 +385,8 @@ table{
.version a.selected{ .version a.selected{
border: 1px solid orange; border: 1px solid orange;
border-radius: 5px; border-radius: 5px;
}
.wiki.page h2{
display: inline-block;
} }
Loading…
Cancel
Save