Skip to content

Commit ab1d5a5

Browse files
feat: #407
1 parent 0736e5b commit ab1d5a5

File tree

3 files changed

+38
-27
lines changed

3 files changed

+38
-27
lines changed

frontend/src/components/DriveToolBar.vue

Lines changed: 28 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,9 @@
120120
>
121121
<Tooltip text="Filter">
122122
<Button :disabled="!getEntities.data?.length">
123-
<LucideFilter class="size-4 text-ink-gray-6" />
123+
<template #icon>
124+
<LucideFilter class="size-4" />
125+
</template>
124126
</Button>
125127
</Tooltip>
126128
</Dropdown>
@@ -136,14 +138,16 @@
136138
:disabled="!getEntities.data?.length"
137139
@click.stop="toggleAscending"
138140
>
139-
<LucideArrowDownAz
140-
v-if="sortOrder.ascending"
141-
class="size-4 text-ink-gray-6"
142-
/>
143-
<LucideArrowUpZa
144-
v-else
145-
class="size-4 text-ink-gray-6"
146-
/>
141+
<template #icon>
142+
<LucideArrowDownAz
143+
v-if="sortOrder.ascending"
144+
class="size-4"
145+
/>
146+
<LucideArrowUpZa
147+
v-else
148+
class="size-4"
149+
/>
150+
</template>
147151
</Button>
148152

149153
<Button
@@ -237,7 +241,16 @@ const props = defineProps({
237241
})
238242
const store = useStore()
239243
240-
const sortOrder = reactive(store.state.sortOrder)
244+
const name = computed(
245+
() => props.getEntities.params?.entity_name || props.getEntities.params?.team
246+
)
247+
const sortOrder = reactive(
248+
store.state.sortOrder[name.value] || {
249+
label: "Modified",
250+
field: "modified",
251+
ascending: false,
252+
}
253+
)
241254
const activeFilters = ref([])
242255
const activeTags = computed(() => store.state.activeTags)
243256
@@ -254,14 +267,14 @@ watch(
254267
sortEntities(rows.value, val)
255268
props.getEntities.setData(rows.value)
256269
store.commit("setCurrentFolder", {
257-
name:
258-
props.getEntities.params?.entity_name ||
259-
rows.value[0]?.parent_entity ||
260-
"",
270+
name,
261271
team: props.getEntities.params?.team || rows.value[0]?.team,
262272
entities: rows.value.filter?.((k) => k.title[0] !== "."),
263273
})
264-
store.commit("setSortOrder", val)
274+
if (name.value) {
275+
store.state.sortOrder[name.value] = val
276+
store.commit("setSortOrder", store.state.sortOrder)
277+
}
265278
},
266279
{ immediate: true }
267280
)

frontend/src/components/GenericPage.vue

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
class="flex flex-col overflow-auto min-h-full bg-surface-white"
2828
>
2929
<DriveToolBar
30+
v-if="getEntities.params?.team"
3031
v-model="rows"
3132
:action-items="actionItems"
3233
:selections="selectedEntitities"
@@ -149,13 +150,14 @@ const verifyAccess = computed(() => props.verify?.data || !props.verify)
149150
watch(
150151
verifyAccess,
151152
async (data) => {
152-
if (data)
153-
await props.getEntities.fetch({
154-
team,
155-
order_by:
156-
store.state.sortOrder.field +
157-
(store.state.sortOrder.ascending ? " 1" : " 0"),
158-
})
153+
if (!data) return
154+
155+
const sortOrder =
156+
store.state.sortOrder[props.getEntities.params?.entityName]
157+
const params = { team }
158+
if (sortOrder)
159+
params.order_by = sortOrder.field + (sortOrder.ascending ? " 1" : " 0")
160+
await props.getEntities.fetch(params)
159161
},
160162
{ immediate: true }
161163
)

frontend/src/store.js

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,11 +28,7 @@ const store = createStore({
2828
},
2929
uploads: [],
3030
connectedUsers: [],
31-
sortOrder: getJson("sortOrder", {
32-
label: "Modified",
33-
field: "modified",
34-
ascending: false,
35-
}),
31+
sortOrder: getJson("sortOrder", {}),
3632
view: getJson("view", "list"),
3733
shareView: getJson("shareView", "with"),
3834
activeTags: [],

0 commit comments

Comments
 (0)