aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files/src
Commit message (Collapse)AuthorAgeFilesLines
* feat(files): allow to ignore warning to change file typeFerdinand Thiessen2025-02-258-169/+417
| | | | | | | | | | | | | * Missing pieces of https://github.com/nextcloud/server/issues/46528 * Add checkbox to not show this dialog again * Add user config as suggested by designers in files settings to reenable or diable this behavior. * Fix behavior of dialog: It says "keep .ext" but it does not keep the extension but cancels the operation. From the button label the user expects that the operation is continued but with the old extension. * Added more test coverage by adding component tests. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix: rename 'edit locally' to 'open locally'Jérôme Herbinet2025-02-213-11/+11
| | | | | | Replace "Edit" by "Open" Signed-off-by: Jérôme Herbinet <33763786+Jerome-Herbinet@users.noreply.github.com>
* fix(files): handle failed node properlyskjnldsv2025-02-211-2/+22
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* refactor: Migrate nextcloud-vue usage to new import schemaFerdinand Thiessen2025-02-2031-87/+89
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): do not show extension warning for folders renamingfix/files-rename-folderskjnldsv2025-02-191-3/+3
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): attach sidebar to main content for vue debugskjnldsv2025-02-182-15/+26
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): properly show file not found errorskjnldsv2025-02-181-3/+13
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): properly forward open params from short urlsskjnldsv2025-02-181-5/+9
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(transferownership): allow searching by email, display ↵Julien Veyssier2025-02-171-14/+6
| | | | | | user.shareWithDisplayNameUnique in item subline, adjust style Signed-off-by: Julien Veyssier <julien-nc@posteo.net>
* fix(template-filler): Hide template fields with unknown labelsElizabeth Danzberger2025-02-133-5/+13
| | | | Signed-off-by: Elizabeth Danzberger <lizzy7128@tutanota.de>
* fix(files): only send config update requests if user is logged inFerdinand Thiessen2025-02-085-127/+126
| | | | | | | | | | | | Since we use the files app also for public shares it is not guaranteed that there is a user logged in, in that case the update for user / view config will fail. So ensure there is a user or do not send a request. Also refactor both stores to setup styles to fix (remove) initialization hack, which causes Typescript issues. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* chore(files): add actions cypress testsskjnldsv2025-02-071-1/+1
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): support submenu in batch actions header tooskjnldsv2025-02-065-60/+201
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Do not download files with `openfile` query flagFerdinand Thiessen2025-02-062-35/+68
| | | | | | | Instead of downloading files, if there is no other default action, we should just open the details tab. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): Correctly scroll selected file into viewFerdinand Thiessen2025-02-053-51/+122
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): properly update store on files conversions successskjnldsv2025-02-045-63/+63
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Fix casingChristopher Ng2025-02-041-1/+1
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* chore(files): Change "filename" to "file name"Christopher Ng2025-02-041-1/+1
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* fix: Use `searchFrom` property for client side pluginsfix/noid/fix-unified-search-provider-idnfebe2025-01-301-0/+2
| | | | | | | | | | | The client-side plugin `in-folder` uses the `files` provider, this makes it overlap with the main files provider itself. This change follows eecda06f1ad2832cc2a7b31d646458f730c8412a after it was discovered that some apps/providers like `dav` use providers from another app like `contacts` Signed-off-by: nfebe <fenn25.fn@gmail.com> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
* fix(files): Allow opening the same file repeatedlyprovokateurin2025-01-301-1/+1
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* perf(files): Check node type property instead of instanceChristopher Ng2025-01-291-4/+4
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* fix(unified-search): Prevent multiple file picker triggers in in-folder searchfix/load-more-than-5-items-in-folder-filternfebe2025-01-291-20/+24
| | | | Signed-off-by: nfebe <fenn25.fn@gmail.com>
* fix(unified-search): Use appId for searchingnfebe2025-01-291-2/+3
| | | | | | | | | | | | | | Each provider may search from a particular app so we should use that for searching. Before this commit, we used `provider.id` instead of `provider.appId` the problem with the previous approach is that it forces the provider id to be a valid search provider (an app that supports search) limiting the developers ability to use unique IDs to identify the different providers (especially plugin providers) inside the places filter. For example the Files search plugin "In folder" (search in folder plugin) was required to have id as `files` while the files provider itself already has id as `files`. Signed-off-by: nfebe <fenn25.fn@gmail.com>
* fix: Hide "Create templates folder" option if templates are disabled in ↵Pawel Boguslawski2025-01-271-2/+4
| | | | | | | | | | | | | | | | configuration When both `skeletondirectory` and `templatedirectory` are set to empty strings in configuration, templates folder creation should be disabled and no Create templates folder option should be present in new folder menu. Related: https://github.com/nextcloud/server/issues/39266 Related: https://github.com/nextcloud/server/issues/46455 Author-Change-Id: IB#1156403 Signed-off-by: Pawel Boguslawski <pawel.boguslawski@ib.pl> Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
* fix(files): jsunit file_conversionsfeat/file-conversion-provider-frontskjnldsv2025-01-221-1/+1
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): better conversion error messagesskjnldsv2025-01-221-3/+6
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files): add conversion actionskjnldsv2025-01-224-1/+228
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): Ensure favorites set in sidebar workFerdinand Thiessen2025-01-213-10/+32
| | | | | | | | | | | | | | When marking a file as favorite from within the sidebar make sure it really works, this fixes two issues: 1. The source needs to be the plain source not URL encoded, as otherwise the source of the node would be encoded twice (and show with encoding in the navigation) 2. The store should also listen for the update events as the sidebar has no access to the real node to update it, instead the store should - as long as we only have the legacy sidebar - update the node when added or removed as favorite. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): Properly reset all file list filters on view changeFerdinand Thiessen2025-01-215-69/+131
| | | | Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): File type filter UI sync with filter stateFerdinand Thiessen2025-01-172-9/+34
| | | | | | | When changing the folder the filter will be re-mounted by the file list, so we need to pass the current state of the filter to the filter UI. Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* chore: Resolve ESLint warningsFerdinand Thiessen2025-01-165-18/+15
| | | | | | | | | | - Add default value to non-required Vue props - Reformat function to async function if needed - Add some documentation - Allow `any` in places where it makes sense (tests) - Order vue component sections as required Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* fix(files): sort not working after changing viewsfix/files/sort-after-view-changeRichard Steinmetz2025-01-166-36/+13
| | | | Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
* fix(files): hide move dialog action if destination has no CREATE permissionMaksim Sukharev2025-01-151-0/+5
| | | | Signed-off-by: Maksim Sukharev <antreesy.web@gmail.com>
* fix: Remove duplicate propfind callLouis Chemineau2025-01-153-32/+37
| | | | | | This also was an XHR call which is not going through the end to end encryption proxy Signed-off-by: Louis Chemineau <louis@chmn.me>
* fix: Show full template nameJulius Knorr2025-01-151-3/+0
| | | | Signed-off-by: Julius Knorr <jus@bitgrid.net>
* feat(files_trashbin): Allow preventing trash to be deleted permanentlyprovokateurin2025-01-133-1/+48
| | | | Signed-off-by: provokateurin <kate@provokateurin.de>
* fix(files): rename actions submenu back entrybackport/50123/masterskjnldsv2025-01-101-1/+1
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): close submenu on main actions state changeskjnldsv2025-01-101-0/+7
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix: Do not duplicate `/` in davPathartonge/fix/sidebar_davpathLouis Chemineau2025-01-091-1/+1
| | | | | | | `davRootPath` already contains a leading `/` Signed-off-by: Louis Chemineau <louis@chmn.me> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
* fix: Use `displayname` as sidebar titleartonge/fix/displayname_in_sidebarLouis Chemineau2025-01-091-2/+2
| | | | | | | Keep the fallback with this.fileInfo as this.node could be null Signed-off-by: Louis Chemineau <louis@chmn.me> Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
* feat(files): Display meaningful error message on move failureChristopher Ng2025-01-031-2/+13
| | | | Signed-off-by: Christopher Ng <chrng8@gmail.com>
* fix(files): Only register preview service worker once when the instance is ↵fix/files/preview-service-worker-registrationprovokateurin2024-12-181-1/+8
| | | | | | hosted at the root path Signed-off-by: provokateurin <kate@provokateurin.de>
* feat(systemtags): add systemtag manage keyboard shortcutskjnldsv2024-12-174-26/+67
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files): add keyboard shortcuts helper sectionskjnldsv2024-12-172-4/+155
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): pinia import and usageskjnldsv2024-12-171-2/+2
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files): add selection keyboard shortcutsskjnldsv2024-12-172-6/+59
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files): add hotkey service and unify action handlingskjnldsv2024-12-1714-80/+438
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* fix(files): virtual scroller item size computationskjnldsv2024-12-171-15/+44
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files): add opendetails param and file list up/down keyboard shortcutskjnldsv2024-12-177-49/+234
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>
* feat(files_trashbin): add cypress testsskjnldsv2024-12-121-0/+1
| | | | Signed-off-by: skjnldsv <skjnldsv@protonmail.com>