mirror of
https://github.com/nextcloud/server.git
synced 2026-05-28 04:32:30 -04:00
Merge pull request #46690 from nextcloud/fix/files-displayname
Update `@nextcloud/files` to 3.6.0 and fix display name handling of folders (breadcrumbs and filename)
This commit is contained in:
commit
d843d671d5
50 changed files with 160 additions and 273 deletions
|
|
@ -10,7 +10,7 @@ export const action = new FileAction({
|
|||
id: 'open-folder',
|
||||
displayName(files: Node[]) {
|
||||
// Only works on single node
|
||||
const displayName = files[0].attributes.displayname || files[0].basename
|
||||
const displayName = files[0].displayname
|
||||
return t('files', 'Open folder {displayName}', { displayName })
|
||||
},
|
||||
iconSvgInline: () => FolderSvg,
|
||||
|
|
|
|||
|
|
@ -158,9 +158,9 @@ export default defineComponent({
|
|||
return this.$navigation?.active?.name || t('files', 'Home')
|
||||
}
|
||||
|
||||
const source: FileSource | null = this.getFileSourceFromPath(path)
|
||||
const node: Node | undefined = source ? this.getNodeFromSource(source) : undefined
|
||||
return node?.attributes?.displayname || basename(path)
|
||||
const source = this.getFileSourceFromPath(path)
|
||||
const node = source ? this.getNodeFromSource(source) : undefined
|
||||
return node?.displayname || basename(path)
|
||||
},
|
||||
|
||||
onClick(to) {
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
@click.native="execDefaultAction" />
|
||||
|
||||
<FileEntryName ref="name"
|
||||
:display-name="displayName"
|
||||
:basename="basename"
|
||||
:extension="extension"
|
||||
:files-list-width="filesListWidth"
|
||||
:nodes="nodes"
|
||||
|
|
|
|||
|
|
@ -29,8 +29,8 @@
|
|||
v-bind="linkTo.params">
|
||||
<!-- File name -->
|
||||
<span class="files-list__row-name-text">
|
||||
<!-- Keep the displayName stuck to the extension to avoid whitespace rendering issues-->
|
||||
<span class="files-list__row-name-" v-text="displayName" />
|
||||
<!-- Keep the filename stuck to the extension to avoid whitespace rendering issues-->
|
||||
<span class="files-list__row-name-" v-text="basename" />
|
||||
<span class="files-list__row-name-ext" v-text="extension" />
|
||||
</span>
|
||||
</component>
|
||||
|
|
@ -64,10 +64,16 @@ export default defineComponent({
|
|||
},
|
||||
|
||||
props: {
|
||||
displayName: {
|
||||
/**
|
||||
* The filename without extension
|
||||
*/
|
||||
basename: {
|
||||
type: String,
|
||||
required: true,
|
||||
},
|
||||
/**
|
||||
* The extension of the filename
|
||||
*/
|
||||
extension: {
|
||||
type: String,
|
||||
required: true,
|
||||
|
|
@ -155,7 +161,7 @@ export default defineComponent({
|
|||
params: {
|
||||
download: this.source.basename,
|
||||
href: this.source.source,
|
||||
title: t('files', 'Download file {name}', { name: this.displayName }),
|
||||
title: t('files', 'Download file {name}', { name: `${this.basename}${this.extension}` }),
|
||||
tabindex: '0',
|
||||
},
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@
|
|||
@click.native="execDefaultAction" />
|
||||
|
||||
<FileEntryName ref="name"
|
||||
:display-name="displayName"
|
||||
:basename="basename"
|
||||
:extension="extension"
|
||||
:files-list-width="filesListWidth"
|
||||
:grid-mode="true"
|
||||
|
|
|
|||
|
|
@ -74,19 +74,31 @@ export default defineComponent({
|
|||
return this.source.status === NodeStatus.LOADING
|
||||
},
|
||||
|
||||
extension() {
|
||||
if (this.source.attributes?.displayname) {
|
||||
return extname(this.source.attributes.displayname)
|
||||
}
|
||||
return this.source.extension || ''
|
||||
},
|
||||
/**
|
||||
* The display name of the current node
|
||||
* Either the nodes filename or a custom display name (e.g. for shares)
|
||||
*/
|
||||
displayName() {
|
||||
const ext = this.extension
|
||||
const name = String(this.source.attributes.displayname
|
||||
|| this.source.basename)
|
||||
return this.source.displayname
|
||||
},
|
||||
/**
|
||||
* The display name without extension
|
||||
*/
|
||||
basename() {
|
||||
if (this.extension === '') {
|
||||
return this.displayName
|
||||
}
|
||||
return this.displayName.slice(0, 0 - this.extension.length)
|
||||
},
|
||||
/**
|
||||
* The extension of the file
|
||||
*/
|
||||
extension() {
|
||||
if (this.source.type === FileType.Folder) {
|
||||
return ''
|
||||
}
|
||||
|
||||
// Strip extension from name if defined
|
||||
return !ext ? name : name.slice(0, 0 - ext.length)
|
||||
return extname(this.displayName)
|
||||
},
|
||||
|
||||
draggingFiles() {
|
||||
|
|
|
|||
|
|
@ -14,7 +14,14 @@ import logger from '../logger.js'
|
|||
* Slim wrapper over `@nextcloud/files` `davResultToNode` to allow using the function with `Array.map`
|
||||
* @param node The node returned by the webdav library
|
||||
*/
|
||||
export const resultToNode = (node: FileStat): File | Folder => davResultToNode(node)
|
||||
export const resultToNode = (node: FileStat): File | Folder => {
|
||||
// TODO remove this hack with nextcloud-files v3.7
|
||||
// just needed because of a bug in the webdav client
|
||||
if (node.props?.displayname !== undefined) {
|
||||
node.props.displayname = String(node.props.displayname)
|
||||
}
|
||||
return davResultToNode(node)
|
||||
}
|
||||
|
||||
export const getContents = (path = '/'): CancelablePromise<ContentsWithRoot> => {
|
||||
const controller = new AbortController()
|
||||
|
|
|
|||
|
|
@ -1,100 +0,0 @@
|
|||
/**
|
||||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
import { describe, expect } from '@jest/globals'
|
||||
import { orderBy } from './SortingService'
|
||||
|
||||
describe('SortingService', () => {
|
||||
test('By default the identify and ascending order is used', () => {
|
||||
const array = ['a', 'z', 'b']
|
||||
expect(orderBy(array)).toEqual(['a', 'b', 'z'])
|
||||
})
|
||||
|
||||
test('Use identifiy but descending', () => {
|
||||
const array = ['a', 'z', 'b']
|
||||
expect(orderBy(array, undefined, ['desc'])).toEqual(['z', 'b', 'a'])
|
||||
})
|
||||
|
||||
test('Can set identifier function', () => {
|
||||
const array = [
|
||||
{ text: 'a', order: 2 },
|
||||
{ text: 'z', order: 1 },
|
||||
{ text: 'b', order: 3 },
|
||||
] as const
|
||||
expect(orderBy(array, [(v) => v.order]).map((v) => v.text)).toEqual(['z', 'a', 'b'])
|
||||
})
|
||||
|
||||
test('Can set multiple identifier functions', () => {
|
||||
const array = [
|
||||
{ text: 'a', order: 2, secondOrder: 2 },
|
||||
{ text: 'z', order: 1, secondOrder: 3 },
|
||||
{ text: 'b', order: 2, secondOrder: 1 },
|
||||
] as const
|
||||
expect(orderBy(array, [(v) => v.order, (v) => v.secondOrder]).map((v) => v.text)).toEqual(['z', 'b', 'a'])
|
||||
})
|
||||
|
||||
test('Can set order partially', () => {
|
||||
const array = [
|
||||
{ text: 'a', order: 2, secondOrder: 2 },
|
||||
{ text: 'z', order: 1, secondOrder: 3 },
|
||||
{ text: 'b', order: 2, secondOrder: 1 },
|
||||
] as const
|
||||
|
||||
expect(
|
||||
orderBy(
|
||||
array,
|
||||
[(v) => v.order, (v) => v.secondOrder],
|
||||
['desc'],
|
||||
).map((v) => v.text),
|
||||
).toEqual(['b', 'a', 'z'])
|
||||
})
|
||||
|
||||
test('Can set order array', () => {
|
||||
const array = [
|
||||
{ text: 'a', order: 2, secondOrder: 2 },
|
||||
{ text: 'z', order: 1, secondOrder: 3 },
|
||||
{ text: 'b', order: 2, secondOrder: 1 },
|
||||
] as const
|
||||
|
||||
expect(
|
||||
orderBy(
|
||||
array,
|
||||
[(v) => v.order, (v) => v.secondOrder],
|
||||
['desc', 'desc'],
|
||||
).map((v) => v.text),
|
||||
).toEqual(['a', 'b', 'z'])
|
||||
})
|
||||
|
||||
test('Numbers are handled correctly', () => {
|
||||
const array = [
|
||||
{ text: '2.3' },
|
||||
{ text: '2.10' },
|
||||
{ text: '2.0' },
|
||||
{ text: '2.2' },
|
||||
] as const
|
||||
|
||||
expect(
|
||||
orderBy(
|
||||
array,
|
||||
[(v) => v.text],
|
||||
).map((v) => v.text),
|
||||
).toEqual(['2.0', '2.2', '2.3', '2.10'])
|
||||
})
|
||||
|
||||
test('Numbers with suffixes are handled correctly', () => {
|
||||
const array = [
|
||||
{ text: '2024-01-05' },
|
||||
{ text: '2024-05-01' },
|
||||
{ text: '2024-01-10' },
|
||||
{ text: '2024-01-05 Foo' },
|
||||
] as const
|
||||
|
||||
expect(
|
||||
orderBy(
|
||||
array,
|
||||
[(v) => v.text],
|
||||
).map((v) => v.text),
|
||||
).toEqual(['2024-01-05', '2024-01-05 Foo', '2024-01-10', '2024-05-01'])
|
||||
})
|
||||
})
|
||||
|
|
@ -1,59 +0,0 @@
|
|||
/**
|
||||
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
|
||||
* SPDX-License-Identifier: AGPL-3.0-or-later
|
||||
*/
|
||||
import { getCanonicalLocale, getLanguage } from '@nextcloud/l10n'
|
||||
|
||||
type IdentifierFn<T> = (v: T) => unknown
|
||||
type SortingOrder = 'asc'|'desc'
|
||||
|
||||
/**
|
||||
* Helper to create string representation
|
||||
* @param value Value to stringify
|
||||
*/
|
||||
function stringify(value: unknown) {
|
||||
// The default representation of Date is not sortable because of the weekday names in front of it
|
||||
if (value instanceof Date) {
|
||||
return value.toISOString()
|
||||
}
|
||||
return String(value)
|
||||
}
|
||||
|
||||
/**
|
||||
* Natural order a collection
|
||||
* You can define identifiers as callback functions, that get the element and return the value to sort.
|
||||
*
|
||||
* @param collection The collection to order
|
||||
* @param identifiers An array of identifiers to use, by default the identity of the element is used
|
||||
* @param orders Array of orders, by default all identifiers are sorted ascening
|
||||
*/
|
||||
export function orderBy<T>(collection: readonly T[], identifiers?: IdentifierFn<T>[], orders?: SortingOrder[]): T[] {
|
||||
// If not identifiers are set we use the identity of the value
|
||||
identifiers = identifiers ?? [(value) => value]
|
||||
// By default sort the collection ascending
|
||||
orders = orders ?? []
|
||||
const sorting = identifiers.map((_, index) => (orders[index] ?? 'asc') === 'asc' ? 1 : -1)
|
||||
|
||||
const collator = Intl.Collator(
|
||||
[getLanguage(), getCanonicalLocale()],
|
||||
{
|
||||
// handle 10 as ten and not as one-zero
|
||||
numeric: true,
|
||||
usage: 'sort',
|
||||
},
|
||||
)
|
||||
|
||||
return [...collection].sort((a, b) => {
|
||||
for (const [index, identifier] of identifiers.entries()) {
|
||||
// Get the local compare of stringified value a and b
|
||||
const value = collator.compare(stringify(identifier(a)), stringify(identifier(b)))
|
||||
// If they do not match return the order
|
||||
if (value !== 0) {
|
||||
return value * sorting[index]
|
||||
}
|
||||
// If they match we need to continue with the next identifier
|
||||
}
|
||||
// If all are equal we need to return equality
|
||||
return 0
|
||||
})
|
||||
}
|
||||
|
|
@ -120,7 +120,7 @@ import type { UserConfig } from '../types.ts'
|
|||
|
||||
import { getCapabilities } from '@nextcloud/capabilities'
|
||||
import { emit, subscribe, unsubscribe } from '@nextcloud/event-bus'
|
||||
import { Folder, Node, Permission } from '@nextcloud/files'
|
||||
import { Folder, Node, Permission, sortNodes } from '@nextcloud/files'
|
||||
import { translate as t } from '@nextcloud/l10n'
|
||||
import { join, dirname, normalize } from 'path'
|
||||
import { showError, showWarning } from '@nextcloud/dialogs'
|
||||
|
|
@ -148,7 +148,6 @@ import { useSelectionStore } from '../store/selection.ts'
|
|||
import { useUploaderStore } from '../store/uploader.ts'
|
||||
import { useUserConfigStore } from '../store/userconfig.ts'
|
||||
import { useViewConfigStore } from '../store/viewConfig.ts'
|
||||
import { orderBy } from '../services/SortingService.ts'
|
||||
import BreadCrumbs from '../components/BreadCrumbs.vue'
|
||||
import FilesListVirtual from '../components/FilesListVirtual.vue'
|
||||
import filesListWidthMixin from '../mixins/filesListWidth.ts'
|
||||
|
|
@ -291,44 +290,10 @@ export default defineComponent({
|
|||
return this.filesStore.getNode(source) as Folder
|
||||
},
|
||||
|
||||
/**
|
||||
* Directory content sorting parameters
|
||||
* Provided by an extra computed property for caching
|
||||
*/
|
||||
sortingParameters() {
|
||||
const identifiers = [
|
||||
// 1: Sort favorites first if enabled
|
||||
...(this.userConfig.sort_favorites_first ? [v => v.attributes?.favorite !== 1] : []),
|
||||
// 2: Sort folders first if sorting by name
|
||||
...(this.userConfig.sort_folders_first ? [v => v.type !== 'folder'] : []),
|
||||
// 3: Use sorting mode if NOT basename (to be able to use displayName too)
|
||||
...(this.sortingMode !== 'basename' ? [v => v[this.sortingMode]] : []),
|
||||
// 4: Use displayname if available, fallback to name
|
||||
v => v.attributes?.displayname || v.basename,
|
||||
// 5: Finally, use basename if all previous sorting methods failed
|
||||
v => v.basename,
|
||||
]
|
||||
const orders = [
|
||||
// (for 1): always sort favorites before normal files
|
||||
...(this.userConfig.sort_favorites_first ? ['asc'] : []),
|
||||
// (for 2): always sort folders before files
|
||||
...(this.userConfig.sort_folders_first ? ['asc'] : []),
|
||||
// (for 3): Reverse if sorting by mtime as mtime higher means edited more recent -> lower
|
||||
...(this.sortingMode === 'mtime' ? [this.isAscSorting ? 'desc' : 'asc'] : []),
|
||||
// (also for 3 so make sure not to conflict with 2 and 3)
|
||||
...(this.sortingMode !== 'mtime' && this.sortingMode !== 'basename' ? [this.isAscSorting ? 'asc' : 'desc'] : []),
|
||||
// for 4: use configured sorting direction
|
||||
this.isAscSorting ? 'asc' : 'desc',
|
||||
// for 5: use configured sorting direction
|
||||
this.isAscSorting ? 'asc' : 'desc',
|
||||
] as ('asc'|'desc')[]
|
||||
return [identifiers, orders] as const
|
||||
},
|
||||
|
||||
/**
|
||||
* The current directory contents.
|
||||
*/
|
||||
dirContentsSorted(): Node[] {
|
||||
dirContentsSorted() {
|
||||
if (!this.currentView) {
|
||||
return []
|
||||
}
|
||||
|
|
@ -351,10 +316,12 @@ export default defineComponent({
|
|||
return this.isAscSorting ? results : results.reverse()
|
||||
}
|
||||
|
||||
return orderBy(
|
||||
filteredDirContent,
|
||||
...this.sortingParameters,
|
||||
)
|
||||
return sortNodes(filteredDirContent, {
|
||||
sortFavoritesFirst: this.userConfig.sort_favorites_first,
|
||||
sortFoldersFirst: this.userConfig.sort_folders_first,
|
||||
sortingMode: this.sortingMode,
|
||||
sortingOrder: this.isAscSorting ? 'asc' : 'desc',
|
||||
})
|
||||
},
|
||||
|
||||
dirContents(): Node[] {
|
||||
|
|
|
|||
|
|
@ -41,6 +41,31 @@ describe('Files: Sorting the file list', { testIsolation: true }, () => {
|
|||
})
|
||||
})
|
||||
|
||||
/**
|
||||
* Regression test of https://github.com/nextcloud/server/issues/45829
|
||||
*/
|
||||
it('Filesnames with numbers are sorted by name ascending by default', () => {
|
||||
cy.uploadContent(currentUser, new Blob(), 'text/plain', '/name.txt')
|
||||
.uploadContent(currentUser, new Blob(), 'text/plain', '/name_03.txt')
|
||||
.uploadContent(currentUser, new Blob(), 'text/plain', '/name_02.txt')
|
||||
.uploadContent(currentUser, new Blob(), 'text/plain', '/name_01.txt')
|
||||
cy.login(currentUser)
|
||||
cy.visit('/apps/files')
|
||||
|
||||
cy.get('[data-cy-files-list-row]').each(($row, index) => {
|
||||
switch (index) {
|
||||
case 0: expect($row.attr('data-cy-files-list-row-name')).to.eq('name.txt')
|
||||
break
|
||||
case 1: expect($row.attr('data-cy-files-list-row-name')).to.eq('name_01.txt')
|
||||
break
|
||||
case 2: expect($row.attr('data-cy-files-list-row-name')).to.eq('name_02.txt')
|
||||
break
|
||||
case 3: expect($row.attr('data-cy-files-list-row-name')).to.eq('name_03.txt')
|
||||
break
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
it('Can sort by size', () => {
|
||||
cy.uploadContent(currentUser, new Blob(), 'text/plain', '/1 tiny.txt')
|
||||
.uploadContent(currentUser, new Blob(['a'.repeat(1024)]), 'text/plain', '/z big.txt')
|
||||
|
|
|
|||
6
dist/6778-6778.js.license
vendored
6
dist/6778-6778.js.license
vendored
|
|
@ -13,6 +13,7 @@ SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
|
|||
SPDX-FileCopyrightText: Stefan-Gabriel Muscalu <stefan.gabriel.muscalu@gmail.com>
|
||||
SPDX-FileCopyrightText: Sindre Sorhus
|
||||
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
|
||||
SPDX-FileCopyrightText: Roeland Jago Douma
|
||||
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
SPDX-FileCopyrightText: Joyent
|
||||
|
|
@ -45,6 +46,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/axios
|
||||
- version: 2.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/dialogs
|
||||
- version: 5.3.5
|
||||
- license: AGPL-3.0-or-later
|
||||
|
|
@ -55,7 +59,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
6
dist/8377-8377.js.license
vendored
6
dist/8377-8377.js.license
vendored
|
|
@ -11,6 +11,7 @@ SPDX-FileCopyrightText: Varun A P
|
|||
SPDX-FileCopyrightText: Tobias Koppers @sokra
|
||||
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: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
|
|
@ -42,6 +43,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/axios
|
||||
- version: 2.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/dialogs
|
||||
- version: 5.3.5
|
||||
- license: AGPL-3.0-or-later
|
||||
|
|
@ -52,7 +56,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/8755-8755.js.license
vendored
2
dist/8755-8755.js.license
vendored
|
|
@ -87,7 +87,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/8832-8832.js.license
vendored
2
dist/8832-8832.js.license
vendored
|
|
@ -68,7 +68,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/9480-9480.js.license
vendored
2
dist/9480-9480.js.license
vendored
|
|
@ -113,7 +113,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
6
dist/comments-init.js.license
vendored
6
dist/comments-init.js.license
vendored
|
|
@ -8,6 +8,7 @@ SPDX-FileCopyrightText: escape-html developers
|
|||
SPDX-FileCopyrightText: assert developers
|
||||
SPDX-FileCopyrightText: Tobias Koppers @sokra
|
||||
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
|
||||
SPDX-FileCopyrightText: Roeland Jago Douma
|
||||
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Joyent
|
||||
|
|
@ -26,6 +27,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/auth
|
||||
- version: 2.3.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- semver
|
||||
- version: 7.6.2
|
||||
- license: ISC
|
||||
|
|
@ -33,7 +37,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
4
dist/core-common.js
vendored
4
dist/core-common.js
vendored
File diff suppressed because one or more lines are too long
2
dist/core-common.js.license
vendored
2
dist/core-common.js.license
vendored
|
|
@ -145,7 +145,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/core-common.js.map
vendored
2
dist/core-common.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/core-login.js.license
vendored
2
dist/core-login.js.license
vendored
|
|
@ -70,7 +70,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/core-main.js.license
vendored
2
dist/core-main.js.license
vendored
|
|
@ -86,7 +86,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
4
dist/files-init.js
vendored
4
dist/files-init.js
vendored
File diff suppressed because one or more lines are too long
6
dist/files-init.js.license
vendored
6
dist/files-init.js.license
vendored
|
|
@ -15,6 +15,7 @@ SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
|
|||
SPDX-FileCopyrightText: Stefan-Gabriel Muscalu <stefan.gabriel.muscalu@gmail.com>
|
||||
SPDX-FileCopyrightText: Sindre Sorhus
|
||||
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
|
||||
SPDX-FileCopyrightText: Roeland Jago Douma
|
||||
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
|
||||
SPDX-FileCopyrightText: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
|
|
@ -54,6 +55,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/axios
|
||||
- version: 2.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/dialogs
|
||||
- version: 5.3.5
|
||||
- license: AGPL-3.0-or-later
|
||||
|
|
@ -64,7 +68,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/files-init.js.map
vendored
2
dist/files-init.js.map
vendored
File diff suppressed because one or more lines are too long
4
dist/files-main.js
vendored
4
dist/files-main.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files-main.js.license
vendored
2
dist/files-main.js.license
vendored
|
|
@ -81,7 +81,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/files-main.js.map
vendored
2
dist/files-main.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/files-reference-files.js.license
vendored
2
dist/files-reference-files.js.license
vendored
|
|
@ -96,7 +96,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/files-sidebar.js.license
vendored
2
dist/files-sidebar.js.license
vendored
|
|
@ -104,7 +104,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
6
dist/files_external-init.js.license
vendored
6
dist/files_external-init.js.license
vendored
|
|
@ -11,6 +11,7 @@ SPDX-FileCopyrightText: Varun A P
|
|||
SPDX-FileCopyrightText: Tobias Koppers @sokra
|
||||
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: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
|
|
@ -42,6 +43,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/axios
|
||||
- version: 2.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/dialogs
|
||||
- version: 5.3.5
|
||||
- license: AGPL-3.0-or-later
|
||||
|
|
@ -52,7 +56,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
6
dist/files_reminders-init.js.license
vendored
6
dist/files_reminders-init.js.license
vendored
|
|
@ -11,6 +11,7 @@ SPDX-FileCopyrightText: Varun A P
|
|||
SPDX-FileCopyrightText: Tobias Koppers @sokra
|
||||
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: Nextcloud GmbH and Nextcloud contributors
|
||||
SPDX-FileCopyrightText: Matt Zabriskie
|
||||
|
|
@ -42,6 +43,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/axios
|
||||
- version: 2.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/dialogs
|
||||
- version: 5.3.5
|
||||
- license: AGPL-3.0-or-later
|
||||
|
|
@ -52,7 +56,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
4
dist/files_sharing-files_sharing_tab.js
vendored
4
dist/files_sharing-files_sharing_tab.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-files_sharing_tab.js.map
vendored
2
dist/files_sharing-files_sharing_tab.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-init.js.license
vendored
2
dist/files_sharing-init.js.license
vendored
|
|
@ -50,7 +50,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
4
dist/files_sharing-personal-settings.js
vendored
4
dist/files_sharing-personal-settings.js
vendored
File diff suppressed because one or more lines are too long
2
dist/files_sharing-personal-settings.js.map
vendored
2
dist/files_sharing-personal-settings.js.map
vendored
File diff suppressed because one or more lines are too long
2
dist/files_trashbin-init.js.license
vendored
2
dist/files_trashbin-init.js.license
vendored
|
|
@ -81,7 +81,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
2
dist/settings-users-3239.js.license
vendored
2
dist/settings-users-3239.js.license
vendored
|
|
@ -89,7 +89,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.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
|
|
@ -73,7 +73,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
6
dist/systemtags-init.js.license
vendored
6
dist/systemtags-init.js.license
vendored
|
|
@ -16,6 +16,7 @@ SPDX-FileCopyrightText: Tobias Koppers @sokra
|
|||
SPDX-FileCopyrightText: T. Jameson Little <t.jameson.little@gmail.com>
|
||||
SPDX-FileCopyrightText: Sindre Sorhus
|
||||
SPDX-FileCopyrightText: Roman Shtylman <shtylman@gmail.com>
|
||||
SPDX-FileCopyrightText: Roeland Jago Douma
|
||||
SPDX-FileCopyrightText: Raynos <raynos2@gmail.com>
|
||||
SPDX-FileCopyrightText: Perry Mitchell <perry@perrymitchell.net>
|
||||
SPDX-FileCopyrightText: Paul Vorbach <paul@vorba.ch> (http://paul.vorba.ch)
|
||||
|
|
@ -55,6 +56,9 @@ This file is generated from multiple sources. Included packages:
|
|||
- @nextcloud/axios
|
||||
- version: 2.5.0
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/capabilities
|
||||
- version: 1.2.0
|
||||
- license: GPL-3.0-or-later
|
||||
- semver
|
||||
- version: 7.6.2
|
||||
- license: ISC
|
||||
|
|
@ -62,7 +66,7 @@ This file is generated from multiple sources. Included packages:
|
|||
- version: 3.3.1
|
||||
- license: GPL-3.0-or-later
|
||||
- @nextcloud/files
|
||||
- version: 3.5.1
|
||||
- version: 3.6.0
|
||||
- license: AGPL-3.0-or-later
|
||||
- @nextcloud/initial-state
|
||||
- version: 2.2.0
|
||||
|
|
|
|||
11
package-lock.json
generated
11
package-lock.json
generated
|
|
@ -20,7 +20,7 @@
|
|||
"@nextcloud/capabilities": "^1.2.0",
|
||||
"@nextcloud/dialogs": "^5.3.5",
|
||||
"@nextcloud/event-bus": "^3.3.1",
|
||||
"@nextcloud/files": "^3.5.1",
|
||||
"@nextcloud/files": "^3.6.0",
|
||||
"@nextcloud/initial-state": "^2.2.0",
|
||||
"@nextcloud/l10n": "^3.1.0",
|
||||
"@nextcloud/logger": "^3.0.2",
|
||||
|
|
@ -4440,16 +4440,17 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@nextcloud/files": {
|
||||
"version": "3.5.1",
|
||||
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.5.1.tgz",
|
||||
"integrity": "sha512-GkVWUgkBSVt27Carmp/DbnDiqHq03w3VQWt8xszacp/IQSB9G+8/KCvi8zxldac2q7lQ8NpHlB/Bqy8o+OOc0A==",
|
||||
"version": "3.6.0",
|
||||
"resolved": "https://registry.npmjs.org/@nextcloud/files/-/files-3.6.0.tgz",
|
||||
"integrity": "sha512-/3kzEJ1TsCgjkSVhjdI+FnF0c2rvYtiTAQPoNqkNQYFa7Vbor+XPuypBQIJZFMDMzEgUexAL4QuQT3YmeSfBAA==",
|
||||
"dependencies": {
|
||||
"@nextcloud/auth": "^2.3.0",
|
||||
"@nextcloud/capabilities": "^1.2.0",
|
||||
"@nextcloud/l10n": "^3.1.0",
|
||||
"@nextcloud/logger": "^3.0.2",
|
||||
"@nextcloud/paths": "^2.1.0",
|
||||
"@nextcloud/router": "^3.0.1",
|
||||
"@nextcloud/sharing": "^0.2.1",
|
||||
"@nextcloud/sharing": "^0.2.2",
|
||||
"cancelable-promise": "^4.3.1",
|
||||
"is-svg": "^5.0.1",
|
||||
"typescript-event-target": "^1.1.1",
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@
|
|||
"@nextcloud/capabilities": "^1.2.0",
|
||||
"@nextcloud/dialogs": "^5.3.5",
|
||||
"@nextcloud/event-bus": "^3.3.1",
|
||||
"@nextcloud/files": "^3.5.1",
|
||||
"@nextcloud/files": "^3.6.0",
|
||||
"@nextcloud/initial-state": "^2.2.0",
|
||||
"@nextcloud/l10n": "^3.1.0",
|
||||
"@nextcloud/logger": "^3.0.2",
|
||||
|
|
|
|||
Loading…
Reference in a new issue