mirror of
https://github.com/hcengineering/platform.git
synced 2025-04-22 08:20:39 +00:00
parent
227b29d7bc
commit
d97f72234b
@ -453,14 +453,6 @@
|
|||||||
? 'visible'
|
? 'visible'
|
||||||
: 'hidden'
|
: 'hidden'
|
||||||
let scrollY: number = 0
|
let scrollY: number = 0
|
||||||
|
|
||||||
let safariScrollJumpfix: boolean = true
|
|
||||||
export const enableSafariScrollJumpFix = (enable: boolean): void => {
|
|
||||||
if (enable) {
|
|
||||||
scrollY = divScroll?.scrollTop ?? 0
|
|
||||||
}
|
|
||||||
safariScrollJumpfix = enable
|
|
||||||
}
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<svelte:window on:resize={_resize} />
|
<svelte:window on:resize={_resize} />
|
||||||
@ -484,13 +476,13 @@
|
|||||||
}}
|
}}
|
||||||
class="scroll relative flex-shrink"
|
class="scroll relative flex-shrink"
|
||||||
style:overflow-x={horizontal ? 'auto' : 'hidden'}
|
style:overflow-x={horizontal ? 'auto' : 'hidden'}
|
||||||
on:scroll={() => {
|
on:scroll={(evt) => {
|
||||||
if ($tooltipstore.label !== undefined) closeTooltip()
|
if ($tooltipstore.label !== undefined) closeTooltip()
|
||||||
|
const newPos = divScroll?.scrollTop ?? 0
|
||||||
|
|
||||||
// TODO: Workaround: https://front.hc.engineering/workbench/platform/tracker/TSK-760
|
// TODO: Workaround: https://front.hc.engineering/workbench/platform/tracker/TSK-760
|
||||||
// In Safari scroll could jump on click, with no particular reason.
|
// In Safari scroll could jump on click, with no particular reason.
|
||||||
if (safariScrollJumpfix) {
|
|
||||||
const newPos = divScroll?.scrollTop ?? 0
|
|
||||||
if (
|
if (
|
||||||
!scrolling &&
|
!scrolling &&
|
||||||
!isScrolling &&
|
!isScrolling &&
|
||||||
@ -502,7 +494,6 @@
|
|||||||
divScroll.scrollTop = scrollY
|
divScroll.scrollTop = scrollY
|
||||||
}
|
}
|
||||||
scrollY = divScroll?.scrollTop ?? 0
|
scrollY = divScroll?.scrollTop ?? 0
|
||||||
}
|
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<div
|
<div
|
||||||
|
@ -20,12 +20,12 @@
|
|||||||
import ui, {
|
import ui, {
|
||||||
addNotification,
|
addNotification,
|
||||||
deviceOptionsStore,
|
deviceOptionsStore,
|
||||||
|
EditWithIcon,
|
||||||
Icon,
|
Icon,
|
||||||
IconCheck,
|
IconCheck,
|
||||||
|
IconSearch,
|
||||||
Loading,
|
Loading,
|
||||||
resizeObserver,
|
resizeObserver
|
||||||
EditWithIcon,
|
|
||||||
IconSearch
|
|
||||||
} from '@hcengineering/ui'
|
} from '@hcengineering/ui'
|
||||||
import { Filter } from '@hcengineering/view'
|
import { Filter } from '@hcengineering/view'
|
||||||
import { FILTER_DEBOUNCE_MS, FilterRemovedNotification, sortFilterValues } from '@hcengineering/view-resources'
|
import { FILTER_DEBOUNCE_MS, FilterRemovedNotification, sortFilterValues } from '@hcengineering/view-resources'
|
||||||
@ -84,8 +84,7 @@
|
|||||||
}
|
}
|
||||||
if (values.length !== targets.size) {
|
if (values.length !== targets.size) {
|
||||||
const oldSize = filter.value.length
|
const oldSize = filter.value.length
|
||||||
const set = new Set(values.map((p) => p?._id))
|
filter.value = filter.value.filter((p) => targets.has(p))
|
||||||
filter.value = filter.value.filter((p) => set.has(p))
|
|
||||||
const removed = oldSize - (filter.value.length ?? 0)
|
const removed = oldSize - (filter.value.length ?? 0)
|
||||||
if (removed > 0) {
|
if (removed > 0) {
|
||||||
onChange(filter)
|
onChange(filter)
|
||||||
|
@ -88,7 +88,7 @@
|
|||||||
"BeforeDate": "До даты",
|
"BeforeDate": "До даты",
|
||||||
"AfterDate": "После даты",
|
"AfterDate": "После даты",
|
||||||
"BetweenDates": "Между датами",
|
"BetweenDates": "Между датами",
|
||||||
"Public": "Публичныйы",
|
"Public": "Публичный",
|
||||||
"Hide": "Спрятать",
|
"Hide": "Спрятать",
|
||||||
"SaveAs": "Сохранить как",
|
"SaveAs": "Сохранить как",
|
||||||
"And": "и",
|
"And": "и",
|
||||||
|
@ -148,7 +148,6 @@
|
|||||||
on:select-prev={(evt) => {
|
on:select-prev={(evt) => {
|
||||||
select(-2, evt.detail)
|
select(-2, evt.detail)
|
||||||
}}
|
}}
|
||||||
on:collapsed
|
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -319,7 +319,6 @@
|
|||||||
index: e.detail.index + getInitIndex(categories, i)
|
index: e.detail.index + getInitIndex(categories, i)
|
||||||
})
|
})
|
||||||
}}
|
}}
|
||||||
on:collapsed
|
|
||||||
{flatHeaders}
|
{flatHeaders}
|
||||||
{disableHeader}
|
{disableHeader}
|
||||||
{props}
|
{props}
|
||||||
|
@ -390,7 +390,6 @@
|
|||||||
$focusStore = { provider: $focusStore.provider }
|
$focusStore = { provider: $focusStore.provider }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
dispatch('collapsed', { div })
|
|
||||||
}
|
}
|
||||||
localStorage.setItem(categoryCollapseKey, collapsed ? 'true' : 'false')
|
localStorage.setItem(categoryCollapseKey, collapsed ? 'true' : 'false')
|
||||||
}}
|
}}
|
||||||
@ -461,6 +460,11 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
|
.expandCollapse {
|
||||||
|
overflow: hidden;
|
||||||
|
transition: height 0.3s ease-out;
|
||||||
|
height: auto;
|
||||||
|
}
|
||||||
.zero-container {
|
.zero-container {
|
||||||
border-radius: 0.25rem;
|
border-radius: 0.25rem;
|
||||||
|
|
||||||
|
@ -198,6 +198,7 @@
|
|||||||
|
|
||||||
<style lang="scss">
|
<style lang="scss">
|
||||||
.categoryHeader {
|
.categoryHeader {
|
||||||
|
position: relative;
|
||||||
position: sticky;
|
position: sticky;
|
||||||
top: 0;
|
top: 0;
|
||||||
padding: 0 2.5rem 0 0.75rem;
|
padding: 0 2.5rem 0 0.75rem;
|
||||||
|
@ -22,7 +22,6 @@
|
|||||||
export let props: Record<string, any> = {}
|
export let props: Record<string, any> = {}
|
||||||
|
|
||||||
let list: List
|
let list: List
|
||||||
let scroll: Scroller
|
|
||||||
|
|
||||||
const listProvider = new ListSelectionProvider((offset: 1 | -1 | 0, of?: Doc, dir?: SelectDirection) => {
|
const listProvider = new ListSelectionProvider((offset: 1 | -1 | 0, of?: Doc, dir?: SelectDirection) => {
|
||||||
if (dir === 'vertical') {
|
if (dir === 'vertical') {
|
||||||
@ -44,7 +43,6 @@
|
|||||||
|
|
||||||
<div class="w-full h-full py-4 clear-mins">
|
<div class="w-full h-full py-4 clear-mins">
|
||||||
<Scroller
|
<Scroller
|
||||||
bind:this={scroll}
|
|
||||||
fade={{ multipler: { top: 2.75 * viewOptions.groupBy.length, bottom: 0 } }}
|
fade={{ multipler: { top: 2.75 * viewOptions.groupBy.length, bottom: 0 } }}
|
||||||
padding={'0 1rem'}
|
padding={'0 1rem'}
|
||||||
noFade
|
noFade
|
||||||
@ -71,13 +69,8 @@
|
|||||||
on:check={(event) => {
|
on:check={(event) => {
|
||||||
listProvider.updateSelection(event.detail.docs, event.detail.value)
|
listProvider.updateSelection(event.detail.docs, event.detail.value)
|
||||||
}}
|
}}
|
||||||
on:content={(event) => {
|
on:content={(evt) => {
|
||||||
listProvider.update(event.detail)
|
listProvider.update(evt.detail)
|
||||||
}}
|
|
||||||
on:collapsed={(event) => {
|
|
||||||
scroll.enableSafariScrollJumpFix(false)
|
|
||||||
event.detail.div.scrollIntoView(true)
|
|
||||||
scroll.enableSafariScrollJumpFix(true)
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</Scroller>
|
</Scroller>
|
||||||
|
Loading…
Reference in New Issue
Block a user