Commit Graph

1283 Commits

Author SHA1 Message Date
Daniel Calviño Sánchez 21551d7884 Improve documentation of "getTotalWidth"
"getTotalWidth" is not more accurate; it is simply not clamped.
Moreover, "width/outerWidth" could be used in tests too, and also even
if "getTotalWidth" could be used in tests while others not that would
not be something to be stated in the API documentation, but in a
comment.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez 23559b2eda Do not show the crumbs again after hiding them
After the changes in the previous commit "_showCrumb" no longer shows
the menu, only the same crumb that was hidden by the last call to
"_hideCrumb". Therefore, if the crumb was hidden because it did not fit
there is no need to try to show it again, as it will still not fit.

Moreover, the calculated width for a hidden element is not always
accurate; in some cases the calculated width is lower than the actual
width (it happens, for example, when using a background image like the
"Share" icon), which causea the crumb to be shown even if there is not
enough room, which in the end causes the siblings to overflow the
contents.

No unit tests for this one, though; you will have to trust me on this,
sorry ;-)

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez a1af18fa35 Fix menu visibility
The crumb for the menu was shown like any other crumb when calling
"_showCrumb", but it was also shown when other crumbs were hidden
without taking into account the available width. This caused several
related problems, like the breadcrumbs taking too much space when the
menu was sometimes shown after the rest of the crumbs were adjusted to
the available width, or the menu being shown instead of the last crumb
even if there was room for it when the available width was increased.

Now the menu is always hidden before starting the resizing of the crumbs
to ensure that whether it was previously shown or not does not affect
the result. In a similar way, the menu will no longer be shown by
"_showCrumb", as it is not a regular crumb that has to be shown simply
if there is enough room. The menu is now shown as soon as any other
crumb is hidden; this ensures that the menu width will be taken into
account in further width checks. As when _updateMenu" is called it no
longer needs to take care of showing the menu this fixes the issue
revealed when fixing the test setup in the previous commit.

Finally, this implicitly fixes the failure in the breadcrumbs tests when
run on Firefox, as it was caused by the menu interfering in the
calculations of the other crumbs when increasing the width.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez 83b50690a8 Take padding and margins of crumbs into account
When calculating the total width of the crumbs only its padding was
taken into account; now the margin is too. In a similar way, before
showing a crumb only its width was taken into account; now its padding
and margin are taken into account too.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez d9405a2b02 Compress siblings before calculating the available width for crumbs
When the parent element of the breadcrumbs was resized to a larger width
and the siblings of the breadcrumbs expanded to fill all the available
width some crumbs could be hidden even if there was enough room for
them. The reason was that the width of the siblings being used to
calculate the available width for the breadcrumbs was the expanded width
of the siblings. Now as many crumbs as possible (that is, fitting in the
parent, no matter the siblings) are first shown so the expanding
siblings are compressed before calculating the available width.

Due to the lack of support for flexboxes in PhantomJS the related unit
test is skipped; it has to be run in other browser, like Firefox.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez a93dac6a9c Take all visible siblings into account
Other apps could add elements to the controls outside the creatable
actions div (for example, the button to switch to the gallery), so the
widths of all the visible siblings of the breadcrumbs have to be taken
into account in the size calculations.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez bb85084c3d Take padding and margin of the creatable actions div into account
There are some differences in width handling between the browsers used
to run the tests, most likely due to their support (or lack of) of
certain CSS features: PhantomJS requires "width" to be set (probably
because it does not handle flex displays and treats it like a block, so
"min-width" does not matter in this case), while Firefox requires
"min-width" to be set (otherwise the children of "#controls" could be
compressed due to its use of flex display and the elements would end
with a different width than the one needed for the tests). Due to all
that the width of the breadcrumb siblings must be specified in the tests
using both "width" and "min-width".

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez 2fd3fa20df Replace attribute with local variable
The "usedWidth" attribute was not used elsewhere outside the "_resize"
method, so it was replaced with a local variable. Moreover, it was also
renamed to a more suitable name ("availableWidth").

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez 61bd3631d9 Set the width of the parent element in breadcrumb tests
Setting the width of the parent element of the breadcrumbs and then
explicitly calling "_resize" is enough to test the resizing behaviour.
This makes possible to remove the "setMaxWidth" method and its related
code, which was used only for testing purposes.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-01 20:33:14 +01:00
Daniel Calviño Sánchez f29c1cf13a Fix empty details view after renaming a file
"FileList._updateDetailsView" expects either a file name (as a string)
or a file model (as an "OCA.File.FileInfoModel"), but when called
through "updateInList" an "OC.Files.FileInfo" object was given instead.
As the given attribute was not a model "_updateDetailsView" treated it
as a file name and tried to get the model for that file, which failed
and caused the details view to be emptied.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-01-11 02:47:11 +01:00
Roeland Jago Douma d4f163b230
Don't encode paths passed to the OC.Files.Client
This is handled already in the client. So double encoding breaks things
in some situations.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-01-10 08:35:40 +01:00
Daniel Calviño Sánchez 3113ee1129 Hide favourite icon in details view if favourite action is not available
When the favourite icon in the details view is clicked the "Favorite"
action is triggered. However, if the action name given to
"triggerAction" is not found then the "Download" action is triggered
instead. As the "Favorite" action is not available in some file lists
(like "Recents") the "Download" action was executed instead in those
cases, which was a strange behaviour. Now the favourite icon is
hidden if its action is not available.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-01-05 19:06:06 +01:00
John Molakvoæ (skjnldsv) 88dd8e46f9
Fixup! removed unwanted line
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 17:55:53 +01:00
John Molakvoæ (skjnldsv) ab1985b62b
Fixed quota update on upload and on delete
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 17:53:48 +01:00
Morris Jobke 0bc6a7d7fd
Merge pull request #7681 from nextcloud/fix-quota-update-2
Update quotas on each upload
2018-01-03 16:30:19 +01:00
Morris Jobke 876238ce8b
Merge pull request #7533 from nextcloud/oc-28545-handle-oc-total-length-in-new-chunking
[oc] Handle OC-Total-Length in new chunking
2018-01-03 16:18:24 +01:00
John Molakvoæ (skjnldsv) 51eb26e183
Fix unwanted var
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 14:01:47 +01:00
John Molakvoæ (skjnldsv) c4490c6ba8
Update quotas on each upload
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-01-03 13:59:36 +01:00
Morris Jobke 31c0efc299
Show warning if slash is entered as filename
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-03 11:42:49 +01:00
Morris Jobke fa2fe34b7a
Merge pull request #7624 from nextcloud/fix-fileActions-currentFile-not-set-before-using-it
Fix "fileActions.currentFile" not set before using it
2018-01-02 10:28:04 +01:00
Roeland Jago Douma 08cbfb6c6b
Merge pull request #7592 from nextcloud/update-quota-on-files-upload
Update quota on files upload
2017-12-28 10:53:14 +01:00
John Molakvoæ (skjnldsv) c8db1ed741
Fixed tests
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-26 16:37:34 +01:00
Daniel Calviño Sánchez ea40ade8ad Fix "fileActions.currentFile" not set before using it
When an empty area of a file row was clicked and the "Details" action
was executed "fileActions.currentFile" was not guaranteed to be set to
the appropriate object (it depended on the previous actions of the
user), so when it was used by "getCurrentMimeType()" and other
FileActions functions they may not work as expected. Now it is
explicitly set to the appropriate value before its use.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-26 04:56:25 +01:00
Morris Jobke e37fa60784
Merge pull request #7591 from nextcloud/trigger-events-before-and-after-a-file-action-is-executed
Trigger events before and after a file action is executed
2017-12-22 12:31:55 +01:00
John Molakvoæ (skjnldsv) 0cb45f681f
Update quota on file upload and deletion
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-21 10:48:43 +01:00
Daniel Calviño Sánchez c059fbd409 Remove internal unused property
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-21 02:08:40 +01:00
Daniel Calviño Sánchez 96ed73343e Trigger the "Details" action when clicking on an empty file row space
Clicking on an empty space in a file row causes the details view to be
shown. As it is a user initiated action on the file list now it is done
by triggering the Details action instead of directly calling
"_updateDetailsView"; the result is the same in both cases, but using
the action is more consistent (clicking on the file name triggers the
default action, and clicking on the inline actions triggers those
actions) and also makes possible to use the "beforeTriggerAction" and
"afterTriggerAction" listeners.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-21 00:36:40 +01:00
John Molakvoæ (skjnldsv) 7a9e65ceed
Fixed breadcrumbs calculation and actions flow
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-12-20 13:48:09 +01:00
Daniel Calviño Sánchez 7760f16521 Trigger events before and after a file action is executed
In the same way that other elements can know when a FileAction is
registered or a default action is set this commit makes possible to be
notified before and after a FileAction is executed.

This is achieved by wrapping the registered action handler in a custom
function that notifies the listeners before and after executing the
handler itself. Due to this approach only FileActions registered through
"registerAction" trigger the events, although that is not a problem as
this is how the actions should be added to the FileActions anyway.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-19 18:33:34 +01:00
Vincent Petry ec8bf53356 Only set X-OC-Mtime when browser provided lastModified on upload
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-15 14:46:53 +01:00
Thomas Müller f39de4ab37 Transmit OC-Total-Length in browser as well
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-15 14:46:48 +01:00
Daniel Calviño Sánchez 39c549fa27 Fix drag shadow not visible when dragging a file on a narrow screen
When a file from the file list is dragged a drag shadow (a copy of the
file row that follows the cursor position) is created. The drag shadow
element is created as a direct child of the body element, so it needs a
higher "z-index" than the one used for the file list to be visible.

In narrow screens the "#app-content" uses a "z-index" of 1000 in order
to be visible over the "#navigation-bar" when they overlap, so the
"z-index" of the drag shadow must be at least 1000 to be visible over
the file list.

Instead of updating the hardcoded "z-index" it was removed and replaced
by CSS rules for ".dragshadow" elements to ease theming.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-12-14 04:05:49 +01:00
blizzz 4fc8984d89
Merge pull request #6079 from nextcloud/fix-antivirus
Parse Sabre Exception in OC.Files.Client and file-upload
2017-12-11 17:12:02 +01:00
Tobias Kaminsky 430f60db21
Merge pull request #6670 from nextcloud/handle-encryption-state-in-web-interface
Handle encryption state in web interface
2017-12-06 16:19:17 +01:00
Arthur Schiwon 5a9c99e6ac
recycle SharedFileInfo values in fileInfo
fileInfo is composed of data from sharing, however additional data is
pulled when sidebar opens, e.g. the size. Then, existing data is
overwritten by data from the other source (files). The data points that
would be lost are not dirty however and still used, so we keep them.

Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2017-11-23 17:51:56 +01:00
Bjoern Schiessle 7bc28f14de show e2e folder icon on encrypted folders
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-11-20 21:00:26 +01:00
Daniel Calviño Sánchez 37d8d3d858 Add data attribute to file list rows telling if the file is encrypted
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-20 21:00:04 +01:00
Bjoern Schiessle 670ac48eb7 adjust permissions in web view for encrypted folders
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-11-20 18:24:50 +01:00
Björn Schießle f347e2e4a6
Merge pull request #7047 from nextcloud/add-support-for-files-with-no-permissions
Add support for files with no permissions
2017-11-20 16:15:52 +01:00
Jan-Christoph Borchardt 1c5586adab Fix tooltip placement in Shared files list
Signed-off-by: Jan-Christoph Borchardt <hey@jancborchardt.net>
2017-11-14 11:55:44 +01:00
Vincent Petry dfc91a253c Parse Sabre Exception in OC.Files.Client and file-upload
In case of error, instead of a generic error message, an upload will
display whichever message is returned in the Sabre Exception, if
applicable.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2017-11-13 12:19:14 +01:00
Morris Jobke ff2d4432d8
Merge pull request #7051 from nextcloud/breadcrumbs-refactor
Breadcrumbs refactor
2017-11-13 12:19:05 +01:00
blizzz 1a2f9fe678
Merge pull request #7056 from nextcloud/oc-28415-enable-chunking-in-authenticated-web-upload
[oc] Enable chunking for bigger files in authenticated web upload
2017-11-10 15:35:58 +01:00
John Molakvoæ (skjnldsv) f40e56f0e6
Fix menu declaration and width calculation
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-11-10 08:23:24 +01:00
John Molakvoæ (skjnldsv) 2a1e9ad046
Removed console log
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-11-09 11:04:30 +01:00
Morris Jobke e0aaca1726
Merge pull request #7046 from nextcloud/hide-summary-file-actions-when-selected-file-does-not-match
Hide summary file actions when a selected file does not match
2017-11-09 09:45:55 +01:00
Morris Jobke 6b3975c23a
Merge pull request #6846 from nextcloud/filelist-confict-path
still trigger conflict resolution for existing entries when the curre…
2017-11-09 09:33:59 +01:00
John Molakvoæ (skjnldsv) 85355e98e6
Fixed tests and width calculation
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-11-08 20:12:38 +01:00
John Molakvoæ (skjnldsv) aea30e0004
Scrutinizer fix
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-11-08 19:12:56 +01:00
John Molakvoæ (skjnldsv) 584272962a
Improve drag & drop and fix some background issue if d&d on narrow windows
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2017-11-08 19:03:32 +01:00