UBER-853 Wiki application navigation (#3731)

Signed-off-by: Alexander Onnikov <alexander.onnikov@xored.com>
This commit is contained in:
Alexander Onnikov
2023-09-22 13:56:33 +07:00
committed by GitHub
parent cec2cc4f37
commit e32f41767f
13 changed files with 114 additions and 35 deletions
@@ -184,7 +184,7 @@
function chooseIcon (ev: MouseEvent) {
const icons = [tracker.icon.Home, tracker.icon.RedCircle]
showPopup(IconPicker, { icon, color, icons, emoji: tracker.component.IconWithEmoji }, 'top', (result) => {
showPopup(IconPicker, { icon, color, icons, iconWithEmoji: tracker.component.IconWithEmoji }, 'top', (result) => {
if (result !== undefined && result !== null) {
icon = result.icon
color = result.color
@@ -32,7 +32,7 @@
export let icon: Metadata<string> | undefined = undefined
export let icons: Asset[]
export let emoji: Asset = view.ids.IconWithEmoji
export let iconWithEmoji: Asset = view.ids.IconWithEmoji
export let color: number = 0
const dispatch = createEventDispatcher()
@@ -95,7 +95,7 @@
<EmojiPopup
embedded
on:close={(evt) => {
dispatch('close', { icon: emoji, color: evt.detail.codePointAt(0) })
dispatch('close', { icon: iconWithEmoji, color: evt.detail.codePointAt(0) })
}}
/>
{/if}
@@ -30,6 +30,7 @@
export let model: NavigatorModel | undefined
export let currentSpace: Ref<Space> | undefined
export let currentSpecial: string | undefined
export let currentFragment: string | undefined
export let currentApplication: Application | undefined
const client = getClient()
@@ -169,6 +170,7 @@
on:space
{currentSpace}
{currentSpecial}
{currentFragment}
deselect={menuSelection}
/>
{/if}
@@ -182,6 +184,7 @@
model={m}
on:open
{currentSpecial}
{currentFragment}
deselect={menuSelection}
separate
/>
@@ -707,10 +707,7 @@
class="cursor-pointer"
on:click|stopPropagation={() => showPopup(AccountPopup, {}, popupPosition)}
>
<Component
is={contact.component.Avatar}
props={{ avatar: employee?.avatar, size: 'small', name: employee?.name }}
/>
<Component is={contact.component.Avatar} props={{ avatar: employee?.avatar, size: 'small' }} />
</div>
</div>
</div>
@@ -732,7 +729,16 @@
{#await checkIsHeaderHidden(currentApplication) then isHidden}
{#if !isHidden}
{#await checkIsHeaderDisabled(currentApplication) then disabled}
<Component is={currentApplication.navHeaderComponent} props={{ currentSpace, disabled }} shrink />
<Component
is={currentApplication.navHeaderComponent}
props={{
currentSpace,
currentSpecial,
currentFragment,
disabled
}}
shrink
/>
{/await}
{/if}
{/await}
@@ -741,6 +747,7 @@
<Navigator
{currentSpace}
{currentSpecial}
{currentFragment}
model={navigatorModel}
{currentApplication}
on:open={checkOnHide}
@@ -42,6 +42,7 @@
export let currentSpace: Ref<Space> | undefined
export let spaces: Space[]
export let currentSpecial: string | undefined
export let currentFragment: string | undefined
export let hasSpaceBrowser: boolean = false
export let deselect: boolean = false
export let separate: boolean = false
@@ -151,7 +152,16 @@
{#await getSpacePresenter(client, space._class) then presenter}
{#if separate && model.specials && i !== 0}<TreeSeparator line />{/if}
{#if model.specials && presenter}
<svelte:component this={presenter} {space} {model} {currentSpace} {currentSpecial} {getActions} {deselect} />
<svelte:component
this={presenter}
{space}
{model}
{currentSpace}
{currentSpecial}
{currentFragment}
{getActions}
{deselect}
/>
{:else}
<NavLink space={space._id}>
{#await getSpaceName(client, space) then name}
@@ -31,6 +31,7 @@
export let models: SpacesNavModel[]
export let currentSpace: Ref<Space> | undefined
export let currentSpecial: string | undefined
export let currentFragment: string | undefined
export let deselect: boolean = false
const client = getClient()
@@ -93,7 +94,16 @@
{@const model = models.find((p) => p.spaceClass === space._class)}
{#await getSpacePresenter(client, space._class) then presenter}
{#if presenter && model}
<svelte:component this={presenter} {space} {model} {currentSpace} {currentSpecial} {getActions} {deselect} />
<svelte:component
this={presenter}
{space}
{model}
{currentSpace}
{currentSpecial}
{currentFragment}
{getActions}
{deselect}
/>
{:else}
{#await getSpaceName(client, space) then name}
<NavLink space={space._id}>