Commit Graph

294 Commits

Author SHA1 Message Date
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
Thomas Müller 1291303c5a Replace OC.Router.generate() with OC.generateUrl() 2014-03-02 22:30:24 +01:00
Morris Jobke 5fb1374b0f Merge pull request #7285 from owncloud/mimeicons-svg
Show svg mime icons when no preview is available
2014-02-24 14:12:10 +01:00
Jan-Christoph Borchardt b22d82f941 code style: else on same line 2014-02-21 09:42:19 +01:00
Luke Policinski 089052b13a Fixed issue with drag and drop not in the root directory, for folders and files 2014-02-20 20:18:27 +00:00
Robin Appelman 0624476aa1 Merge branch 'master' into mimeicons-svg 2014-02-20 16:55:18 +01:00
Morris Jobke 658758c3f7 fix intendation 2014-02-20 15:36:52 +01:00
Vincent Petry 44441b56d6 Fixed trashbin title 2014-02-20 15:16:45 +01:00
Vincent Petry 476444ab1a Fixed title format 2014-02-20 14:56:28 +01:00
Vincent Petry 6cf83de60e Merge branch 'patch-1' of github.com:GuillaumeAmat/core into GuillaumeAmat-patch-1 2014-02-20 14:49:54 +01:00
Guillaume AMAT 577559458d Uses OC.basename instead of custom code 2014-02-19 22:50:49 +01:00
Luke Policinski b01492fecd Feature Added : Ability to drag and drop in Chrome 2014-02-19 21:28:32 +00:00
Luke Policinski 79a6d89bcc Feature Added : Ability to drag and drop in Chrome 2014-02-19 21:23:39 +00:00
Robin Appelman 609a91a9b1 Show svg mime icons when no preview is available 2014-02-19 14:47:29 +01:00
Vincent Petry d5397d813c Do not send file list for select all on Download/delete
- When all files are selected, do not send the whole file list
- Download will trigger download for the parent folder, also works
  with root
- Delete will send "allfiles" to the server that will find the file
  list or the passed directory by itself
2014-02-13 20:28:52 +01:00
Guillaume AMAT 01dc7c5482 Gets the page title from oc_defaults in Files app 2014-02-13 10:48:01 +01:00
Guillaume AMAT a62b393d02 Update page title when navigating through directories 2014-02-12 00:54:35 +01:00
Vincent Petry 6b5a7035ee Merge pull request #7126 from nickvergessen/issue/6683
Only add files to file list when uploading to current directory
2014-02-10 12:14:05 +01:00
Morris Jobke 13fa0e2a9d Fix implied evals and doubled definition of variable
fixes #7119
fixes #7120
fixes #7121
fixes #7122
2014-02-07 17:47:42 +01:00
Joas Schilling af7366cd30 Only add files to file list when uploading to current directory
Fix Issue #6683
2014-02-07 13:06:50 +01:00
Jan-Christoph Borchardt b0692af29a Merge pull request #7064 from owncloud/files-scrolltopafterupdate
Scroll to the top after switching dir
2014-02-05 16:13:55 +01:00
Thomas Müller 6d3b61f388 Merge pull request #7011 from owncloud/jshint
Added .jshintrc
2014-02-04 12:11:32 -08:00
Vincent Petry fe2a63ffd4 Scroll to the top after switching dir
Fixes #7061
2014-02-04 18:59:43 +01:00
Vincent Petry d36a2ff9ee Added .jshintrc
- Also fixes a few JSHint warnings in files app
- Added "global" comment on top of files app to suppress warning and
  also inform devs about what globals are use
2014-01-30 13:40:01 +01:00
raghunayyar 85e67be0aa Rename action now appears as pencil icon 2014-01-30 10:07:08 +01:00
Vincent Petry c6695bbd76 Fixed download URL in public page
- Refactored download URL building to make it overridable
- Added download URL override in public page
- Added JS unit tests for download URL
- Added OC.redirect() method to facilitate unit testing
2014-01-24 13:38:39 +01:00
Morris Jobke f88360eba3 Merge pull request #6827 from rnveach/fix_6730
Fix 6730
2014-01-20 01:44:34 -08:00
rnveach a41440436c added trigger to redo selection text on a directory change 2014-01-17 11:49:00 -05:00
Vincent Petry 8135828b2e Fix to not destroy draggable when no draggable was set
When a dir has no delete permission, the draggable isn't initialized on
files. This fix makes sure we don't try to destroy a draggable when it
wasn't inited in the first place.

Fixes #6254
2014-01-14 19:17:23 +01:00
Vincent Petry 1042733634 Fixed various file name escaping issues in core apps
- Refactored file tr lookup into FileList.findFileEl that uses
  filterAttr to avoid escaping issues in jQuery selectors
- Fixed versions and sharing app to properly escape file names in
  attributes
2014-01-10 15:02:26 +01:00
ganomi f723bf744a Merge pull request #6090 from ganomi/summaryfix
Fix filellist/rename/summary problem
2013-11-28 08:00:41 -08:00
Vincent Petry 68f610a90e Update file list entry on rename
Whenever a file is renamed, if the extension changes, the mime type and
preview might change. This fix passes the updated info to the client
that updates it.
2013-11-27 21:35:00 +01:00
ganomi f94180a996 Fix filellist/rename/summary problem
Fixes #6055
This contribution is MIT licensed!
2013-11-27 19:09:49 +01:00
Björn Schießle 31d0ba0344 Merge pull request #5641 from owncloud/filestrash-emptytrash
Deleting all files in trash now only sends a single flag
2013-11-25 05:24:11 -08:00
Vincent Petry a7962faa56 Fixed delete action to show error message as notification 2013-11-19 15:05:11 +01:00
Jörn Friedrich Dreyer 5da2929180 fix filtering number like filenames in filelist
forward port of 847ad6c40b
2013-11-18 17:18:31 +01:00
Vincent Petry 5bdfccfc47 Fixed total dirs/files message hiding condition
Fixes #5829
2013-11-13 10:53:16 +01:00
Vincent Petry 80c8666d3a Deleting all files in trash now only sends a single flag
To prevent having to send the list of all files for deletion, only set a
flag "allfiles". This should make it a bit smoother when deleting 5000+
files.

Also fixes some "empty trash" message issues.
2013-11-11 17:58:33 +01:00
Vincent Petry 4998faf343 Added JS event for when the user changes the directory
This enables apps to detect directory changes which might be caused by
the user using the browser back button.
2013-11-08 13:16:28 +01:00
Vincent Petry bdc75e497b Fixed totalDirs JS error 2013-11-07 10:11:18 +01:00
Morris Jobke a0ee6aef29 Merge pull request #5399 from frisco82/fixDownloadOverQuota
Do not count the size of shared folder on total
2013-11-06 13:59:27 -08:00
Ramiro Aparicio b49530f80b Do not count the size of shared folder on total
Changed all array access to dot notation

Split comment in a second line
2013-11-06 13:47:03 +01:00
Vincent Petry 31181e4348 Fixed storage stats to be based on current directory
Previously, the storage statistics were always for the root dir.
This means that the upload button would always show the limit for the
root dir, even when uploading to a shared dir or external storage.

This fix adds a "dir" argument to getstoragestats.php.
2013-11-06 10:55:19 +01:00
Vincent Petry 5d9ab6e7ac Update quota value in client after scan and upload
After uploading, the quota value wasn't refreshed.
This fix refreshes the quota value after files have been scanned or
uploaded.
2013-11-06 10:15:05 +01:00
Thomas Müller 3488202f67 Merge pull request #5582 from owncloud/files-previewcaching
Append file etag to preview URLs
2013-11-05 01:21:51 -08:00
Vincent Petry 1be1c57bc8 Corretly hide "no permissions" message in controls in viewer mode
Fixes #5622
2013-10-31 12:34:15 +01:00
Vincent Petry aeac3186ee Fixed summary visibility check
Now using the integer values to check whether to show the summary parts
instead of trying to parse the html code.
2013-10-30 16:14:08 +01:00
Vincent Petry e62ca4ea4f Append file etag to preview URLs
Fixes #5534
2013-10-28 14:14:55 +01:00
Jörn Friedrich Dreyer 3121dc8cb5 Merge branch 'master' into prevent_user_from_creating_or_renaming_to_an_existing_filename
Conflicts:
	apps/files/js/filelist.js
2013-10-23 12:02:06 +02:00
Jörn Friedrich Dreyer 8ed73e5ced use a more descriptive error message when the user tries to create '/Shared' 2013-10-23 11:08:30 +02:00
Christopher Schäpers 70c0d7d6bc Merge pull request #5310 from owncloud/hide_filestable-header_when_empty
Hide files list header, when theres no files to see
2013-10-22 14:39:14 -07:00
Thomas Müller 9019ad550f Merge branch 'master' into prevent_user_from_creating_or_renaming_to_an_existing_filename
Conflicts:
	apps/files/js/filelist.js
2013-10-22 23:06:53 +02:00
Jörn Friedrich Dreyer 45e6d96702 prevent user from creating or renaming sth. to an existing filename
- show tooltip when violating naming constraints while typing
- when target filename exists on server fallback to dialog to interrupt the users flow because something unexpected went wrong
- fixes #5062
- also fixes some whitespace and codestyle issues in files js
- uses css selector over filterAttr in touched js files
2013-10-22 18:11:03 +02:00
Vincent Petry 263f8bebfe Added FileList.setViewerMode to hide controls
Some files app embed themselves under the controls (like the text
editor). The new method FileList.setViewerMode() makes it possible to
properly show/hide the control buttons using the correct permissions.

Apps using this approach must call setViewerMode(true) when starting and
setViewerMode(false) upon closing to restore the controls.

This is needed for #5284
2013-10-22 16:44:57 +02:00
kondou 732e7db319 Fix mind-boggling emptycontent logic 2013-10-21 19:49:27 +02:00