UBER-473: show icon for department (#3472)

Signed-off-by: Vyacheslav Tumanov <me@slavatumanov.me>
This commit is contained in:
Vyacheslav Tumanov 2023-06-29 19:30:15 +05:00 committed by GitHub
parent a50733a556
commit 090348fc47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 45 additions and 43 deletions

View File

@ -16,7 +16,7 @@
import { createEventDispatcher, ComponentType } from 'svelte'
import { Asset, IntlString } from '@hcengineering/platform'
import { getPlatformColorDef, getPlatformColorForTextDef, IconWithEmojii, themeStore } from '@hcengineering/ui'
import { getPlatformColorDef, getPlatformColorForTextDef, IconWithEmoji, themeStore } from '@hcengineering/ui'
import {
AnySvelteComponent,
Button,
@ -56,7 +56,7 @@
export let componentProps: any | undefined = undefined
export let autoSelect = true
export let readonly = false
export let iconWithEmojii: AnySvelteComponent | Asset | ComponentType | undefined = undefined
export let iconWithEmoji: AnySvelteComponent | Asset | ComponentType | undefined = undefined
export let defaultIcon: AnySvelteComponent | Asset | ComponentType = IconFolder
let selected: (Space & IconProps) | undefined
@ -121,8 +121,8 @@
{focus}
disabled={readonly}
{focusIndex}
icon={selected?.icon === iconWithEmojii ? IconWithEmojii : selected?.icon ?? defaultIcon}
iconProps={selected?.icon === iconWithEmojii
icon={selected?.icon === iconWithEmoji && iconWithEmoji ? IconWithEmoji : selected?.icon ?? defaultIcon}
iconProps={selected?.icon === iconWithEmoji && iconWithEmoji
? { icon: selected?.color }
: {
fill:

View File

@ -35,7 +35,7 @@
export let component: AnySvelteComponent | undefined = undefined
export let componentProps: any | undefined = undefined
export let autoSelect = true
export let iconWithEmojii: AnySvelteComponent | Asset | ComponentType | undefined = undefined
export let iconWithEmoji: AnySvelteComponent | Asset | ComponentType | undefined = undefined
export let defaultIcon: AnySvelteComponent | Asset | ComponentType | undefined = undefined
const dispatch = createEventDispatcher()
@ -59,7 +59,7 @@
{component}
{componentProps}
{autoSelect}
{iconWithEmojii}
{iconWithEmoji}
{defaultIcon}
bind:value={space}
on:change={(evt) => {

View File

@ -24,50 +24,50 @@
} catch (err) {}
</script>
<div class="emojii-{size} flex-row-center emojii">
<div class="emoji-{size} flex-row-center emoji">
{value}
</div>
<style lang="scss">
.emojii {
.emoji {
display: flex;
align-items: center;
justify-content: center;
color: black;
}
.emojii-inline {
.emoji-inline {
width: 1em;
height: 1em;
font-size: 1rem;
}
.emojii-x-small {
.emoji-x-small {
width: 0.75rem;
height: 0.75rem;
font-size: 0.75rem;
}
.emojii-small {
.emoji-small {
width: 1rem;
height: 1rem;
font-size: 1rem;
}
.emojii-medium {
.emoji-medium {
width: 1.25rem;
height: 1.25rem;
font-size: 1.25rem;
}
.emojii-large {
.emoji-large {
width: 1.5rem;
height: 1.5rem;
font-size: 1.5rem;
}
.semojiivg-full {
.semojivg-full {
width: inherit;
height: inherit;
}
.emojii-x-small,
.emojii-small,
.emojii-medium,
.emojii-large {
.emoji-x-small,
.emoji-small,
.emoji-medium,
.emoji-large {
flex-shrink: 0;
}
</style>

View File

@ -184,7 +184,7 @@ export { Notification } from './components/notifications/Notification'
export { default as Wizard } from './components/wizard/Wizard.svelte'
export { default as StepsDialog } from './components/StepsDialog.svelte'
export { default as EmojiPopup } from './components/EmojiPopup.svelte'
export { default as IconWithEmojii } from './components/IconWithEmojii.svelte'
export { default as IconWithEmoji } from './components/IconWithEmoji.svelte'
export { default as ModeSelector } from './components/ModeSelector.svelte'
export * from './types'

View File

@ -79,8 +79,10 @@
<DateRangePresenter bind:value={date} />
</div>
<svelte:fragment slot="pool">
<Label label={hr.string.Department} />
<SpaceSelector _class={hr.class.Department} label={hr.string.ParentDepartmentLabel} bind:space={department} />
<div class="flex-row-center flex-grow flex-gap-3">
<Label label={hr.string.Department} />
<SpaceSelector _class={hr.class.Department} label={hr.string.ParentDepartmentLabel} bind:space={department} />
</div>
</svelte:fragment>
<svelte:fragment slot="buttons">
{#if existingHoliday}

View File

@ -552,7 +552,7 @@
kind={'secondary'}
size={'small'}
component={ProjectPresenter}
iconWithEmojii={tracker.component.IconWithEmojii}
iconWithEmoji={tracker.component.IconWithEmoji}
defaultIcon={tracker.icon.Home}
/>
<ObjectBox

View File

@ -58,7 +58,7 @@
kind={'secondary'}
size={'large'}
component={ProjectPresenter}
iconWithEmojii={tracker.component.IconWithEmojii}
iconWithEmoji={tracker.component.IconWithEmoji}
defaultIcon={tracker.icon.Home}
/>
</svelte:fragment>

View File

@ -269,7 +269,7 @@
kind={'secondary'}
size={'small'}
component={ProjectPresenter}
iconWithEmojii={tracker.component.IconWithEmojii}
iconWithEmoji={tracker.component.IconWithEmoji}
defaultIcon={tracker.icon.Home}
/>
<!-- svelte-ignore a11y-click-events-have-key-events -->

View File

@ -62,7 +62,7 @@
size={'large'}
bind:space
component={ProjectPresenter}
iconWithEmojii={tracker.component.IconWithEmojii}
iconWithEmoji={tracker.component.IconWithEmoji}
defaultIcon={tracker.icon.Home}
/>
</svelte:fragment>

View File

@ -24,7 +24,7 @@
Button,
EditBox,
IconEdit,
IconWithEmojii,
IconWithEmoji,
Label,
Toggle,
eventToHTMLElement,
@ -270,8 +270,8 @@
<Label label={tracker.string.ChooseIcon} />
</div>
<Button
icon={icon === tracker.component.IconWithEmojii ? IconWithEmojii : icon ?? tracker.icon.Home}
iconProps={icon === tracker.component.IconWithEmojii
icon={icon === tracker.component.IconWithEmoji ? IconWithEmoji : icon ?? tracker.icon.Home}
iconProps={icon === tracker.component.IconWithEmoji
? { icon: color }
: {
fill:

View File

@ -16,7 +16,7 @@
import { Ref } from '@hcengineering/core'
import { createQuery } from '@hcengineering/presentation'
import { Project } from '@hcengineering/tracker'
import { Icon, IconWithEmojii, getPlatformColorDef, getPlatformColorForTextDef, themeStore } from '@hcengineering/ui'
import { Icon, IconWithEmoji, getPlatformColorDef, getPlatformColorForTextDef, themeStore } from '@hcengineering/ui'
import tracker from '../../plugin'
export let value: [Ref<Project>, Ref<Project>[]][]
@ -37,9 +37,9 @@
{#each projects as project, i}
{#if value && i < MAX_VISIBLE_PROJECTS}
{@const icon =
project.icon === tracker.component.IconWithEmojii ? IconWithEmojii : project.icon ?? tracker.icon.Home}
project.icon === tracker.component.IconWithEmoji ? IconWithEmoji : project.icon ?? tracker.icon.Home}
{@const iconProps =
project.icon === tracker.component.IconWithEmojii
project.icon === tracker.component.IconWithEmoji
? { icon: project.color }
: {
fill:

View File

@ -55,7 +55,7 @@
<div class="float-left-box">
<!-- svelte-ignore a11y-click-events-have-key-events -->
<TabsControl
model={[{ label: tracker.string.ProjectIconCategory }, { label: tracker.string.ProjectEmojiiCategory }]}
model={[{ label: tracker.string.ProjectIconCategory }, { label: tracker.string.ProjectEmojiCategory }]}
>
<svelte:fragment slot="content" let:selected>
{#if selected === 0}
@ -82,7 +82,7 @@
<EmojiPopup
embedded
on:close={(evt) => {
dispatch('close', { icon: tracker.component.IconWithEmojii, color: evt.detail.codePointAt(0) })
dispatch('close', { icon: tracker.component.IconWithEmoji, color: evt.detail.codePointAt(0) })
}}
/>
{/if}

View File

@ -14,7 +14,7 @@
-->
<script lang="ts">
import { Project } from '@hcengineering/tracker'
import { Icon, IconWithEmojii, getPlatformColorDef, getPlatformColorForTextDef, themeStore } from '@hcengineering/ui'
import { Icon, IconWithEmoji, getPlatformColorDef, getPlatformColorForTextDef, themeStore } from '@hcengineering/ui'
import tracker from '../../plugin'
export let value: Project | undefined
@ -24,10 +24,10 @@
{#if value}
<div class="flex-presenter cursor-default" class:inline-presenter={inline}>
<div class="icon" class:emoji={value.icon === tracker.component.IconWithEmojii}>
<div class="icon" class:emoji={value.icon === tracker.component.IconWithEmoji}>
<Icon
icon={value.icon === tracker.component.IconWithEmojii ? IconWithEmojii : value.icon ?? tracker.icon.Home}
iconProps={value.icon === tracker.component.IconWithEmojii
icon={value.icon === tracker.component.IconWithEmoji ? IconWithEmoji : value.icon ?? tracker.icon.Home}
iconProps={value.icon === tracker.component.IconWithEmoji
? { icon: value.color }
: {
fill:

View File

@ -16,7 +16,7 @@
import { Ref, Space } from '@hcengineering/core'
import { Project } from '@hcengineering/tracker'
import {
IconWithEmojii,
IconWithEmoji,
getCurrentLocation,
getPlatformColorDef,
getPlatformColorForTextDef,
@ -43,8 +43,8 @@
{#if model.specials}
<TreeNode
{collapsed}
icon={space?.icon === tracker.component.IconWithEmojii ? IconWithEmojii : space?.icon ?? model.icon}
iconProps={space?.icon === tracker.component.IconWithEmojii
icon={space?.icon === tracker.component.IconWithEmoji ? IconWithEmoji : space?.icon ?? model.icon}
iconProps={space?.icon === tracker.component.IconWithEmoji
? { icon: space.color }
: {
fill:

View File

@ -140,7 +140,7 @@
kind={'secondary'}
size={'large'}
component={ProjectPresenter}
iconWithEmojii={tracker.component.IconWithEmojii}
iconWithEmoji={tracker.component.IconWithEmoji}
defaultIcon={tracker.icon.Home}
/>
</svelte:fragment>

View File

@ -297,7 +297,7 @@ export default mergeIds(trackerId, tracker, {
ProjectColor: '' as IntlString,
ProjectIconCategory: '' as IntlString,
ProjectEmojiiCategory: '' as IntlString,
ProjectEmojiCategory: '' as IntlString,
NoStatusFound: '' as IntlString,
CreateMissingStatus: '' as IntlString,
@ -364,7 +364,7 @@ export default mergeIds(trackerId, tracker, {
IssueTemplates: '' as AnyComponent,
IssueTemplatePresenter: '' as AnyComponent,
SubIssuesSelector: '' as AnyComponent,
IconWithEmojii: '' as Asset
IconWithEmoji: '' as Asset
},
metadata: {
CreateIssueDraft: '' as Metadata<IssueDraft>