mirror of
https://github.com/hcengineering/platform.git
synced 2024-11-22 03:14:40 +03:00
CSS cleaning packages & plugins (#4062)
Signed-off-by: Alexander Platov <sas_lord@mail.ru>
This commit is contained in:
parent
a3bf9c8f73
commit
591a521978
@ -325,6 +325,7 @@
|
||||
{#each categories as state, si (typeof state === 'object' ? state.name : state)}
|
||||
{@const stateObjects = getGroupByValues(groupByDocs, state)}
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="panel-container"
|
||||
bind:this={stateRefs[si]}
|
||||
|
@ -58,6 +58,7 @@
|
||||
|
||||
{#each limitedObjects as object, i (object._id)}
|
||||
{@const dragged = isDragging && object._id === dragCard?._id}
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
bind:this={stateRefs[i]}
|
||||
transition:slideD|local={{ isDragging }}
|
||||
|
@ -15,7 +15,6 @@
|
||||
-->
|
||||
<script lang="ts">
|
||||
import type { Class, Doc, Ref } from '@hcengineering/core'
|
||||
import type { ButtonKind, ButtonSize } from '@hcengineering/ui'
|
||||
import { KeyedAttribute } from '../attributes'
|
||||
import AttributeBarEditor from './AttributeBarEditor.svelte'
|
||||
|
||||
@ -25,11 +24,6 @@
|
||||
export let showHeader: boolean = true
|
||||
export let readonly = false
|
||||
export let draft = false
|
||||
|
||||
export let kind: ButtonKind = 'link'
|
||||
export let size: ButtonSize = 'large'
|
||||
export let width: string | undefined = '100%'
|
||||
export let justify: 'left' | 'center' = 'left'
|
||||
</script>
|
||||
|
||||
<div class="popupPanel-body__aside-grid inCollapsed">
|
||||
|
@ -47,6 +47,7 @@
|
||||
$: headerDivide = hideContent && numberOfBlocks > 1
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
|
||||
<form
|
||||
id={label}
|
||||
class="antiCard {$deviceInfo.isMobile ? 'mobile' : 'dialog'} {width}"
|
||||
|
@ -46,12 +46,10 @@
|
||||
export let titleDeselect: IntlString | undefined = undefined
|
||||
export let placeholder: IntlString = presentation.string.Search
|
||||
export let selectedObjects: Ref<Doc>[] = []
|
||||
export let ignoreObjects: Ref<Doc>[] = []
|
||||
export let shadows: boolean = true
|
||||
export let width: 'medium' | 'large' | 'full' = 'medium'
|
||||
export let size: 'small' | 'medium' | 'large' = 'large'
|
||||
|
||||
export let searchField: string = 'name'
|
||||
export let noSearchField: boolean = false
|
||||
export let groupBy = '_class'
|
||||
|
||||
@ -156,6 +154,7 @@
|
||||
|
||||
<FocusHandler {manager} />
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="selectPopup"
|
||||
class:full-width={width === 'full'}
|
||||
@ -167,31 +166,35 @@
|
||||
dispatch('changeContent')
|
||||
}}
|
||||
>
|
||||
<div class="header flex-between">
|
||||
<EditWithIcon
|
||||
icon={IconSearch}
|
||||
size={'large'}
|
||||
width={'100%'}
|
||||
autoFocus={!$deviceOptionsStore.isMobile}
|
||||
bind:value={search}
|
||||
on:change={() => dispatch('search', search)}
|
||||
on:input={() => dispatch('search', search)}
|
||||
{placeholder}
|
||||
/>
|
||||
{#if create !== undefined}
|
||||
<div class="ml-2">
|
||||
<Button
|
||||
focusIndex={2}
|
||||
kind={'ghost'}
|
||||
{size}
|
||||
icon={IconAdd}
|
||||
showTooltip={{ label: create.label }}
|
||||
on:click={onCreate}
|
||||
disabled={readonly || loading}
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{#if !noSearchField}
|
||||
<div class="header flex-between">
|
||||
<EditWithIcon
|
||||
icon={IconSearch}
|
||||
size={'large'}
|
||||
width={'100%'}
|
||||
autoFocus={!$deviceOptionsStore.isMobile}
|
||||
bind:value={search}
|
||||
on:change={() => dispatch('search', search)}
|
||||
on:input={() => dispatch('search', search)}
|
||||
{placeholder}
|
||||
/>
|
||||
{#if create !== undefined}
|
||||
<div class="ml-2">
|
||||
<Button
|
||||
focusIndex={2}
|
||||
kind={'ghost'}
|
||||
{size}
|
||||
icon={IconAdd}
|
||||
showTooltip={{ label: create.label }}
|
||||
on:click={onCreate}
|
||||
disabled={readonly || loading}
|
||||
/>
|
||||
</div>
|
||||
{/if}
|
||||
</div>
|
||||
{:else if !embedded}
|
||||
<div class="menu-space" />
|
||||
{/if}
|
||||
<div class="scroll">
|
||||
<div class="box">
|
||||
<ListView bind:this={list} count={objects.length} bind:selection>
|
||||
|
@ -91,6 +91,7 @@
|
||||
<div class="antiAccordion">
|
||||
{#each objects as object, index (object._id)}
|
||||
<div class="description pb-1" animate:flip={{ duration: 400 }}>
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class:is-dragging={index === draggingIndex}
|
||||
class:is-dragged-over-up={draggingIndex !== null && index < draggingIndex && index === hoveringIndex}
|
||||
|
@ -56,6 +56,7 @@
|
||||
|
||||
{#if disabled || href === undefined}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span
|
||||
class:cursor-pointer={!disabled}
|
||||
class:noUnderline={noUnderline || disabled}
|
||||
|
@ -100,11 +100,9 @@
|
||||
{titleDeselect}
|
||||
{placeholder}
|
||||
{selectedObjects}
|
||||
{ignoreObjects}
|
||||
{shadows}
|
||||
{width}
|
||||
{size}
|
||||
{searchField}
|
||||
{noSearchField}
|
||||
{groupBy}
|
||||
{create}
|
||||
|
@ -40,7 +40,7 @@
|
||||
export let relatedDocuments: RelatedDocument[] | undefined = undefined
|
||||
export let ignore: RelatedDocument[] | undefined = undefined
|
||||
export let allowCategory: Ref<ObjectSearchCategory>[] | undefined = undefined
|
||||
export let hideButtons = false
|
||||
// export let hideButtons = false
|
||||
|
||||
let items: ObjectSearchResult[] = []
|
||||
|
||||
@ -158,6 +158,7 @@
|
||||
|
||||
<FocusHandler {manager} />
|
||||
|
||||
<!-- svelte-ignore a11y-no-noninteractive-element-interactions -->
|
||||
<form class="antiPopup" on:keydown={onKeyDown} use:resizeObserver={() => dispatch('changeSize')}>
|
||||
<div class="ap-menuHeader">
|
||||
{#if label}
|
||||
@ -170,6 +171,7 @@
|
||||
{@const status = categoryStatus[c._id] ?? 0}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-noninteractive-tabindex -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="tab"
|
||||
class:selected={category?._id === c._id}
|
||||
@ -201,6 +203,7 @@
|
||||
<div class="ap-scroll">
|
||||
<div class="ap-box">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<ListView bind:this={list} bind:selection count={items.length}>
|
||||
<svelte:fragment slot="item" let:item>
|
||||
{@const doc = items[item]}
|
||||
|
@ -13,8 +13,8 @@
|
||||
// limitations under the License.
|
||||
-->
|
||||
<script lang="ts">
|
||||
import { Doc } from '@hcengineering/core'
|
||||
import { Button, Dialog, PopupOptions } from '@hcengineering/ui'
|
||||
// import { Doc } from '@hcengineering/core'
|
||||
import { Button, Dialog } from '@hcengineering/ui'
|
||||
import { createEventDispatcher, onMount } from 'svelte'
|
||||
import presentation from '..'
|
||||
import { getFileUrl } from '../utils'
|
||||
@ -24,13 +24,12 @@
|
||||
export let file: string
|
||||
export let name: string
|
||||
export let contentType: string | undefined
|
||||
export let popupOptions: PopupOptions
|
||||
export let value: Doc
|
||||
// export let popupOptions: PopupOptions
|
||||
// export let value: Doc
|
||||
export let showIcon = true
|
||||
export let fullSize = false
|
||||
|
||||
const dispatch = createEventDispatcher()
|
||||
// let imgView: 'img-horizontal-fit' | 'img-vertical-fit' | 'img-original-fit' = 'img-vertical-fit'
|
||||
|
||||
function iconLabel (name: string): string {
|
||||
const parts = name.split('.')
|
||||
@ -124,36 +123,4 @@
|
||||
max-height: 100%;
|
||||
object-fit: contain;
|
||||
}
|
||||
.img-horizontal-fit,
|
||||
.img-vertical-fit,
|
||||
.img-original-fit {
|
||||
margin: 0 auto;
|
||||
width: auto;
|
||||
height: auto;
|
||||
}
|
||||
.img-horizontal-fit {
|
||||
width: 100%;
|
||||
}
|
||||
.img-vertical-fit {
|
||||
height: 100%;
|
||||
}
|
||||
.pdfviewer-header {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
flex-direction: row-reverse;
|
||||
align-items: center;
|
||||
}
|
||||
.img-nav {
|
||||
display: grid;
|
||||
grid-template-columns: auto;
|
||||
grid-auto-flow: column;
|
||||
grid-auto-columns: min-content;
|
||||
gap: 0.5rem;
|
||||
align-items: center;
|
||||
}
|
||||
.space {
|
||||
min-height: 0.5rem;
|
||||
height: 0.5rem;
|
||||
}
|
||||
</style>
|
||||
|
@ -117,6 +117,7 @@
|
||||
|
||||
{#if $$slots.content}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div id="space.selector" class="w-full h-full flex-streatch" on:click={showSpacesPopup}>
|
||||
<slot name="content" />
|
||||
</div>
|
||||
|
@ -58,6 +58,7 @@
|
||||
<div class="title disabled">/</div>
|
||||
{#if trimmed && i === 0}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="title" on:click={handleMenuOpened}>...</div>
|
||||
<div class="title disabled">/</div>
|
||||
{/if}
|
||||
|
@ -39,6 +39,7 @@
|
||||
</div>
|
||||
{#if lenght > 0}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="asb-bar"
|
||||
class:selected
|
||||
|
@ -94,6 +94,7 @@
|
||||
}}
|
||||
/>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="overlay"
|
||||
on:click={() => {
|
||||
|
@ -7,7 +7,6 @@
|
||||
IconCheck,
|
||||
IconClose,
|
||||
IconEdit,
|
||||
IconSize,
|
||||
Label,
|
||||
ShowMore,
|
||||
registerFocus,
|
||||
@ -36,7 +35,6 @@
|
||||
export let extraActions: RefAction[] = []
|
||||
export let showButtons: boolean = true
|
||||
export let buttonSize: ButtonSize = 'medium'
|
||||
export let formatButtonSize: IconSize = 'small'
|
||||
export let hideExtraButtons: boolean = false
|
||||
export let maxHeight: 'max' | 'card' | 'limited' | string = 'max'
|
||||
export let previewLimit: number = 240
|
||||
@ -204,6 +202,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-col styled-box"
|
||||
class:antiEmphasized={kind === 'emphasized'}
|
||||
@ -226,7 +225,6 @@
|
||||
{placeholder}
|
||||
{showButtons}
|
||||
{buttonSize}
|
||||
{formatButtonSize}
|
||||
{maxHeight}
|
||||
{focusable}
|
||||
{autofocus}
|
||||
|
@ -18,7 +18,7 @@
|
||||
import { Node as ProseMirrorNode } from '@tiptap/pm/model'
|
||||
import { getResource, IntlString } from '@hcengineering/platform'
|
||||
import { getClient } from '@hcengineering/presentation'
|
||||
import { Button, ButtonSize, IconSize, Scroller } from '@hcengineering/ui'
|
||||
import { Button, ButtonSize, Scroller } from '@hcengineering/ui'
|
||||
import textEditorPlugin from '../plugin'
|
||||
import { RefAction, RefInputActionItem, TextEditorHandler, TextFormatCategory } from '../types'
|
||||
import { generateDefaultActions } from './editor/actions'
|
||||
@ -30,7 +30,6 @@
|
||||
export let placeholder: IntlString = textEditorPlugin.string.EditorPlaceholder
|
||||
export let showButtons: boolean = true
|
||||
export let buttonSize: ButtonSize = 'medium'
|
||||
export let formatButtonSize: IconSize = 'small'
|
||||
export let isScrollable: boolean = true
|
||||
export let focusable: boolean = false
|
||||
export let maxHeight: 'max' | 'card' | 'limited' | string | undefined = undefined
|
||||
@ -149,6 +148,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="ref-container clear-mins"
|
||||
class:h-full={full}
|
||||
|
@ -56,6 +56,7 @@
|
||||
|
||||
<div class="root">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="toc" class:hovered on:click={handleOpenToc}>
|
||||
{#each items as item}
|
||||
{@const width = getLevelWidth(item.level)}
|
||||
|
@ -1141,6 +1141,7 @@
|
||||
& > *:not(:first-child) { margin-left: .25rem; }
|
||||
& > * > *:not(.only-icon) { min-width: fit-content; }
|
||||
}
|
||||
.panel-trigger > * { pointer-events: none; }
|
||||
}
|
||||
// Labels on the ListView
|
||||
.list-container .listitems-container,
|
||||
|
@ -113,6 +113,7 @@
|
||||
<div class="antiSection-header__tag overflow-label">
|
||||
<Label label={filter.label} />
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="tag-icon"
|
||||
on:click={() => {
|
||||
|
@ -115,6 +115,7 @@
|
||||
})
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="antiPopup"
|
||||
use:resizeObserver={() => {
|
||||
|
@ -298,6 +298,7 @@
|
||||
</span>
|
||||
{:else}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span class="show-diff" on:click={() => (showDiff = !showDiff)}>
|
||||
<Label label={showDiff ? ui.string.ShowLess : ui.string.ShowMore} />
|
||||
</span>
|
||||
@ -470,14 +471,8 @@
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
&.isNew {
|
||||
&::before {
|
||||
background-color: var(--highlight-red);
|
||||
}
|
||||
|
||||
.icon {
|
||||
border: 1px solid var(--highlight-red);
|
||||
}
|
||||
&.isNew::before {
|
||||
background-color: var(--highlight-red);
|
||||
}
|
||||
|
||||
&.isNextNew {
|
||||
|
@ -71,6 +71,7 @@
|
||||
{#each items as item, i}
|
||||
<div class="description {item.state}">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="caption"
|
||||
class:hasAttachments={hasAttachments && i === items.length - 1}
|
||||
|
@ -58,6 +58,7 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
on:dragover={(e) => {
|
||||
if (canDrop?.(e) ?? true) {
|
||||
|
@ -54,6 +54,7 @@
|
||||
<div class="gridCell">
|
||||
{#if isImage(value.type)}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="cellImagePreview" on:click={openAttachment}>
|
||||
<img class={'img-fit'} src={getFileUrl(value.file, 'full', value.name)} alt={value.name} />
|
||||
</div>
|
||||
@ -61,6 +62,7 @@
|
||||
<div class="cellMiscPreview">
|
||||
{#if isPDF(value.type)}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="flex-center extensionIcon" on:click={openAttachment}>
|
||||
{extensionIconLabel(value.name)}
|
||||
</div>
|
||||
@ -75,6 +77,7 @@
|
||||
<div class="cellInfo">
|
||||
{#if isEmbedded(value.type)}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="flex-center extensionIcon" on:click={openAttachment}>
|
||||
{extensionIconLabel(value.name)}
|
||||
</div>
|
||||
@ -86,6 +89,7 @@
|
||||
<div class="eCellInfoData">
|
||||
{#if isEmbedded(value.type)}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="eCellInfoFilename" on:click={openAttachment}>
|
||||
{trimFilename(value.name)}
|
||||
</div>
|
||||
|
@ -22,7 +22,7 @@
|
||||
import attachment from '../plugin'
|
||||
import { uploadFile } from '../utils'
|
||||
|
||||
export let attachments: number
|
||||
// export let attachments: number
|
||||
export let object: Doc
|
||||
export let canAdd = true
|
||||
export let canRemove = true
|
||||
|
@ -140,6 +140,7 @@
|
||||
{#if removable && value.readonly !== true}
|
||||
<span>•</span>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span
|
||||
class="remove-link"
|
||||
on:click={(ev) => {
|
||||
@ -243,13 +244,11 @@
|
||||
}
|
||||
|
||||
.name:hover,
|
||||
.icon:hover + .info-container > .name,
|
||||
.no-line:hover + .info-container > .name a {
|
||||
text-decoration: underline;
|
||||
color: var(--theme-caption-color);
|
||||
}
|
||||
.name:active,
|
||||
.icon:active + .info-container > .name,
|
||||
.no-line:active + .info-container > .name a {
|
||||
text-decoration: underline;
|
||||
color: var(--theme-caption-color);
|
||||
|
@ -34,6 +34,7 @@
|
||||
|
||||
{#if type === 'image'}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="content flex-center buttonContainer cursor-pointer"
|
||||
on:click={() => {
|
||||
|
@ -271,6 +271,7 @@
|
||||
style="display: none"
|
||||
on:change={fileSelected}
|
||||
/>
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="container"
|
||||
on:dragover|preventDefault={() => {}}
|
||||
|
@ -19,7 +19,7 @@
|
||||
import { IntlString, setPlatformStatus, unknownError } from '@hcengineering/platform'
|
||||
import { createQuery, DraftController, draftsStore, getClient } from '@hcengineering/presentation'
|
||||
import textEditor, { AttachIcon, type RefAction, StyledTextBox } from '@hcengineering/text-editor'
|
||||
import { ButtonSize, IconSize, Loading, updatePopup, Scroller } from '@hcengineering/ui'
|
||||
import { ButtonSize, Loading, updatePopup, Scroller } from '@hcengineering/ui'
|
||||
import { ListSelectionProvider, SelectDirection } from '@hcengineering/view-resources'
|
||||
import attachment from '../plugin'
|
||||
import { deleteFile, uploadFile } from '../utils'
|
||||
@ -35,7 +35,6 @@
|
||||
export let showButtons = false
|
||||
export let kind: 'normal' | 'emphasized' | 'indented' = 'normal'
|
||||
export let buttonSize: ButtonSize = 'medium'
|
||||
export let formatButtonSize: IconSize = 'small'
|
||||
export let maxHeight: 'max' | 'card' | 'limited' | string = 'max'
|
||||
export let focusable: boolean = false
|
||||
export let refContainer: HTMLElement | undefined = undefined
|
||||
@ -373,6 +372,7 @@
|
||||
on:change={fileSelected}
|
||||
/>
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-col clear-mins"
|
||||
on:paste={(ev) => pasteAction(ev)}
|
||||
@ -391,7 +391,6 @@
|
||||
{alwaysEdit}
|
||||
{showButtons}
|
||||
{buttonSize}
|
||||
{formatButtonSize}
|
||||
{maxHeight}
|
||||
{focusable}
|
||||
{kind}
|
||||
|
@ -128,6 +128,7 @@
|
||||
<Label label={attachment.string.NoAttachments} />
|
||||
</div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="over-underline text-sm caption-color"
|
||||
style:pointer-events={dragover ? 'none' : 'all'}
|
||||
|
@ -53,6 +53,7 @@
|
||||
{#each attachments as attachment, i}
|
||||
<div class="attachmentCell" class:fixed={i === selectedFileNumber}>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<AttachmentGalleryPresenter value={attachment}>
|
||||
<svelte:fragment slot="rowMenu">
|
||||
<div class="eAttachmentCellActions" class:fixed={i === selectedFileNumber}>
|
||||
|
@ -60,6 +60,7 @@
|
||||
<Icon icon={FileDownload} size={'small'} />
|
||||
</a>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="eAttachmentRowMenu" on:click={(event) => showFileMenu(event, attachment, i)}>
|
||||
<IconMoreV size={'small'} />
|
||||
</div>
|
||||
|
@ -71,6 +71,8 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<div class="sortMenu" on:click={(event) => showSortMenu(event)}>
|
||||
<Label label={attachment.string.FileBrowserSort} />
|
||||
<Label label={sortModeToString(selectedSort)} />
|
||||
|
@ -126,6 +126,7 @@
|
||||
/>
|
||||
</div>
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="antiSection-empty attachments items mt-3"
|
||||
class:solid={dragover}
|
||||
|
@ -350,7 +350,7 @@
|
||||
}}
|
||||
>
|
||||
<svelte:fragment slot="cell" let:date let:today let:selected let:wrongMonth>
|
||||
<Day events={findEvents(objects, date)} {date} {_class} {options} {today} {selected} {wrongMonth} {query} />
|
||||
<Day events={findEvents(objects, date)} {date} {today} {selected} {wrongMonth} />
|
||||
</svelte:fragment>
|
||||
</YearCalendar>
|
||||
{:else if mode === CalendarMode.Month}
|
||||
@ -360,12 +360,9 @@
|
||||
events={findEvents(objects, date)}
|
||||
{date}
|
||||
size={'huge'}
|
||||
{_class}
|
||||
{options}
|
||||
{today}
|
||||
{selected}
|
||||
{wrongMonth}
|
||||
{query}
|
||||
on:select={(e) => {
|
||||
currentDate = e.detail
|
||||
if (areDatesEqual(selectedDate, currentDate)) {
|
||||
|
@ -13,7 +13,7 @@
|
||||
// limitations under the License.
|
||||
-->
|
||||
<script lang="ts">
|
||||
import { Calendar, Event, generateEventId } from '@hcengineering/calendar'
|
||||
import { Calendar, generateEventId } from '@hcengineering/calendar'
|
||||
import { Employee, PersonAccount } from '@hcengineering/contact'
|
||||
import { UserBoxList } from '@hcengineering/contact-resources'
|
||||
import { Class, DateRangeMode, Doc, Ref, getCurrentAccount } from '@hcengineering/core'
|
||||
@ -24,7 +24,7 @@
|
||||
|
||||
export let attachedTo: Ref<Doc>
|
||||
export let attachedToClass: Ref<Class<Doc>>
|
||||
export let event: Event | undefined = undefined
|
||||
// export let event: Event | undefined = undefined
|
||||
export let title: string = ''
|
||||
let _title = title
|
||||
|
||||
|
@ -14,7 +14,7 @@
|
||||
-->
|
||||
<script lang="ts">
|
||||
import { Event } from '@hcengineering/calendar'
|
||||
import { Class, Doc, DocumentQuery, FindOptions, Ref } from '@hcengineering/core'
|
||||
// import { Class, Doc, DocumentQuery, FindOptions, Ref } from '@hcengineering/core'
|
||||
import { Label, addZero, getPlatformColorForTextDef, showPopup, themeStore, tooltip } from '@hcengineering/ui'
|
||||
import { createEventDispatcher } from 'svelte'
|
||||
import calendar from '../plugin'
|
||||
@ -24,9 +24,9 @@
|
||||
export let date: Date
|
||||
export let size: 'small' | 'huge' = 'small'
|
||||
|
||||
export let _class: Ref<Class<Doc>>
|
||||
export let query: DocumentQuery<Event> = {}
|
||||
export let options: FindOptions<Event> | undefined = undefined
|
||||
// export let _class: Ref<Class<Doc>>
|
||||
// export let query: DocumentQuery<Event> = {}
|
||||
// export let options: FindOptions<Event> | undefined = undefined
|
||||
|
||||
export let today: boolean = false
|
||||
export let selected: boolean = false
|
||||
@ -46,6 +46,7 @@
|
||||
<div class="h-full w-full p-0-5 flex-col" use:tooltip={tip}>
|
||||
<div class="flex-row-reverse">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="date flex-center"
|
||||
class:today
|
||||
@ -59,6 +60,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-col flex-grow mt-1"
|
||||
on:click={() => {
|
||||
@ -119,13 +121,4 @@
|
||||
background-color: var(--primary-button-disabled);
|
||||
border-color: var(--primary-button-outline);
|
||||
}
|
||||
.marker {
|
||||
position: absolute;
|
||||
top: 0.25rem;
|
||||
right: 0.25rem;
|
||||
width: 0.25rem;
|
||||
height: 0.25rem;
|
||||
border-radius: 50%;
|
||||
background-color: var(--highlight-red);
|
||||
}
|
||||
</style>
|
||||
|
@ -736,7 +736,7 @@
|
||||
style:--mask-image={getMask(rect.visibility)}
|
||||
tabindex={500 + i}
|
||||
>
|
||||
<EventElement hourHeight={cellHeight} event={ev} size={{ width: rect.width, height: rect.height }} />
|
||||
<EventElement event={ev} size={{ width: rect.width, height: rect.height }} />
|
||||
</div>
|
||||
{/if}
|
||||
{/each}
|
||||
@ -759,7 +759,7 @@
|
||||
style:--mask-image={getMask(rect.visibility)}
|
||||
tabindex={500 + i}
|
||||
>
|
||||
<EventElement hourHeight={cellHeight} event={ev} size={{ width: rect.width, height: rect.height }} />
|
||||
<EventElement event={ev} size={{ width: rect.width, height: rect.height }} />
|
||||
</div>
|
||||
{/if}
|
||||
{/each}
|
||||
@ -781,7 +781,7 @@
|
||||
style:--mask-image={getMask(rect.visibility)}
|
||||
tabindex={500 + i}
|
||||
>
|
||||
<EventElement hourHeight={cellHeight} event={ev} size={{ width: rect.width, height: rect.height }} />
|
||||
<EventElement event={ev} size={{ width: rect.width, height: rect.height }} />
|
||||
</div>
|
||||
{/if}
|
||||
{/each}
|
||||
@ -917,7 +917,6 @@
|
||||
/>
|
||||
<EventElement
|
||||
event={ev}
|
||||
hourHeight={cellHeight}
|
||||
size={{
|
||||
width: rect.width,
|
||||
height: (calendarRect?.height ?? rect.top + rect.bottom) - rect.top - rect.bottom
|
||||
@ -1001,8 +1000,6 @@
|
||||
border-left: 1px solid var(--theme-divider-color);
|
||||
border-bottom: 1px solid var(--theme-divider-color);
|
||||
}
|
||||
.clear-cell {
|
||||
}
|
||||
.time-cell {
|
||||
display: inline-flex;
|
||||
justify-content: center;
|
||||
@ -1142,10 +1139,6 @@
|
||||
}
|
||||
&.allday-container {
|
||||
overflow: hidden;
|
||||
|
||||
.allday-event {
|
||||
border-radius: 0.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.zone {
|
||||
|
@ -30,7 +30,7 @@
|
||||
import EventPresenter from './EventPresenter.svelte'
|
||||
|
||||
export let event: Event
|
||||
export let hourHeight: number
|
||||
// export let hourHeight: number
|
||||
export let size: { width: number, height: number }
|
||||
|
||||
$: oneRow = size.height < 42 || event.allDay
|
||||
@ -66,6 +66,7 @@
|
||||
|
||||
{#if event}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
bind:this={div}
|
||||
class="event-container"
|
||||
|
@ -38,6 +38,7 @@
|
||||
size={'x-small'}
|
||||
padding={'0 .5rem'}
|
||||
focusIndex={-1}
|
||||
{disabled}
|
||||
noFocus
|
||||
on:click={() => {
|
||||
dispatch('removeParticipant', participant)
|
||||
@ -56,6 +57,7 @@
|
||||
size={'x-small'}
|
||||
padding={'0 .5rem'}
|
||||
focusIndex={-1}
|
||||
{disabled}
|
||||
noFocus
|
||||
on:click={() => {
|
||||
dispatch('removeExtParticipant', externalParticipant)
|
||||
|
@ -84,7 +84,7 @@
|
||||
|
||||
<div class="flex-row-center gap-1-5 pb-0-5 pr-1">
|
||||
<Icon icon={calendar.icon.Participants} size="small" />
|
||||
<AddParticipant {placeholder} excluded={participants} focusable fullSize on:ref={ref} on:enter={enter} />
|
||||
<AddParticipant {placeholder} excluded={participants} focusable fullSize {disabled} on:ref={ref} on:enter={enter} />
|
||||
</div>
|
||||
{#if allParticipants.length}
|
||||
<Scroller padding={'.125rem .375rem 0 1.5rem'} shrink>
|
||||
@ -94,6 +94,7 @@
|
||||
participant={p.participant}
|
||||
externalParticipant={p.externalParticipant}
|
||||
focusIndex={10010 + i}
|
||||
{disabled}
|
||||
on:removeParticipant={() => {
|
||||
if (p.participant) removeParticipant(p.participant)
|
||||
}}
|
||||
@ -120,6 +121,7 @@
|
||||
participant={allParticipants[allParticipants.length - 1].participant}
|
||||
externalParticipant={allParticipants[allParticipants.length - 1].externalParticipant}
|
||||
focusIndex={10010 + shortListLength - 1}
|
||||
{disabled}
|
||||
on:removeParticipant={(event) => {
|
||||
if (event.detail !== undefined) removeParticipant(event.detail)
|
||||
}}
|
||||
@ -133,6 +135,7 @@
|
||||
participant={p.participant}
|
||||
externalParticipant={p.externalParticipant}
|
||||
focusIndex={10010 + i}
|
||||
{disabled}
|
||||
on:removeParticipant={() => {
|
||||
if (p.participant) removeParticipant(p.participant)
|
||||
}}
|
||||
|
@ -38,6 +38,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="antiSelect w-full cursor-pointer flex-center flex-between" on:click={click}>
|
||||
{#if value}
|
||||
<div class="mr-4">
|
||||
|
@ -31,6 +31,7 @@
|
||||
{#if !allDay && rules.length === 0}
|
||||
<div class="antiButton ghost x-small sh-no-shape text-11px pl-2 pr-2 pt-1 pb-1 mt-1 ml-5-5 gap-3 w-min">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="overflow-label cursor-pointer" on:click={() => (allDay = true)}>
|
||||
<Label label={calendar.string.AllDay} />
|
||||
</div>
|
||||
@ -39,6 +40,7 @@
|
||||
</div>
|
||||
{#if !noRepeat}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="overflow-label cursor-pointer" on:click={() => dispatch('repeat')}>
|
||||
<Label label={calendar.string.Repeat} />
|
||||
</div>
|
||||
|
@ -15,7 +15,7 @@
|
||||
<script lang="ts">
|
||||
import { Event } from '@hcengineering/calendar'
|
||||
import { Class, DocumentQuery, Ref, Space, WithLookup } from '@hcengineering/core'
|
||||
import { Asset, IntlString } from '@hcengineering/platform'
|
||||
import { IntlString } from '@hcengineering/platform'
|
||||
import { AnyComponent, Button, Component, IconAdd, Label, Loading, showPopup } from '@hcengineering/ui'
|
||||
import { Viewlet, ViewletPreference } from '@hcengineering/view'
|
||||
import { ViewletSelector, getViewOptions, viewOptionStore } from '@hcengineering/view-resources'
|
||||
@ -26,7 +26,7 @@
|
||||
export let space: Ref<Space> | undefined = undefined
|
||||
export let query: DocumentQuery<Event> = {}
|
||||
|
||||
export let viewIcon: Asset = calendar.icon.Calendar
|
||||
// export let viewIcon: Asset = calendar.icon.Calendar
|
||||
export let viewLabel: IntlString = calendar.string.Events
|
||||
|
||||
export let createComponent: AnyComponent | undefined = calendar.component.CreateEvent
|
||||
|
@ -91,6 +91,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="cursor-pointer w-full h-full"
|
||||
on:click={() => {
|
||||
|
@ -51,6 +51,7 @@
|
||||
<div class="flex-between header">
|
||||
<div class="overflow-label fs-title"><Label label={calendar.string.ConnectCalendar} /></div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="tool"
|
||||
on:click={() => {
|
||||
|
@ -57,6 +57,7 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="antiPopup thinStyle" on:keydown={onKeyDown}>
|
||||
<div class="ap-space x1-5" />
|
||||
<div class="ap-scroll">
|
||||
|
@ -37,6 +37,7 @@
|
||||
<div class="flex persons">
|
||||
{#each persons as p}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-presenter"
|
||||
class:inline-presenter={inline}
|
||||
|
@ -35,6 +35,7 @@
|
||||
<div class="ap-space x1-5" />
|
||||
{#each values as val}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="ap-menuItem flex-row-center withCheck hoverable step-tb375"
|
||||
on:click={() => {
|
||||
|
@ -27,6 +27,8 @@
|
||||
const objectPresenter = getResource(view.component.ObjectPresenter)
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="antiSelect w-full cursor-pointer flex-between" on:click={click}>
|
||||
{#if value}
|
||||
{#await objectPresenter then component}
|
||||
|
@ -96,10 +96,6 @@
|
||||
user-select: none;
|
||||
box-shadow: var(--theme-popup-shadow);
|
||||
|
||||
.message {
|
||||
margin-bottom: 1.75rem;
|
||||
color: var(--theme-content-color);
|
||||
}
|
||||
.footer {
|
||||
flex-shrink: 0;
|
||||
display: grid;
|
||||
|
@ -36,6 +36,8 @@
|
||||
<div class="flex">
|
||||
{#await getEvent(tx.objectId) then event}
|
||||
{#if event}
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<span
|
||||
class="over-underline caption-color flex-row-center"
|
||||
on:click={() => {
|
||||
|
@ -50,6 +50,7 @@
|
||||
</script>
|
||||
|
||||
<div class="commentPopup-container">
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-between header"
|
||||
use:resizeObserver={() => {
|
||||
|
@ -25,7 +25,7 @@
|
||||
|
||||
export let value: Comment
|
||||
export let inline: boolean = false
|
||||
export let disabled = false
|
||||
// export let disabled = false
|
||||
export let inbox: boolean = false
|
||||
|
||||
const client = getClient()
|
||||
|
@ -61,6 +61,7 @@
|
||||
{#await getDmName(client, dm) then name}
|
||||
{#await getEmpolyeeIds() then empolyeeIds}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="ac-header__wrap-title" on:click={onSpaceEdit}>
|
||||
<div class="ac-header__icon">
|
||||
<CombineAvatars _class={contact.mixin.Employee} items={empolyeeIds} size={'x-small'} />
|
||||
|
@ -87,6 +87,7 @@
|
||||
<Icon icon={FileDownload} size={'small'} />
|
||||
</a>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div id="context-menu" class="eAttachmentRowMenu" on:click={(event) => showMenu(event, attachment, i)}>
|
||||
<IconMoreV size={'small'} />
|
||||
</div>
|
||||
@ -95,6 +96,7 @@
|
||||
{/each}
|
||||
{#if visibleAttachments.length < totalAttachments}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="showMoreAttachmentsButton"
|
||||
on:click={() => {
|
||||
|
@ -29,6 +29,7 @@
|
||||
|
||||
<div class="ac-header__wrap-description">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="ac-header__wrap-title" on:click>
|
||||
{#if icon}<div class="ac-header__icon"><Icon {icon} size={'small'} /></div>{/if}
|
||||
{#if label}
|
||||
|
@ -17,6 +17,7 @@
|
||||
|
||||
<div id={fixed ? '' : time?.toString()} class="flex-center clear-mins dateSelector">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
bind:this={div}
|
||||
class="border-radius-4 over-underline dateSelectorButton clear-mins"
|
||||
|
@ -93,6 +93,8 @@
|
||||
{#if messages.length > 0}
|
||||
<Scroller>
|
||||
{#each messages as message}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
on:click={() => {
|
||||
openMessageFromSpecial(message)
|
||||
|
@ -15,6 +15,8 @@
|
||||
|
||||
{#if pinnedIds.length > 0}
|
||||
<div class="bottom-divider over-underline pt-2 pb-2 container">
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<div
|
||||
on:click={(ev) => {
|
||||
showMessages(ev)
|
||||
|
@ -58,6 +58,7 @@
|
||||
{employee ? getName(client.getHierarchy(), employee) : ''}
|
||||
</span>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="cross"
|
||||
on:click={async () => {
|
||||
|
@ -38,6 +38,8 @@
|
||||
<div class="container">
|
||||
{#each [...reactionsAccounts] as [emoji, accounts]}
|
||||
<div class="reaction over-underline">
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<div
|
||||
class="flex-row-center"
|
||||
use:tooltip={{ component: ReactionsTooltip, props: { reactionAccounts: accounts } }}
|
||||
|
@ -56,6 +56,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="flex-row-center container cursor-pointer" on:click>
|
||||
<div class="flex-row-center">
|
||||
{#each showReplies as reply}
|
||||
|
@ -98,6 +98,7 @@
|
||||
{#if savedMessages.length > 0 || savedAttachments.length > 0}
|
||||
{#each savedMessages as message}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="clear-mins flex-no-shrink"
|
||||
on:click={() => {
|
||||
@ -116,6 +117,7 @@
|
||||
{/each}
|
||||
{#each savedAttachments as att}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="attachmentContainer flex-no-shrink clear-mins" on:click={() => openAttachment(att)}>
|
||||
<AttachmentPreview value={att} isSaved={true} />
|
||||
<div class="label">
|
||||
|
@ -178,6 +178,7 @@
|
||||
<MsgView message={parent} thread {savedAttachmentsIds} {readOnly} />
|
||||
{#if total > comments.length}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="label pb-2 pt-2 pl-8 over-underline clear-mins"
|
||||
on:click={() => {
|
||||
|
@ -180,6 +180,7 @@
|
||||
<div class="header">
|
||||
<div class="title"><Label label={chunter.string.Thread} /></div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="tool"
|
||||
on:click={() => {
|
||||
|
@ -127,6 +127,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
{id}
|
||||
bind:this={container}
|
||||
|
@ -165,6 +165,7 @@
|
||||
|
||||
<FocusHandler {manager} />
|
||||
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="selectPopup"
|
||||
class:full-width={width === 'full'}
|
||||
|
@ -147,6 +147,7 @@
|
||||
{:else}
|
||||
<div class="flex-row-center gap-2">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span
|
||||
class="select-text cover-channel overflow-label"
|
||||
class:show
|
||||
|
@ -40,6 +40,7 @@
|
||||
<div class="overflow-label">{value.value}</div>
|
||||
</div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="button" on:click|preventDefault={copyLink}>
|
||||
<IconCopy size={'small'} />
|
||||
</div>
|
||||
|
@ -54,6 +54,7 @@
|
||||
|
||||
<input style="display: none;" type="file" bind:this={inputRef} on:change={onSelect} accept={targetMimes.join(',')} />
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="overlay"
|
||||
on:click={() => {
|
||||
|
@ -98,6 +98,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="cursor-pointer" on:click|self={showSelectionPopup}>
|
||||
<AvatarComponent
|
||||
{direct}
|
||||
|
@ -7,7 +7,7 @@
|
||||
|
||||
export let search: string = ''
|
||||
const client = getClient()
|
||||
export let withHeader: boolean = true
|
||||
// export let withHeader: boolean = true
|
||||
$: searchQuery = search.length ? { $search: search } : {}
|
||||
$: resultQuery = { ...searchQuery }
|
||||
let employees: Employee[] = []
|
||||
|
@ -19,7 +19,7 @@
|
||||
export let colorInherit: boolean = false
|
||||
export let accent: boolean = false
|
||||
export let defaultName: IntlString | undefined = ui.string.NotSelected
|
||||
export let element: HTMLElement | undefined = undefined
|
||||
// export let element: HTMLElement | undefined = undefined
|
||||
export let noUnderline: boolean = false
|
||||
|
||||
$: employeeValue = typeof value === 'string' ? $personByIdStore.get(value) : value
|
||||
@ -29,7 +29,6 @@
|
||||
</script>
|
||||
|
||||
<PersonPresenter
|
||||
bind:element
|
||||
value={employeeValue}
|
||||
{tooltipLabels}
|
||||
onEdit={onEmployeeEdit}
|
||||
|
@ -82,6 +82,7 @@
|
||||
</div>
|
||||
{:else if editable}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="flex-row-stretch over-underline pb-2" on:click={onEdit}>
|
||||
<Label label={contact.string.SetStatus} />
|
||||
</div>
|
||||
|
@ -100,6 +100,7 @@
|
||||
<Label label={contact.string.NoMembers} />
|
||||
</span>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span class="over-underline content-color" on:click={createApp}>
|
||||
<Label label={contact.string.AddMember} />
|
||||
</span>
|
||||
|
@ -30,5 +30,5 @@
|
||||
</script>
|
||||
|
||||
{#if account}
|
||||
<PersonAccountPresenter value={account} {disabled} {inline} {avatarSize} on:accent-color />
|
||||
<PersonAccountPresenter value={account} {disabled} {inline} {avatarSize} {accent} on:accent-color />
|
||||
{/if}
|
||||
|
@ -34,7 +34,7 @@
|
||||
export let disabled = false
|
||||
export let shouldShowAvatar: boolean = true
|
||||
export let shouldShowName = true
|
||||
export let element: HTMLElement | undefined = undefined
|
||||
// export let element: HTMLElement | undefined = undefined
|
||||
export let shouldShowPlaceholder = false
|
||||
export let noUnderline: boolean = false
|
||||
export let defaultName: IntlString | undefined = undefined
|
||||
@ -112,6 +112,7 @@
|
||||
{/if}
|
||||
{:else if shouldShowPlaceholder}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span
|
||||
class="antiPresenter"
|
||||
class:text-base={enlargedText}
|
||||
|
@ -35,7 +35,7 @@
|
||||
export let tooltipLabels: PersonLabelTooltip | undefined = undefined
|
||||
export let avatarSize: IconSize = 'x-small'
|
||||
export let onEdit: ((event: MouseEvent) => void) | undefined = undefined
|
||||
export let element: HTMLElement | undefined = undefined
|
||||
// export let element: HTMLElement | undefined = undefined
|
||||
export let colorInherit: boolean = false
|
||||
export let accent: boolean = false
|
||||
export let maxWidth = ''
|
||||
@ -95,7 +95,6 @@
|
||||
{colorInherit}
|
||||
{accent}
|
||||
{maxWidth}
|
||||
bind:element
|
||||
on:accent-color
|
||||
/>
|
||||
{/if}
|
||||
|
@ -67,6 +67,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-row-center flex-nowrap content-pointer-events-none"
|
||||
class:cursor-pointer={!readonly}
|
||||
|
@ -100,6 +100,7 @@
|
||||
{#if !isSearch && withAddButton}
|
||||
<div class="item fs-title">
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="flex-row-center" on:click={openAddMembersPopup}>
|
||||
<div class="flex-center ml-1 mr-1"><IconAdd size={'large'} /></div>
|
||||
<div class="flex-col ml-2 min-w-0 content-color">
|
||||
@ -130,6 +131,7 @@
|
||||
<div class="item flex-between">
|
||||
<div class="fs-title"><UserInfo size={'medium'} value={person} /></div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="over-underline" on:click={() => add(person._id)}>
|
||||
<Label label={presentation.string.Add} />
|
||||
</div>
|
||||
|
@ -119,6 +119,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div {id} bind:this={container} class="min-w-0" class:w-full={width === '100%'} class:h-full={$$slots.content}>
|
||||
{#if $$slots.content}
|
||||
<div
|
||||
|
@ -107,6 +107,7 @@
|
||||
</div>
|
||||
{#if !readonly}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="addButton {size === 'inline' ? 'small' : 'medium'} overflow-label gap-2 cursor-pointer"
|
||||
class:mt-2={persons.length > 0}
|
||||
|
@ -30,6 +30,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="flex-row-center" on:click>
|
||||
<Avatar avatar={value.avatar} {size} {icon} name={value.name} on:accent-color />
|
||||
<div class="flex-col min-w-0 {size === 'tiny' || size === 'inline' ? 'ml-1' : 'ml-2'}" class:max-w-20={short}>
|
||||
|
@ -17,7 +17,7 @@
|
||||
import { IconSize } from '@hcengineering/ui'
|
||||
|
||||
export let size: IconSize
|
||||
export let fill: string = 'var(--theme-caption-color)'
|
||||
// export let fill: string = 'var(--theme-caption-color)'
|
||||
</script>
|
||||
|
||||
<svg class="svg-newavatar ava-{size}" viewBox="0 0 26 24" xmlns="http://www.w3.org/2000/svg">
|
||||
|
@ -16,7 +16,7 @@
|
||||
import { IconSize } from '@hcengineering/ui'
|
||||
|
||||
export let size: IconSize
|
||||
export let fill: string = 'currentColor'
|
||||
// export let fill: string = 'currentColor'
|
||||
</script>
|
||||
|
||||
<svg class="ava-{size}" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||
|
@ -51,6 +51,7 @@
|
||||
<div class="flex-between header">
|
||||
<div class="overflow-label fs-title"><Label label={gmail.string.ConnectGmail} /></div>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="tool"
|
||||
on:click={() => {
|
||||
|
@ -34,7 +34,7 @@
|
||||
import NewMessage from './NewMessage.svelte'
|
||||
|
||||
export let channel: Channel
|
||||
export let embedded = false
|
||||
// export let embedded = false
|
||||
export let message: Message | undefined = undefined
|
||||
|
||||
const client = getClient()
|
||||
|
@ -31,6 +31,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="flex-row-center clear-mins message-conatiner step-tb5"
|
||||
on:click|preventDefault={() => {
|
||||
|
@ -302,6 +302,7 @@
|
||||
</div>
|
||||
</div>
|
||||
<Scroller>
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="popupPanel-body__main-content py-4 h-full"
|
||||
on:dragover|preventDefault={() => {}}
|
||||
|
@ -29,4 +29,6 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span class="over-underline overflow-label" on:click={click}>{value.subject}</span>
|
||||
|
@ -54,6 +54,7 @@
|
||||
<div class="firstCell" {style}>
|
||||
{#if descendants.has(object._id)}
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="expand"
|
||||
on:click={() => {
|
||||
@ -73,6 +74,7 @@
|
||||
{...attribute.props}
|
||||
/>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div class="menuRow" on:click={(ev) => showMenu(ev, object)}><IconMoreV size={'small'} /></div>
|
||||
</div>
|
||||
</td>
|
||||
|
@ -51,6 +51,8 @@
|
||||
<span class="text-sm content-dark-color mt-2">
|
||||
<Label label={inventory.string.NoVariantsForProduct} />
|
||||
</span>
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<span class="text-sm content-color over-underline" on:click={create}>
|
||||
<Label label={inventory.string.CreateVariant} />
|
||||
</span>
|
||||
|
@ -26,6 +26,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="antiNav-element"
|
||||
class:selected
|
||||
|
@ -86,6 +86,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
{#if doc}
|
||||
<div bind:this={div} class="inbox-activity__container" class:selected tabindex="-1" on:keydown on:click>
|
||||
{#if newTxes > 0 && !selected}<div class="notify" />{/if}
|
||||
|
@ -76,6 +76,7 @@
|
||||
</script>
|
||||
|
||||
{#if doc}
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="inbox-activity__container"
|
||||
on:keydown
|
||||
|
@ -15,13 +15,13 @@
|
||||
<script lang="ts">
|
||||
import { PersonAccount } from '@hcengineering/contact'
|
||||
import { PersonAccountRefPresenter } from '@hcengineering/contact-resources'
|
||||
import { Doc, Ref, TxMixin } from '@hcengineering/core'
|
||||
import { Ref } from '@hcengineering/core'
|
||||
import { Collaborators } from '@hcengineering/notification'
|
||||
import { getClient } from '@hcengineering/presentation'
|
||||
import { IconAdd, IconDelete, Label } from '@hcengineering/ui'
|
||||
import notification from '../../plugin'
|
||||
|
||||
export let tx: TxMixin<Doc, Collaborators>
|
||||
// export let tx: TxMixin<Doc, Collaborators>
|
||||
export let value: Collaborators
|
||||
export let prevValue: Collaborators | undefined = undefined
|
||||
|
||||
|
@ -13,14 +13,12 @@
|
||||
// limitations under the License.
|
||||
-->
|
||||
<script lang="ts">
|
||||
import { TxCreateDoc } from '@hcengineering/core'
|
||||
import { Label } from '@hcengineering/ui'
|
||||
import { DirectMessage } from '@hcengineering/chunter'
|
||||
|
||||
import notification from '../../plugin'
|
||||
|
||||
export let tx: TxCreateDoc<DirectMessage>
|
||||
export let value: DirectMessage
|
||||
// export let tx: TxCreateDoc<DirectMessage>
|
||||
// export let value: DirectMessage
|
||||
</script>
|
||||
|
||||
<Label label={notification.string.YouHaveJoinedTheConversation} />
|
||||
|
@ -26,6 +26,7 @@
|
||||
</script>
|
||||
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div
|
||||
class="antiNav-element"
|
||||
class:selected
|
||||
|
@ -243,6 +243,7 @@
|
||||
<div class="antiTable-cells__firstCell whitespace-nowrap">
|
||||
<Label label={attr.label} />
|
||||
<!-- svelte-ignore a11y-click-events-have-key-events -->
|
||||
<!-- svelte-ignore a11y-no-static-element-interactions -->
|
||||
<div id="context-menu" class="antiTable-cells__firstCell-menuRow" on:click={(ev) => showMenu(ev, attr)}>
|
||||
<IconMoreV size={'small'} />
|
||||
</div>
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user