Commit graph

348 commits

Author SHA1 Message Date
Clark Tomlinson
50993c1a05 Merge pull request #10860 from owncloud/scrolltofix
Scroll to file on search or add
2014-09-05 10:35:59 -04:00
Vincent Petry
f1bfe35cda Added permission check for drag and drop
When dropping files onto a read-only folder, a notification
is now shown instead of attempting to upload.

This for both the drag for upload and drag from inside the file list
cases.
2014-09-04 20:18:24 +02:00
Vincent Petry
6ca9e27438 Scroll to new file/folder after adding
When creating a new file from the menu, the list now scrolls to that
file.
2014-09-04 12:34:17 +02:00
Vincent Petry
9ae000676c Fixed scrollto for search results
Now passing the "scrollto" URL argument to the file list class which
will also automatically scroll and highlight the matching element.

This code is triggered by the search box when in a different folder and
also by the activity app.
2014-09-04 12:20:11 +02:00
pdessauw
0d078e48ce Highlight every uploaded files and scroll down to the last one 2014-09-03 09:59:01 -04:00
Clark Tomlinson
92685acf60 Implementing moment.js
Updating Usages

Removing unused method

Adding JS Doc
2014-08-28 09:28:45 -04:00
Jan-Christoph Borchardt
e713e97df5 remove obsolete 'Download preparing' message for zip downloads, fix #3755 2014-08-19 16:44:28 +02:00
Vincent Petry
3a99f15af2 Client side sort for sharing overview
Since the server doesn't support sorting, use client side sort directly
instead of calling reload() first.
2014-08-15 16:52:41 +02:00
Björn Schießle
27d94e9273 Merge pull request #10295 from owncloud/file_actions_error_handling
file actions improved error handling
2014-08-14 11:44:50 +02:00
Volkan Gezer
f2a775acb8 Fix alert text 2014-08-12 01:13:30 +02:00
Vincent Petry
173059f6d0 Fixed file list sorting
Now using a natural sort algorithm that is more consistent between JS
and PHP (although not perfect in some corner cases)

- added OC.Util.naturalSortComparator that uses the same algo that was
  used for the user list
- changed user list and files list to use OC.Util.naturalSortComparator
- removed toLowerCase() and changed the comparator to use
  String.localeCompare()
- added unit tests
- added OC_NaturalSort that is used by OCP\Util::naturalSortCompare()
2014-08-11 13:28:53 +02:00
Bjoern Schiessle
b3cff4beb6 add error message if user wants to rename a file which no longer exists 2014-08-11 12:03:08 +02:00
Jan-Christoph Borchardt
5ee0a57598 trigger lazy loading earlier, fix #9823 2014-08-08 00:27:31 +02:00
Morris Jobke
fa333c02a0 Merge pull request #9703 from owncloud/files-preview-animate
[OC 7] Fix preview animation on uploading
2014-07-24 14:19:00 +02:00
Vincent Petry
5565eabb81 Merge pull request #9683 from owncloud/fix_#8819_sorting
Fix #8819 sorting
2014-07-22 10:11:00 +02:00
Remco Brenninkmeijer
319caa7089 Sorting triangles pointing up for ascending, down for descending 2014-07-21 23:07:52 +02:00
Remco Brenninkmeijer
3ebcc29ee3 Before I get spanked ;) 2014-07-17 21:31:54 +02:00
Remco Brenninkmeijer
4f747aaa7a While busy cleaning, also removed extra enters 2014-07-17 13:05:58 +02:00
Remco Brenninkmeijer
616c5b2681 Corrected (Netbeans?) inserted spaces 2014-07-17 12:48:50 +02:00
Vincent Petry
7a1048956f Fix preview animation on uploading
When adding/uploading files, the preview is now animated.
When loading a list of files directly the preview is displayed directly.
2014-07-17 12:42:09 +02:00
Remco Brenninkmeijer
e307572e8d Fixed comments from PVince81 2014-07-16 22:53:14 +02:00
Remco Brenninkmeijer
742589fe01 Show sorting icons when hovering over 2014-07-16 21:52:08 +02:00
Vincent Petry
dd7529da98 Added mountType attribute and adapted Delete action text
Added mountType attribute for files/folder to indicated whether they are
regular, external or shared.

The client side then adapts the "Delete" action hint text based on this
information.

Only the mount roots must have the delete icon hint adapted.
To make this detectable on the client side, the mountType can now
be null, "shared", "shared-root", "external" or "external-root".

This also gives room to icon customization on the client side.
2014-07-14 10:36:04 +02:00
Vincent Petry
22653e21a2 Propagate file action changes to the file lists
Whenever an app needs to register an event late, it does that on the
original file actions object.

Since the file actions that the file list work on is a merged list, not
the original one, the registration event needs to be propagated there as
well.
2014-07-09 12:26:33 +02:00
Remco Brenninkmeijer
1a65d09f70 Changed default sorting except for names. 2014-07-08 19:52:28 +02:00
icewind1991
d3fab824f7 Merge pull request #9445 from owncloud/filelist-auth-error
Reload the page when the files app encounters an authentication error
2014-07-04 16:39:00 +02:00
Robin Appelman
4fe1cdd2a7 Add machine readable error messages to OC\JSON
Reload the files app in case of authentication errors, expired tokens or disabled app

Reloading will triger the full server side handeling of those errors

formatting

fix missing semicolon + some jshint warnings
2014-07-04 16:20:27 +02:00
Vincent Petry
59ca30d462 Fix reload call for all subclasses
All subclasses must also properly return the ajax call object.
2014-07-04 11:45:36 +02:00
Vincent Petry
f1f66ff686 Merge pull request #9373 from owncloud/design-fix-modified
shade color for modified dates again, fix #9363
2014-07-02 21:00:32 +02:00
Vincent Petry
f4eb90e229 Merge pull request #9311 from owncloud/storage-not-available
Handle storages not being available in webui and webdav
2014-07-02 18:15:58 +02:00
Morris Jobke
b6aeea8c0b simplify formula and add comment 2014-07-02 17:20:56 +02:00
Jan-Christoph Borchardt
053b0a4063 shade color for modified dates again, fix #9363 2014-07-02 16:37:15 +02:00
Vincent Petry
025b71d068 Use fileActionsReady to re-render sharing icons
Whenever file actions are modified, either by registering new actions or
when appending a new page of entries, the sharing app is now notified so
it can correctly refresh the sharing icon status.

Additionally, the core's loadIcons() method is also used to load the
existing shares and also refresh the sharing icons afterwards.
2014-07-01 21:32:04 +02:00
Vincent Petry
509cdebab7 Fix fileActionsReady event after deferred file actions update 2014-07-01 18:50:54 +02:00
Robin Appelman
30c240a145 If loading a directory fails, navigate back to the previous directory 2014-06-30 16:27:31 +02:00
Vincent Petry
0ff30a7d5e Remove missed console.log in file list 2014-06-27 16:10:37 +02:00
Morris Jobke
3b2fd5e4e6 Merge pull request #9254 from owncloud/fileactions-deferred
Sync file list with file actions
2014-06-27 15:03:21 +02:00
Jan-Christoph Borchardt
b975f0e718 Merge pull request #9174 from owncloud/breadcrumbfix
Breadcrumb width calculation fix
2014-06-27 13:51:18 +02:00
Vincent Petry
586b3a9683 Sync file list with file actions
Whenever file actions are registered later, now the file lists are
automatically notified.

Added FileActions.addUpdateListener() to be able to receive such
notifications.

This removes the need for apps to manually call FileActions.display()
after registering new actions.

This fixes issues with race conditions when file actions are
registered after the file list was already rendered.
2014-06-27 13:41:01 +02:00
Vincent Petry
ec4cf96f0d Breadcrumb width calculation fix
Rewrote the breadcrumb calculation to be more readable.

Breadcrumb now has a setMaxWidth() method to set the maximum allowed
width which is used to fit the breadcrumbs.

The breadcrumb width is now based on the container width, passed through
setMaxWidth() by the FileList class.

Now using fixed widths for the test crumbs to simulate consistent
widths across browsers which rendering engines might usually yield
different results.
2014-06-27 11:11:34 +02:00
Lukas Reschke
e070e292bf Merge pull request #9170 from owncloud/files-renamevalidationblur
Fix blurring of invalid file name on rename
2014-06-23 22:48:46 +02:00
Vincent Petry
7d4747ea16 Fix blurring of invalid file name on rename
When renaming to an existing file name, blurring the field should not
remove it.

This fix keeps the field until escape is pressed instead of replacing it
with a broken empty space.
2014-06-23 16:35:11 +02:00
Vincent Petry
6850d0c6d7 Merge pull request #8931 from owncloud/filelist-usepathforaction
[master] Use actual file path on rename/delete
2014-06-23 15:53:23 +02:00
Vincent Petry
074d3a8f07 Clear file selection when list is repopulated
When calling FileList.setFiles() the current selection needs to be
cleared.
2014-06-23 12:55:42 +02:00
Vincent Petry
8ae2468345 Fix appending of rows after upload
When uploading files or folders, they only need to be appended or
updated when their path or a section of their path is inside the current
directory (which happens for folder upload)

Fixes issue where file was appended when dragging on a parent directory
onto the breadcrumb.

Fixes appending issue when uploading folders.
2014-06-19 18:21:42 +02:00
Vincent Petry
9ef7410abe Fixed uploading by drag and drop into folder 2014-06-19 16:14:10 +02:00
raghunayyar
09206f8a49 Adds class name to span element inside filename. 2014-06-07 23:54:21 +05:30
Vincent Petry
d3d0035a9a Use actual file path on rename/delete
When renaming or deleting a file that is in a subdirectory, performing
the action from the sharing overview or another file list view, the
actual directory of the file must be used instead of the current
directory.
2014-06-06 15:17:55 +02:00
raghunayyar
1d1f958bea Ellipcises too long filenames 2014-06-06 17:30:18 +05:30
Morris Jobke
5d457dafc1 display "<1 kB" for really small files
* added parameters for humanFileSize to trigger that behaviour
* add unit tests for that
2014-06-02 15:33:09 +02:00
Lukas Reschke
756b158230 Merge pull request #8663 from owncloud/files-dndissue
Fixed drag and drop from external files, added tests
2014-05-30 16:28:20 +02:00
Vincent Petry
1d9129eac3 Sharing overview fixes and unit tests
- Fixed renaming and fileActionsReady event
- Added unit tests for shares list
- Fixed public page with defer
- Fixed file actions in sharing overview
- Fixed sharing counterpart list (10 entries max)
- Fixed file path attribute to be used in download action
- Fix sharing list headers
- OC.Share icons now operate on fileList instance
- Fix OC.Share.updateIcon when more than one list in DOM
2014-05-30 10:06:29 +02:00
Vincent Petry
ef59c69dc8 Distinguish legacy file actions from regular file actions
Legacy file actions are registered by legacy apps through
window.FileActions.register(). These actions can only be used by the
main file list ("all files") because legacy apps can only deal with a
single list / container.

New file actions of compatible apps must be registered through
OCA.Files.fileActions. These will be used for other lists like the
sharing overview.

Fixed versions and sharing actions to use OCA.Files.fileActions, which
makes them available in the sharing overview list.
2014-05-30 10:06:29 +02:00
Vincent Petry
06e53b359a Added "dir" in file actions handler context and fixed versions
Added "dir" in file actions handler context so that handlers can know
what the path of the file was without having to look it up from the file
list.

Fixed versions app to use the context.dir instead of the old $('#dir')
element. This makes the versions popup work in the sharing overview.
2014-05-30 10:06:29 +02:00
Vincent Petry
60bcdc550e Fixed file actions for sharing views
FileActions can now be clone to be use for separate file list views
without having the side-effect of affecting the main file list view.

Added "Open" action in sharing overview file lists to redirect to the
regular file list when clicking on a folder.
2014-05-30 10:06:29 +02:00
Vincent Petry
279ede33af Improved FileActions with context
A context hash is now passed to file action handlers which makes it
possible to have file list specific file actions.
2014-05-30 10:06:29 +02:00
Vincent Petry
6ebc436505 Added sharing overview page (WIP)
- added sharing overview entries in the sidebar
- use OCS Share API to get the list of files
2014-05-30 10:06:29 +02:00
Bjoern Schiessle
36f63ea990 allow resharing of files with only share permissions 2014-05-26 20:32:24 +02:00
Vincent Petry
d6e1643a0e Fix dropping files below the table 2014-05-22 11:16:42 +02:00
Vincent Petry
542b395858 Fixed drag and drop from external files, added tests
- Fixed detection whether the drop zone is inside the currently visible
  table
- Now dragging outside the table does nothing instead of uploading,
  because the user might drop on the sidebar
- Added unit tests for the drop handler
2014-05-21 17:38:09 +02:00
Vincent Petry
5a0281add8 Fixed issues with renaming
- summary is now untouched on rename instead of bogus incrementation
- fixes "Share" status icon by only triggring "fileActionsReady" once
- row is now reinserted even when rename is cancelled, this removes the
  hacky/buggy code that tried to rename the element back
- added unit tests to cover the fixed cases
2014-05-16 17:42:38 +02:00
Vincent Petry
6fd084243b Fixed many issues, clean up
- fixed upload and storage statistics
- fixed infinite scroll to use the correct contain for scroll detection
- fixed unit test that sometimes fail for rename case
- controls are now sticky again
- fixed selection overlay to be aligned with the table
- fixed "select all" checkbox that had id conflicts
- fixed public page
- fixed global actions permissions detection
- fix when URL contains an invalid view id
- viewer mode now hides the sidebar (ex: text editor)
- added unit tests for trashbin
- clean up storage info in template (most is retrieved via ajax call now)
2014-05-15 17:51:04 +02:00
Vincent Petry
9d38e3602b Namespacing for FileList, FileActions and trashbin app
- FileList is now an instantiable class
- FileActions is now in namespace
- added App class for trashbin app
- moved trashbin overrides into classes extending FileList
- replaced many static calls with "this." or "self." to make the classes
  reusable/extendable
- new URL parameter "view" to specify which view is shown, for example
  "files" or "trashbin"
- added OC.Util.History utility class in core for handling history
- moved URL handling/routing to OCA.Files.App
- popstate will correctly update the current view and notify the view of
  the URL change so it can update the current dir
- added JS unitt tests for the trashbin app
- fixed public app to work with the new namespaces
2014-05-15 17:51:04 +02:00
Vincent Petry
9a9665f361 Merge pull request #8041 from owncloud/files-sortcolumns
File list sorting by clicking on column headers
2014-05-12 12:50:27 +02:00
Thomas Müller
38989c3458 Merge pull request #8404 from owncloud/fix-checkboxes
Fixed too generic checkbox and link selectors
2014-04-30 14:51:29 +02:00
Vincent Petry
61db16321f Clear selection on reload (when changing sort) 2014-04-29 18:49:11 +02:00
Vincent Petry
10bc67bef9 Show spinner for all files when deleting all 2014-04-29 17:59:30 +02:00
Vincent Petry
2f58e798ec Fixed too generic checkbox and link selectors
It turns out that the sharing dropdown is embedded into the table row
for some reason.

This fix makes use of a more specific selector for the checkboxes and
file name links to make sure it doesn't spill into any other potential
elements like the sharing dialog.
2014-04-29 16:28:43 +02:00
Thomas Müller
535302b25e typos, indentation and remove of unused code 2014-04-28 17:59:50 +02:00
Vincent Petry
c0e5975ab6 Set default sort of trashbin to timestamp descending 2014-04-28 17:42:04 +02:00
Vincent Petry
688f6162da Add sorting to files list, trashbin and public files 2014-04-28 17:42:04 +02:00
Thomas Müller
bf61d841a2 typos, naming, remove unused code, identation 2014-04-28 16:51:57 +02:00
Vincent Petry
f99f451026 Fixed drag and drop into folder and onto breadcrumb
Fixed drag and drop code to use FileList.getSelectedFiles() instead of
the visible DOM elements.
2014-04-28 14:55:01 +02:00
Vincent Petry
a15b68c10f Fixed selection summary calculation issue 2014-04-28 14:55:01 +02:00
Vincent Petry
c29e8b0bae Cleanup of event handlers
Now using _.bind() for event handlers so we can use "this" which is more
readable than a static access to FileList.
2014-04-28 14:55:01 +02:00
Vincent Petry
3c006a5a4d Cleanup and fix trashbin "clear all files" operation 2014-04-28 14:55:01 +02:00
Vincent Petry
fd982df6ae Fixed selection to be based on FileList.files
The file selection is now based on the internal model array
FileList.files instead of the visible checkboxes.

This makes it possible to virtually select files that haven't been
rendered yet (select all, then deselect a visible one)

Added more unit tests for selection (with shift and ctrl as well)
2014-04-28 14:55:01 +02:00
Vincent Petry
8909b574fa Make sure there are always enough elements visible on the page 2014-04-28 14:55:01 +02:00
Vincent Petry
2883f231d0 Fixed insertion of files
Removed "insert" flag, inserting is by default for FileList.add().
Added "animate" flag to FileList.add().
Added logic to correctly detect when to insert/append elements whenever
the insertion point is visible or not.
Fixed "render next page" logic to work correctly when many pages of
files have been added.
2014-04-28 14:55:01 +02:00
Vincent Petry
f6586f6bdf Fixed file sorting to work with scrolling
The FileList.files model is now updated with file operations.
Adding files to the list will add to the model first, then to the DOM.
If the insertion point isn't visible yet, the file won't be added to the
DOM until the user scrolls down.

Updated unit tests to include checking for the correct insertion point.
2014-04-28 14:55:00 +02:00
Vincent Petry
9c2fbea6a4 Fix file selection for infinite scrolling
- moved file selection code to FileList
- fix selection summary when all files are selected
- nextPage now auto-selects files if "select all" checkbox is checked
- fixed trashbin to use the same selection logic as FileList
2014-04-28 14:55:00 +02:00
Vincent Petry
9f62059efa Fix file summary to use the whole file list
- moved the summary code into a new class FileSummary
- FileSummary is calculated only once, then updated with add/remove
- added new OC.Util namespace for JS utility functions
2014-04-28 14:49:39 +02:00
Vincent Petry
efdf0c4df0 Added infinite scrolling (in-memory list) 2014-04-28 14:34:28 +02:00
Björn Schießle
f520305848 Merge pull request #8026 from owncloud/remove_shared_folder
remove the "Shared" folder
2014-04-24 18:45:45 +02:00
Robin McCorkell
c2f7848aeb Adjust renaming of directories, fixes #8280
Directories will not be considered to have an extension, even if a dot is
found.

Stop Scrutinizer being annoyed

But the spaced version looked good!

Stop jsHint being annoyed

These code quality tools are really pestering
2014-04-23 16:04:01 +02:00
Bjoern Schiessle
7ef8f6d352 always allow to rename the share mount point 2014-04-23 12:54:26 +02:00
Bjoern Schiessle
27c5a978f9 we no longer need to handle the Shared folder different from any other folder 2014-04-23 12:54:25 +02:00
Thomas Müller
2fc9e27ced use FileList.findFileEl 2014-04-09 22:16:41 +02:00
Thomas Müller
d2961dcf11 Merge branch 'master' into lukepolo-master
Conflicts:
	apps/files/js/filelist.js
2014-04-09 22:00:25 +02:00
Thomas Müller
68b7822cf5 js style fixes according to our jshintrc rules 2014-04-07 23:45:35 +02:00
Thomas Müller
d15a4719d2 fix folder upload in js 2014-04-07 23:04:08 +02:00
Thomas Müller
3587c88fe9 Merge branch 'master' of https://github.com/lukepolo/core-1 into lukepolo-master
Conflicts:
	apps/files/js/file-upload.js
2014-04-07 22:28:16 +02:00
Vincent Petry
a4eafca77f Moved code to replace svg with png to OC.Util
- Moved code that replaces the "svg" extension for the given file to
core as OC.Util.replaceSVGIcon.
- Added unit test for OC.Util.replaceSVGIcon
- Moved "replaceSVG" to OC.Util.replaceSVG and deprecated the global
"replaceSVG" function.
- Added alias for SVGSupport() as OC.Util.hasSVGSupport() (for now)
2014-04-04 11:34:26 +02:00
Vincent Petry
0be9de5df5 Files, trashbin, public apps use ajax/JSON for the file list
Files app:

- removed file list template, now rendering list from JSON response
- FileList.addFile/addDir is now FileList.add() and takes a JS map with all required
  arguments instead of having a long number of function arguments
- added unit tests for many FileList operations
- fixed newfile.php, newfolder.php and rename.php to return the file's
  full JSON on success
- removed obsolete/unused undo code
- removed download_url / loading options, now using
  Files.getDownloadUrl() for that
- server side now uses Helper::getFileInfo() to prepare file JSON response
- previews are now client-side only

Breadcrumbs are now JS only:

- Added BreadCrumb class to handle breadcrumb rendering and events
- Added unit test for BreadCrumb class
- Moved all relevant JS functions to the BreadCrumb class

Public page now uses ajax to load the file list:

- Added Helper class in sharing app to make it easier to authenticate
  and retrieve the file's real path
- Added ajax/list.php to retrieve the file list
- Fixed FileActions and FileList to work with the ajax list

Core:

- Fixed file picker dialog to use the same list format as files app
2014-04-02 15:33:47 +02:00
Jan-Christoph Borchardt
f88b24d532 enable SVG->PNG fallback for newly uploaded files and folders 2014-03-27 14:48:35 +01:00
Thomas Müller
32b29c9d73 Merge branch 'master' into fix-7307
Conflicts:
	core/js/router.js
	settings/js/admin.js
2014-03-06 00:15:08 +01:00
Vincent Petry
1785c0c9b9 Merge pull request #7575 from owncloud/issue/7571
Do not set #dir when on public.php
2014-03-05 19:57:25 +01:00
Joas Schilling
1ab10cb4f7 Do not set #dir when on public.php
Fix #7571
2014-03-05 18:46:55 +01:00
Bjoern Schiessle
2e73c957e5 don't allow to create a file or folder named 'Shared' in the root folder, also exclude all combinations of lower and upper case letters 2014-03-05 13:16:25 +01:00
Thomas Müller
9f087a2070 fixing download url in files app 2014-03-02 23:41:14 +01:00