Merge pull request #46857 from nextcloud/fix/file-list-filter

fix(files_sharing): Adjust design of account filter for file list
This commit is contained in:
Arthur Schiwon 2024-07-30 16:44:12 +02:00 committed by GitHub
commit 412661affe
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
180 changed files with 391 additions and 246 deletions

View file

@ -14,7 +14,14 @@
<NcChip :aria-label-close="t('files', 'Remove filter')"
:icon-svg="chip.icon"
:text="chip.text"
@close="chip.onclick" />
@close="chip.onclick">
<template v-if="chip.user" #icon>
<NcAvatar disable-menu
:show-user-status="false"
:size="24"
:user="chip.user" />
</template>
</NcChip>
</li>
</ul>
</div>
@ -25,6 +32,7 @@ import { t } from '@nextcloud/l10n'
import { computed, ref, watchEffect } from 'vue'
import { useFiltersStore } from '../store/filters.ts'
import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
import NcChip from '@nextcloud/vue/dist/Components/NcChip.js'
const filterStore = useFiltersStore()

View file

@ -65,6 +65,8 @@ export const useFiltersStore = defineStore('keyboard', {
onFilterUpdateChips(event: FilterUpdateChipsEvent) {
const id = (event.target as IFileListFilter).id
this.chips = { ...this.chips, [id]: [...event.detail] }
logger.debug('File list filter chips updated', { filter: id, chips: event.detail })
},
init() {

View file

@ -3,25 +3,53 @@
- SPDX-License-Identifier: AGPL-3.0-or-later
-->
<template>
<NcSelect v-model="selectedAccounts"
:aria-label-combobox="t('files_sharing', 'Accounts')"
class="file-list-filter-accounts"
multiple
no-wrap
:options="availableAccounts"
:placeholder="t('files_sharing', 'Accounts')"
user-select />
<FileListFilter class="file-list-filter-accounts"
:is-active="selectedAccounts.length > 0"
:filter-name="t('files', 'People')"
@reset-filter="resetFilter">
<template #icon>
<NcIconSvgWrapper :path="mdiAccountMultiple" />
</template>
<NcActionInput v-if="availableAccounts.length > 1"
:label="t('files_sharing', 'Filter accounts')"
:label-outside="false"
:show-trailing-button="false"
type="search"
:value.sync="accountFilter" />
<NcActionButton v-for="account of shownAccounts"
:key="account.id"
class="file-list-filter-accounts__item"
type="radio"
:model-value="selectedAccounts.includes(account)"
:value="account.id"
@click="toggleAccount(account.id)">
<template #icon>
<NcAvatar class="file-list-filter-accounts__avatar"
v-bind="account"
:size="24"
disable-menu
:show-user-status="false" />
</template>
{{ account.displayName }}
</NcActionButton>
</FileListFilter>
</template>
<script setup lang="ts">
import type { IAccountData } from '../filters/AccountFilter.ts'
import { translate as t } from '@nextcloud/l10n'
import { mdiAccountMultiple } from '@mdi/js'
import { useBrowserLocation } from '@vueuse/core'
import { ref, watch, watchEffect } from 'vue'
import { computed, ref, watch } from 'vue'
import { useNavigation } from '../../../files/src/composables/useNavigation.ts'
import NcSelect from '@nextcloud/vue/dist/Components/NcSelect.js'
import FileListFilter from '../../../files/src/components/FileListFilter/FileListFilter.vue'
import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
import NcActionInput from '@nextcloud/vue/dist/Components/NcActionInput.js'
import NcAvatar from '@nextcloud/vue/dist/Components/NcAvatar.js'
import NcIconSvgWrapper from '@nextcloud/vue/dist/Components/NcIconSvgWrapper.js'
import { ShareType } from '@nextcloud/sharing'
interface IUserSelectData {
id: string
@ -35,9 +63,41 @@ const emit = defineEmits<{
const { currentView } = useNavigation()
const currentLocation = useBrowserLocation()
const accountFilter = ref('')
const availableAccounts = ref<IUserSelectData[]>([])
const selectedAccounts = ref<IUserSelectData[]>([])
/**
* Currently shown accounts (filtered)
*/
const shownAccounts = computed(() => {
if (!accountFilter.value) {
return availableAccounts.value
}
const queryParts = accountFilter.value.toLocaleLowerCase().trim().split(' ')
return availableAccounts.value.filter((account) =>
queryParts.every((part) =>
account.user.toLocaleLowerCase().includes(part)
|| account.displayName.toLocaleLowerCase().includes(part),
),
)
})
/**
* Toggle an account as selected
* @param accountId The account to toggle
*/
function toggleAccount(accountId: string) {
const account = availableAccounts.value.find(({ id }) => id === accountId)
if (account && selectedAccounts.value.includes(account)) {
selectedAccounts.value = selectedAccounts.value.filter(({ id }) => id !== accountId)
} else {
if (account) {
selectedAccounts.value = [...selectedAccounts.value, account]
}
}
}
// Watch selected account, on change we emit the new account data to the filter instance
watch(selectedAccounts, () => {
// Emit selected accounts as account data
@ -75,6 +135,9 @@ async function updateAvailableAccounts(path: string = '/') {
if (sharee.id === '') {
continue
}
if (sharee.type !== ShareType.User && sharee.type !== ShareType.Remote) {
continue
}
// Add if not already added
if (!available.has(sharee.id)) {
available.set(sharee.id, {
@ -94,23 +157,31 @@ async function updateAvailableAccounts(path: string = '/') {
*/
function resetFilter() {
selectedAccounts.value = []
accountFilter.value = ''
}
defineExpose({ resetFilter })
defineExpose({ resetFilter, toggleAccount })
// When the current view changes or the current directory,
// then we need to rebuild the available accounts
watchEffect(() => {
watch([currentView, currentLocation], () => {
if (currentView.value) {
// we have no access to the files router here...
const path = (currentLocation.value.search ?? '?dir=/').match(/(?<=&|\?)dir=([^&#]+)/)?.[1]
selectedAccounts.value = []
resetFilter()
updateAvailableAccounts(decodeURIComponent(path ?? '/'))
}
})
}, { immediate: true })
</script>
<style scoped lang="scss">
.file-list-filter-accounts {
max-width: 300px;
&__item {
min-width: 250px;
}
&__avatar {
// 24px is the avatar size
margin: calc((var(--default-clickable-area) - 24px) / 2)
}
}
</style>

View file

@ -2,7 +2,7 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { INode } from '@nextcloud/files'
import type { IFileListFilterChip, INode } from '@nextcloud/files'
import { FileListFilter, registerFileListFilter } from '@nextcloud/files'
import Vue from 'vue'
@ -13,12 +13,14 @@ export interface IAccountData {
displayName: string
}
type CurrentInstance = Vue & { resetFilter: () => void, toggleAccount: (account: string) => void }
/**
* File list filter to filter by owner / sharee
*/
class AccountFilter extends FileListFilter {
private currentInstance?: Vue
private currentInstance?: CurrentInstance
private filterAccounts?: IAccountData[]
constructor() {
@ -35,7 +37,7 @@ class AccountFilter extends FileListFilter {
el,
})
.$on('update:accounts', this.setAccounts.bind(this))
.$mount()
.$mount() as CurrentInstance
}
public filter(nodes: INode[]): INode[] {
@ -66,6 +68,16 @@ class AccountFilter extends FileListFilter {
public setAccounts(accounts?: IAccountData[]) {
this.filterAccounts = accounts
let chips: IFileListFilterChip[] = []
if (this.filterAccounts && this.filterAccounts.length > 0) {
chips = this.filterAccounts.map(({ displayName, uid }) => ({
text: displayName,
user: uid,
onclick: () => this.currentInstance?.toggleAccount(uid),
}))
}
this.updateChips(chips)
this.filterUpdated()
}

View file

@ -36,7 +36,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

View file

@ -56,7 +56,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

View file

@ -50,7 +50,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

4
dist/2812-2812.js vendored

File diff suppressed because one or more lines are too long

View file

@ -134,7 +134,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

File diff suppressed because one or more lines are too long

View file

@ -96,7 +96,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1

View file

@ -36,7 +36,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

View file

@ -35,7 +35,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

2
dist/5528-5528.js vendored
View file

@ -1 +1 @@
"use strict";(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[5528],{95528:(e,u,t)=>{t.r(u),t.d(u,{NcAutoCompleteResult:()=>c.N,NcMentionBubble:()=>l.N,default:()=>c.a});var l=t(23596),c=t(84595)}}]);
"use strict";(self.webpackChunknextcloud=self.webpackChunknextcloud||[]).push([[5528],{95528:(e,u,t)=>{t.r(u),t.d(u,{NcAutoCompleteResult:()=>c.N,NcMentionBubble:()=>l.N,default:()=>c.a});var l=t(23596),c=t(45570)}}]);

View file

@ -105,7 +105,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

View file

@ -87,7 +87,7 @@ This file is generated from multiple sources. Included packages:
- version: 1.4.2
- license: AGPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

View file

@ -96,7 +96,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1

View file

@ -96,7 +96,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1

View file

@ -67,7 +67,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1

4
dist/9306-9306.js vendored

File diff suppressed because one or more lines are too long

View file

@ -112,7 +112,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

File diff suppressed because one or more lines are too long

4
dist/9480-9480.js vendored

File diff suppressed because one or more lines are too long

View file

@ -138,7 +138,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

File diff suppressed because one or more lines are too long

2
dist/9725-9725.js vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -89,7 +89,7 @@ This file is generated from multiple sources. Included packages:
- version: 0.2.3
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

1
dist/9725-9725.js.map vendored Normal file

File diff suppressed because one or more lines are too long

1
dist/9725-9725.js.map.license vendored Symbolic link
View file

@ -0,0 +1 @@
9725-9725.js.license

2
dist/99-99.js vendored

File diff suppressed because one or more lines are too long

1
dist/99-99.js.map vendored

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
99-99.js.license

File diff suppressed because one or more lines are too long

View file

@ -96,7 +96,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

4
dist/core-common.js vendored

File diff suppressed because one or more lines are too long

View file

@ -174,7 +174,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -69,7 +69,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

File diff suppressed because one or more lines are too long

4
dist/core-login.js vendored

File diff suppressed because one or more lines are too long

View file

@ -94,7 +94,7 @@ This file is generated from multiple sources. Included packages:
- version: 0.2.3
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

File diff suppressed because one or more lines are too long

4
dist/core-main.js vendored

File diff suppressed because one or more lines are too long

View file

@ -111,7 +111,7 @@ This file is generated from multiple sources. Included packages:
- version: 0.2.3
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -78,7 +78,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

File diff suppressed because one or more lines are too long

View file

@ -50,7 +50,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- assert
- version: 2.1.0

File diff suppressed because one or more lines are too long

View file

@ -122,7 +122,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

File diff suppressed because one or more lines are too long

View file

@ -56,7 +56,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- assert
- version: 2.1.0

File diff suppressed because one or more lines are too long

View file

@ -122,7 +122,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

File diff suppressed because one or more lines are too long

View file

@ -49,7 +49,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- assert
- version: 2.1.0

File diff suppressed because one or more lines are too long

View file

@ -117,7 +117,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -65,7 +65,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -51,7 +51,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

File diff suppressed because one or more lines are too long

4
dist/files-init.js vendored

File diff suppressed because one or more lines are too long

View file

@ -98,7 +98,7 @@ This file is generated from multiple sources. Included packages:
- version: 1.4.2
- license: AGPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1

File diff suppressed because one or more lines are too long

4
dist/files-main.js vendored

File diff suppressed because one or more lines are too long

View file

@ -12,6 +12,7 @@ SPDX-FileCopyrightText: debounce developers
SPDX-FileCopyrightText: assert developers
SPDX-FileCopyrightText: Varun A P
SPDX-FileCopyrightText: Tobias Koppers @sokra
SPDX-FileCopyrightText: Titus Wormer <tituswormer@gmail.com> (https://wooorm.com)
SPDX-FileCopyrightText: Thorsten Lünborg
SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Stefan-Gabriel Muscalu <stefan.gabriel.muscalu@gmail.com>
@ -21,6 +22,8 @@ SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Rob Cresswell <robcresswell@pm.me>
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Perry Mitchell <perry@perrymitchell.net>
SPDX-FileCopyrightText: Paul Vorbach <paul@vorba.ch> (http://paul.vorba.ch)
SPDX-FileCopyrightText: Paul Vorbach <paul@vorb.de> (http://vorb.de)
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
SPDX-FileCopyrightText: Matt Zabriskie
SPDX-FileCopyrightText: Joyent
@ -32,12 +35,15 @@ SPDX-FileCopyrightText: John Molakvoæ <skjnldsv@protonmail.com>
SPDX-FileCopyrightText: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
SPDX-FileCopyrightText: Jacob Clevenger<https://github.com/wheatjs>
SPDX-FileCopyrightText: Iskren Ivov Chernev <iskren.chernev@gmail.com> (https://github.com/ichernev)
SPDX-FileCopyrightText: Hypercontext
SPDX-FileCopyrightText: Hiroki Osame
SPDX-FileCopyrightText: Guillaume Chau <guillaume.b.chau@gmail.com>
SPDX-FileCopyrightText: Guillaume Chau
SPDX-FileCopyrightText: GitHub Inc.
SPDX-FileCopyrightText: Feross Aboukhadijeh
SPDX-FileCopyrightText: Evan You
SPDX-FileCopyrightText: Eugene Sharygin <eush77@gmail.com>
SPDX-FileCopyrightText: Eric Norris (https://github.com/ericnorris)
SPDX-FileCopyrightText: Eduardo San Martin Morote
SPDX-FileCopyrightText: Dr.-Ing. Mario Heiderich, Cure53 <mario@cure53.de> (https://cure53.de/)
SPDX-FileCopyrightText: David Clark
@ -114,7 +120,7 @@ This file is generated from multiple sources. Included packages:
- version: 1.4.2
- license: AGPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vue/devtools-api
- version: 6.6.1
@ -149,9 +155,15 @@ This file is generated from multiple sources. Included packages:
- cancelable-promise
- version: 4.3.1
- license: MIT
- charenc
- version: 0.0.2
- license: BSD-3-Clause
- console-browserify
- version: 1.2.0
- license: MIT
- crypt
- version: 0.0.2
- license: BSD-3-Clause
- css-loader
- version: 6.10.0
- license: MIT
@ -218,6 +230,9 @@ This file is generated from multiple sources. Included packages:
- is-arguments
- version: 1.1.1
- license: MIT
- is-buffer
- version: 1.1.6
- license: MIT
- is-callable
- version: 1.2.7
- license: MIT
@ -233,9 +248,15 @@ This file is generated from multiple sources. Included packages:
- is-typed-array
- version: 1.1.13
- license: MIT
- linkify-string
- version: 4.1.3
- license: MIT
- lodash.get
- version: 4.4.2
- license: MIT
- md5
- version: 2.3.0
- license: BSD-3-Clause
- moment
- version: 2.30.1
- license: MIT
@ -284,6 +305,9 @@ This file is generated from multiple sources. Included packages:
- splitpanes
- version: 2.4.1
- license: MIT
- striptags
- version: 3.2.0
- license: MIT
- style-loader
- version: 3.3.4
- license: MIT
@ -296,6 +320,18 @@ This file is generated from multiple sources. Included packages:
- typescript-event-target
- version: 1.1.1
- license: MIT
- unist-builder
- version: 4.0.0
- license: MIT
- unist-util-is
- version: 6.0.0
- license: MIT
- unist-util-visit-parents
- version: 6.0.1
- license: MIT
- unist-util-visit
- version: 5.0.0
- license: MIT
- util
- version: 0.12.5
- license: MIT

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -120,7 +120,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @ungap/structured-clone
- version: 1.2.0

File diff suppressed because one or more lines are too long

View file

@ -1,2 +1,2 @@
(()=>{"use strict";var e,r,t,i={66747:(e,r,t)=>{var i=t(61338),o=t(85168),n=t(63814),a=t(53334);const l=(0,t(35947).YK)().setApp("files").detectUser().build();document.addEventListener("DOMContentLoaded",(function(){const e=window.OCA;e.UnifiedSearch&&(l.info("Initializing unified search plugin: folder search from files app"),e.UnifiedSearch.registerFilterAction({id:"files",appId:"files",label:(0,a.Tl)("files","In folder"),icon:(0,n.d0)("files","app.svg"),callback:()=>{(0,o.a1)("Pick plain text files").addMimeTypeFilter("httpd/unix-directory").allowDirectories(!0).addButton({label:"Pick",callback:e=>{l.info("Folder picked",{folder:e[0]});const r=e[0];(0,i.Ic)("nextcloud:unified-search:add-filter",{id:"files",payload:r,filterUpdateText:(0,a.Tl)("files","Search in folder: {folder}",{folder:r.basename}),filterParams:{path:r.path}})}}).build().pick()}}))}))}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return i[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=i,e=[],n.O=(r,t,i,o)=>{if(!t){var a=1/0;for(s=0;s<e.length;s++){t=e[s][0],i=e[s][1],o=e[s][2];for(var l=!0,d=0;d<t.length;d++)(!1&o||a>=o)&&Object.keys(n.O).every((e=>n.O[e](t[d])))?t.splice(d--,1):(l=!1,o<a&&(a=o));if(l){e.splice(s--,1);var c=i();void 0!==c&&(r=c)}}return r}o=o||0;for(var s=e.length;s>0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[t,i,o]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+"-"+e+".js?v="+{4254:"5c2324570f66dff0c8a1",9480:"091911c54ba29e3a2976"}[e],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="nextcloud:",n.l=(e,i,o,a)=>{if(r[e])r[e].push(i);else{var l,d;if(void 0!==o)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var f=c[s];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==t+o){l=f;break}}l||(d=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,n.nc&&l.setAttribute("nonce",n.nc),l.setAttribute("data-webpack",t+o),l.src=e),r[e]=[i];var u=(t,i)=>{l.onerror=l.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(i))),t)return t(i)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=u.bind(null,l.onerror),l.onload=u.bind(null,l.onload),d&&document.head.appendChild(l)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=2277,(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=t[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b=document.baseURI||self.location.href;var e={2277:0};n.f.j=(r,t)=>{var i=n.o(e,r)?e[r]:void 0;if(0!==i)if(i)t.push(i[2]);else{var o=new Promise(((t,o)=>i=e[r]=[t,o]));t.push(i[2]=o);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(i=e[r])&&(e[r]=void 0),i)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,i[1](l)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var i,o,a=t[0],l=t[1],d=t[2],c=0;if(a.some((r=>0!==e[r]))){for(i in l)n.o(l,i)&&(n.m[i]=l[i]);if(d)var s=d(n)}for(r&&r(t);c<a.length;c++)o=a[c],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return n.O(s)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.nc=void 0;var a=n.O(void 0,[4208],(()=>n(66747)));a=n.O(a)})();
//# sourceMappingURL=files-search.js.map?v=24d7570ce104617711c9
(()=>{"use strict";var e,r,t,i={66747:(e,r,t)=>{var i=t(61338),o=t(85168),n=t(63814),a=t(53334);const l=(0,t(35947).YK)().setApp("files").detectUser().build();document.addEventListener("DOMContentLoaded",(function(){const e=window.OCA;e.UnifiedSearch&&(l.info("Initializing unified search plugin: folder search from files app"),e.UnifiedSearch.registerFilterAction({id:"files",appId:"files",label:(0,a.Tl)("files","In folder"),icon:(0,n.d0)("files","app.svg"),callback:()=>{(0,o.a1)("Pick plain text files").addMimeTypeFilter("httpd/unix-directory").allowDirectories(!0).addButton({label:"Pick",callback:e=>{l.info("Folder picked",{folder:e[0]});const r=e[0];(0,i.Ic)("nextcloud:unified-search:add-filter",{id:"files",payload:r,filterUpdateText:(0,a.Tl)("files","Search in folder: {folder}",{folder:r.basename}),filterParams:{path:r.path}})}}).build().pick()}}))}))}},o={};function n(e){var r=o[e];if(void 0!==r)return r.exports;var t=o[e]={id:e,loaded:!1,exports:{}};return i[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}n.m=i,e=[],n.O=(r,t,i,o)=>{if(!t){var a=1/0;for(s=0;s<e.length;s++){t=e[s][0],i=e[s][1],o=e[s][2];for(var l=!0,d=0;d<t.length;d++)(!1&o||a>=o)&&Object.keys(n.O).every((e=>n.O[e](t[d])))?t.splice(d--,1):(l=!1,o<a&&(a=o));if(l){e.splice(s--,1);var c=i();void 0!==c&&(r=c)}}return r}o=o||0;for(var s=e.length;s>0&&e[s-1][2]>o;s--)e[s]=e[s-1];e[s]=[t,i,o]},n.n=e=>{var r=e&&e.__esModule?()=>e.default:()=>e;return n.d(r,{a:r}),r},n.d=(e,r)=>{for(var t in r)n.o(r,t)&&!n.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:r[t]})},n.f={},n.e=e=>Promise.all(Object.keys(n.f).reduce(((r,t)=>(n.f[t](e,r),r)),[])),n.u=e=>e+"-"+e+".js?v="+{4254:"5c2324570f66dff0c8a1",9480:"1e6347e7fc477a73d0c6"}[e],n.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),n.o=(e,r)=>Object.prototype.hasOwnProperty.call(e,r),r={},t="nextcloud:",n.l=(e,i,o,a)=>{if(r[e])r[e].push(i);else{var l,d;if(void 0!==o)for(var c=document.getElementsByTagName("script"),s=0;s<c.length;s++){var f=c[s];if(f.getAttribute("src")==e||f.getAttribute("data-webpack")==t+o){l=f;break}}l||(d=!0,(l=document.createElement("script")).charset="utf-8",l.timeout=120,n.nc&&l.setAttribute("nonce",n.nc),l.setAttribute("data-webpack",t+o),l.src=e),r[e]=[i];var u=(t,i)=>{l.onerror=l.onload=null,clearTimeout(p);var o=r[e];if(delete r[e],l.parentNode&&l.parentNode.removeChild(l),o&&o.forEach((e=>e(i))),t)return t(i)},p=setTimeout(u.bind(null,void 0,{type:"timeout",target:l}),12e4);l.onerror=u.bind(null,l.onerror),l.onload=u.bind(null,l.onload),d&&document.head.appendChild(l)}},n.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),n.j=2277,(()=>{var e;n.g.importScripts&&(e=n.g.location+"");var r=n.g.document;if(!e&&r&&(r.currentScript&&(e=r.currentScript.src),!e)){var t=r.getElementsByTagName("script");if(t.length)for(var i=t.length-1;i>-1&&(!e||!/^http(s?):/.test(e));)e=t[i--].src}if(!e)throw new Error("Automatic publicPath is not supported in this browser");e=e.replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),n.p=e})(),(()=>{n.b=document.baseURI||self.location.href;var e={2277:0};n.f.j=(r,t)=>{var i=n.o(e,r)?e[r]:void 0;if(0!==i)if(i)t.push(i[2]);else{var o=new Promise(((t,o)=>i=e[r]=[t,o]));t.push(i[2]=o);var a=n.p+n.u(r),l=new Error;n.l(a,(t=>{if(n.o(e,r)&&(0!==(i=e[r])&&(e[r]=void 0),i)){var o=t&&("load"===t.type?"missing":t.type),a=t&&t.target&&t.target.src;l.message="Loading chunk "+r+" failed.\n("+o+": "+a+")",l.name="ChunkLoadError",l.type=o,l.request=a,i[1](l)}}),"chunk-"+r,r)}},n.O.j=r=>0===e[r];var r=(r,t)=>{var i,o,a=t[0],l=t[1],d=t[2],c=0;if(a.some((r=>0!==e[r]))){for(i in l)n.o(l,i)&&(n.m[i]=l[i]);if(d)var s=d(n)}for(r&&r(t);c<a.length;c++)o=a[c],n.o(e,o)&&e[o]&&e[o][0](),e[o]=0;return n.O(s)},t=self.webpackChunknextcloud=self.webpackChunknextcloud||[];t.forEach(r.bind(null,0)),t.push=r.bind(null,t.push.bind(t))})(),n.nc=void 0;var a=n.O(void 0,[4208],(()=>n(66747)));a=n.O(a)})();
//# sourceMappingURL=files-search.js.map?v=3b408269042c301dd934

View file

@ -50,7 +50,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.0.1
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -86,7 +86,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -127,7 +127,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- is-svg
- version: 4.4.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -77,7 +77,7 @@ This file is generated from multiple sources. Included packages:
- version: 0.2.3
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -77,7 +77,7 @@ This file is generated from multiple sources. Included packages:
- version: 0.2.3
- license: GPL-3.0-or-later
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/core
- version: 10.11.0

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -1,3 +1,4 @@
SPDX-License-Identifier: MPL-2.0
SPDX-License-Identifier: MIT
SPDX-License-Identifier: ISC
SPDX-License-Identifier: GPL-3.0-or-later
@ -5,8 +6,10 @@ SPDX-License-Identifier: BSD-3-Clause
SPDX-License-Identifier: Apache-2.0
SPDX-License-Identifier: AGPL-3.0-or-later
SPDX-License-Identifier: (MPL-2.0 OR Apache-2.0)
SPDX-FileCopyrightText: xiemengxiong
SPDX-FileCopyrightText: inherits developers
SPDX-FileCopyrightText: escape-html developers
SPDX-FileCopyrightText: debounce developers
SPDX-FileCopyrightText: atomiks
SPDX-FileCopyrightText: assert developers
SPDX-FileCopyrightText: Tobias Koppers @sokra
@ -15,6 +18,7 @@ SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
SPDX-FileCopyrightText: Roeland Jago Douma
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
SPDX-FileCopyrightText: Philipp Kewisch
SPDX-FileCopyrightText: Perry Mitchell <perry@perrymitchell.net>
SPDX-FileCopyrightText: Paul Vorbach <paul@vorba.ch> (http://paul.vorba.ch)
SPDX-FileCopyrightText: Paul Vorbach <paul@vorb.de> (http://vorb.de)
@ -52,6 +56,9 @@ This file is generated from multiple sources. Included packages:
- @floating-ui/utils
- version: 0.2.1
- license: MIT
- @mdi/js
- version: 7.4.47
- license: Apache-2.0
- @mdi/svg
- version: 7.4.47
- license: Apache-2.0
@ -98,7 +105,7 @@ This file is generated from multiple sources. Included packages:
- version: 3.25.0
- license: MIT
- @nextcloud/vue
- version: 8.15.0
- version: 8.15.1
- license: AGPL-3.0-or-later
- @vueuse/components
- version: 10.11.0
@ -142,6 +149,12 @@ This file is generated from multiple sources. Included packages:
- css-loader
- version: 6.10.0
- license: MIT
- date-format-parse
- version: 0.2.7
- license: MIT
- debounce
- version: 2.1.0
- license: MIT
- define-data-property
- version: 1.1.4
- license: MIT
@ -193,6 +206,9 @@ This file is generated from multiple sources. Included packages:
- hasown
- version: 2.0.2
- license: MIT
- ical.js
- version: 2.0.1
- license: MPL-2.0
- ieee754
- version: 1.2.1
- license: BSD-3-Clause

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show more