Reported at Transifex:
> This string needs pluralization feature, because in some languages translation of "selected" differs between singular and plural.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
We try to open a file in the Nextcloud client.
If this fails a dialog is shown with 3 options:
1. Retry: If it fails no further dialog is shown.
2. Open online: The viewer is used to open the file.
3. Close the dialog and nothing happens (abort).
This correctly implements 3 and also adds some comments + order file in
reading order (using `function` instead of arrow functions allows this
easily).
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
counted words should always be translated using `n`.
We can still simply concat the segments with punctation, this always
works regardless of the language used (even with RTL / LTR languages).
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Remove some hacks from files app about the *files_sharing* status
action, in general not sure why this hack was there instead of being in
the correct app - but it broke the grid view.
So now the sharing information is also available in grid view.
Moreover the icon is fixed in size to not overflow the actions menu.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
That is about 2500% as we needed to always wait for the timeout of
500ms. As the event was already handled - compared to now where we only
wait for one tick which is about 20ms.
Also the tests did not work as expected - for shift and meta key they
did not report the failing tests.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
It is needed, e.g. for the note-to-recipient, that the headers
are also shown when there is no content (yet).
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
Single file shares use the share token as source name, so we need to use
the displayname. To do so we need to set the download attribute to the
displayname of the file to download.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
The backend does not allow bulk download within the trashbin,
so we need to disable this also on the frontend.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
`reset` could be called before the filters are mounted,
in this case it is valid to update the presets, but we must not try to
access the vue instance (as it does not exist yet).
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
* 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>
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>
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>
The client-side plugin `in-folder` uses the `files` provider, this makes it
overlap with the main files provider itself.
This change follows eecda06f1a 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>
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>
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>
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>
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>
- 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>
`davRootPath` already contains a leading `/`
Signed-off-by: Louis Chemineau <louis@chmn.me>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
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>