Skip to content

Commit b975cd1

Browse files
refa: format
Signed-off-by: Rostislav Nagimov <[email protected]>
1 parent cb534d4 commit b975cd1

File tree

5 files changed

+45
-74
lines changed

5 files changed

+45
-74
lines changed

plugins/tracker-resources/src/components/issues/IssuesView.svelte

Lines changed: 19 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import { Issue, TrackerEvents } from '@hcengineering/tracker'
66
import { IModeSelector, themeStore } from '@hcengineering/ui'
77
import { ViewOptions, Viewlet } from '@hcengineering/view'
8-
import { FilterBar, SpaceHeader, ViewletContentView, ViewletSettingButton } from '@hcengineering/view-resources'
8+
import { FilterBar, SpaceHeader, ViewletContentView, ViewletSettingButton, setFilters, filterStore, createFilter } from '@hcengineering/view-resources'
99
import tracker from '../../plugin'
1010
import CreateIssue from '../CreateIssue.svelte'
1111
import { get } from 'svelte/store'
@@ -50,60 +50,32 @@
5050
}
5151
5252
async function restoreTrackerIssueState (): Promise<void> {
53-
console.log('[DEBUG_STATE_ISSUES] Restore State: Starting for tab', get(tabIdStore))
53+
await tick()
54+
await tick()
55+
5456
const tabId = get(tabIdStore)
5557
if (!tabId) {
56-
console.log('[DEBUG_STATE_ISSUES] Restore State: No tabId, skipping.')
5758
return
5859
}
59-
console.log('[DEBUG_STATE_ISSUES] Restore State: Awaiting ticks for component render.')
60-
await tick()
61-
await tick()
62-
console.log('[DEBUG_STATE_ISSUES] Restore State: Ticks complete, searching tab state.')
60+
6361
const tab = get(tabsStore).find((t) => t._id === tabId)
6462
if (tab?.uiState) {
65-
console.log('[DEBUG_STATE_ISSUES] Restore State: uiState found.', tab.uiState)
6663
const savedViewletId = tab.uiState.viewletId
6764
const savedFilterBarQuery = tab.uiState.filterBarState
68-
console.log(
69-
'[DEBUG_STATE_ISSUES] Restore State: Found saved Viewlet ID:',
70-
savedViewletId,
71-
'Saved Filter State:',
72-
savedFilterBarQuery
73-
)
74-
75-
if (!viewletsReady) {
76-
console.log('[DEBUG_STATE_ISSUES] Restore State: Viewlets not yet marked as ready. Exiting to re-trigger.')
77-
return
78-
}
7965
80-
if (savedViewletId && viewlets && viewlets.length > 0) {
66+
if (viewletsReady && viewlets && viewlets.length > 0) {
8167
const foundViewlet = viewlets.find((v) => v._id === savedViewletId)
82-
if (foundViewlet) {
83-
viewlet = foundViewlet
84-
console.log('[DEBUG_STATE_ISSUES] Restore State: Viewlet restored to ID:', viewlet?._id)
85-
} else {
86-
viewlet = viewlets[0]
87-
console.log(
88-
'[DEBUG_STATE_ISSUES] Restore State: Saved Viewlet not found, set to first available:',
89-
viewlet?._id
90-
)
91-
}
92-
} else {
93-
console.log('[DEBUG_STATE_ISSUES] Restore State: No saved Viewlet ID or viewlets not ready/empty.')
68+
viewlet = foundViewlet || viewlets[0]
9469
}
70+
9571
if (savedFilterBarQuery) {
96-
resultQuery = { ...searchQuery, ...savedFilterBarQuery }
97-
console.log('[DEBUG_STATE_ISSUES] Restore State: FilterBar query restored:', resultQuery)
72+
resultQuery = { ...savedFilterBarQuery }
9873
} else {
9974
resultQuery = { ...searchQuery }
100-
console.log('[DEBUG_STATE_ISSUES] Restore State: No saved FilterBar query, set to initial:', resultQuery)
10175
}
10276
} else {
10377
resultQuery = { ...searchQuery }
104-
console.log('[DEBUG_STATE_ISSUES] Restore State: No uiState found, set FilterBar to initial:', resultQuery)
10578
}
106-
console.log('[DEBUG_STATE_ISSUES] Restore State: Finished.')
10779
}
10880
10981
$: {
@@ -178,6 +150,15 @@
178150
label = res
179151
})
180152
}
153+
154+
$: {
155+
if (search && resultQuery.$search !== search) {
156+
resultQuery = { ...resultQuery, $search: search }
157+
} else if (!search && '$search' in resultQuery) {
158+
const { $search, ...rest } = resultQuery
159+
resultQuery = rest
160+
}
161+
}
181162
</script>
182163

183164
<SpaceHeader
@@ -212,13 +193,7 @@
212193
/>
213194
</svelte:fragment>
214195
</SpaceHeader>
215-
<FilterBar
216-
_class={tracker.class.Issue}
217-
{space}
218-
query={searchQuery}
219-
{viewOptions}
220-
on:change={(e) => (resultQuery = e.detail)}
221-
/>
196+
<FilterBar _class={tracker.class.Issue} {space} bind:query={resultQuery} {viewOptions} />
222197
<slot name="afterHeader" />
223198
{#if viewlet && viewOptions}
224199
<ViewletContentView

plugins/view-resources/src/components/SpaceHeader.svelte

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
export let showLabelSelector = false
1919
export let modeSelectorProps: IModeSelector | undefined = undefined
2020
export let adaptive: HeaderAdaptive = 'doubleRow'
21-
export let currentTabId: Ref<WorkbenchTab> | undefined = undefined;
21+
export let currentTabId: Ref<WorkbenchTab> | undefined = undefined
2222
2323
let scroller: HTMLElement
2424
</script>
@@ -47,7 +47,7 @@
4747

4848
<svelte:fragment slot="search">
4949
<SearchInput bind:value={search} collapsed />
50-
<FilterButton {_class} {space} currentTabId={currentTabId}/>
50+
<FilterButton {_class} {space} {currentTabId} />
5151
</svelte:fragment>
5252
<svelte:fragment slot="actions">
5353
<slot name="actions" />

plugins/view-resources/src/components/filter/FilterButton.svelte

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -39,18 +39,18 @@
3939
}
4040
})
4141
42-
function load (_class: Ref<Class<Doc>> | undefined): void {
43-
const key = getFilterKey(_class, currentTabId);
44-
const items = localStorage.getItem(key);
45-
if (items !== null) {
46-
filterStore.set(JSON.parse(items));
42+
function load (_class: Ref<Class<Doc>> | undefined): void {
43+
const key = getFilterKey(_class, currentTabId)
44+
const items = localStorage.getItem(key)
45+
if (items !== null) {
46+
filterStore.set(JSON.parse(items))
47+
}
4748
}
48-
}
4949
50-
function save (_class: Ref<Class<Doc>> | undefined, p: Filter[]): void {
51-
const key = getFilterKey(_class, currentTabId);
52-
localStorage.setItem(key, JSON.stringify(p));
53-
}
50+
function save (_class: Ref<Class<Doc>> | undefined, p: Filter[]): void {
51+
const key = getFilterKey(_class, currentTabId)
52+
localStorage.setItem(key, JSON.stringify(p))
53+
}
5454
5555
filterStore.subscribe((p) => {
5656
save(_class, p)
@@ -88,10 +88,10 @@ function save (_class: Ref<Class<Doc>> | undefined, p: Filter[]): void {
8888
}
8989
9090
onMount(() => {
91-
load(_class);
92-
});
93-
$: if (currentTabId) {
94-
load(_class);
91+
load(_class)
92+
})
93+
$: if (currentTabId) {
94+
load(_class)
9595
}
9696
</script>
9797

plugins/view-resources/src/filter.ts

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -320,25 +320,22 @@ export function createFilter (_class: Ref<Class<Doc>>, key: string, value: any[]
320320
}
321321
}
322322

323-
export function getFilterKey (
324-
_class: Ref<Class<Doc>> | undefined,
325-
tabId?: Ref<WorkbenchTab>
326-
): string {
327-
const loc = getCurrentResolvedLocation();
323+
export function getFilterKey (_class: Ref<Class<Doc>> | undefined, tabId?: Ref<WorkbenchTab>): string {
324+
const loc = getCurrentResolvedLocation()
328325

329326
const urlLoc = {
330327
path: loc.path.slice(0, 3),
331328
query: loc.query,
332329
fragment: loc.fragment
333-
};
330+
}
334331

335-
const classIdString = _class ? (_class as any).id || _class.toString() : 'unknown_class';
332+
const classIdString = _class != null ? (_class as any).id ?? _class.toString() : 'unknown_class'
336333

337-
let res = `filter_${tabId || 'global'}_${locationToUrl(urlLoc)}`;
334+
let res = `filter_${tabId ?? 'global'}_${locationToUrl(urlLoc)}`
338335
if (_class !== undefined) {
339-
res = res + classIdString;
336+
res = res + classIdString
340337
}
341-
return res;
338+
return res
342339
}
343340

344341
/**

plugins/workbench/src/types.ts

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -101,18 +101,17 @@ export interface WidgetTab {
101101

102102
/** @public */
103103
export interface TabUiState {
104-
viewletId?: string;
105-
filterBarState?: Record<string, any>;
104+
viewletId?: string
105+
filterBarState?: Record<string, any>
106106
}
107107

108-
109108
/** @public */
110109
export interface WorkbenchTab extends Preference {
111110
attachedTo: AccountUuid
112111
location: string
113112
isPinned: boolean
114113
name?: string
115-
uiState?: TabUiState;
114+
uiState?: TabUiState
116115
}
117116

118117
/** @public */

0 commit comments

Comments
 (0)