Commit Graph

131 Commits

Author SHA1 Message Date
Robin Appelman 3bf0922b13 Merge pull request #12527 from owncloud/js-pluginsystem
Simple Plugin system for Javascript
2014-12-12 11:43:31 +01:00
Robin Appelman baf5c44bec Merge pull request #12696 from owncloud/trashbin-selected-delete
Fix deleting selected files in the trashbin
2014-12-08 16:30:53 +01:00
Robin Appelman b2d4e53f66 Fix deleting selected files in the trashbin 2014-12-08 15:16:15 +01:00
Vincent Petry c02ef69521 Simple Plugin system for Javascript 2014-12-01 16:20:44 +01:00
Vincent Petry e689bc745f Improve FileActions JS to allow for custom rendering
This improves the OCA.Files.FileActions class to support passing a
"render" function in the action object.

The default function "_defaultRenderFunction" is used by default and
renders actions in the usual actions container.

Moved "Rename" and "Delete" to custom render functions.
2014-11-24 16:26:50 +01:00
Vincent Petry 0f3e6cb50a Improved Javascript docs for JSDoc
Added namespaces so that JSDoc can find them.
Fixed a few warnings.
Improved some comments.
2014-10-31 13:43:30 +01:00
Jan-Christoph Borchardt 2ac953e6a8 correct progress-icon to icon-loading-small 2014-09-22 18:24:32 +02:00
Jan-Christoph Borchardt 91d9d45c6c correct delete-icon to icon-delete, fix #11128 2014-09-22 18:17:33 +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 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 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 c0e5975ab6 Set default sort of trashbin to timestamp descending 2014-04-28 17:42:04 +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 a952d80ad9 Fix trashbin previews and "delete selected" 2014-04-28 14:55:01 +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
Volkan Gezer f434c3a213 Fix localization issues of files_trashbin 2014-04-17 21:10:21 +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
Vincent Petry f3d6b2f3e9 Do not retrieve storage stats for trash bin 2014-03-28 11:21:33 +01:00
Vincent Petry 44441b56d6 Fixed trashbin title 2014-02-20 15:16:45 +01:00
Vincent Petry 94b3296a71 Trashbin select all now doesn't send file list
- Fixed "delete" and "restore" actions to not send the file list when
  all files are selected
- When some files are selected, sends the current dir
- Removed "dirListing" attribute as the backend is able to compute the
  value based on the current dir
2014-02-17 18:34:59 +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
Bjoern Schiessle 79719d9ae5 toggle select all checkbox 2013-12-12 17:33:04 +01:00
Bjoern Schiessle ee66db447f make it possible to select folders 2013-12-02 16:30:03 +01:00
Bjoern Schiessle 8ce3ea3e2c fix delete files from trash bin 2013-12-02 11:50:55 +01:00
Bjoern Schiessle 71589e65d2 fix restore from files in sub-folders 2013-11-29 16:43:50 +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 e41ea20ce4 Fixed clicking on the "Home" breadcrumb in the trash app
Clicking on the "home" breadcrumb now correctly brings the user back to
the files app.
2013-10-28 20:24:06 +01:00
Bjoern Schiessle 7ab4fef7a9 update file summary after group delete/restore 2013-10-09 16:17:43 +02:00
Bjoern Schiessle 46bce8e540 fix checkbox 2013-10-09 13:15:53 +02:00
Bjoern Schiessle 51cfdb32b1 fix indention 2013-10-09 12:43:56 +02:00
Bjoern Schiessle 31a91ef892 fix group delete/restore 2013-10-09 12:35:15 +02:00
Bjoern Schiessle 9e3d28871e fix delete/restore individual files 2013-10-09 12:01:25 +02:00
Vincent Petry 30a2f2f352 Use hash part of URL for IE8 in files app
Before this fix, the URL wasn't updated in IE8 when navigating into
folders.

This fix makes use of the hash part of URLs to make this work in IE8,
since IE8 doesn't support the history API nor changing the URL without
redirecting.

From now, both the regular query URL "?dir=somedir" and "#?dir=somedir"
will work in both IE8 and non-IE8 browsers.

In IE8, query based URLs are automatically converted to hash URLs upon
page load. The conversion is done on the server side by redirecting the
user to the updated URL.

When loading a page directly using a hash URL in the form
"#?dir=somedir" in IE8, the server doesn't get the hash, so it will not
return any results in that case and rely on ajax to load the first page.
2013-09-13 20:48:35 +02:00
Vincent Petry 1304b511e9 Ajax calls for "files" and "files_trashbin" apps
Frontend:
- The files app list now uses ajax calls to refresh the list.
- Added support the browser back button (history API).
- Added mask + spinner while loading file list

Backend:
- Added utility function in core JS for parsing query strings.
- Moved file list + breadcrumb template data code to helper
  functions
- Fixed some file paths in trashbin app to be similar to the files app
2013-09-13 19:59:14 +02:00
kondou 6bd0f3cba7 Reimplement filesummary in JS
Fix #993
2013-08-28 15:10:17 +02:00
kondou 9e8a6b704d Add _many_ newlines at the end of files 2013-08-18 11:06:59 +02:00
kondou 9549bd3e68 Use plural translations 2013-08-09 20:37:18 +02:00
Jörn Friedrich Dreyer 895d9ba1b9 Merge pull request #3006 from owncloud/===_and_!==_in_files_trashbin-app
Use !== and === in files_trashbin app
2013-08-02 03:14:24 -07:00
Björn Schießle efd8ad6696 found some more places where we can disable buttons while performing a action 2013-07-26 14:54:27 +02:00
Björn Schießle 9d24b9c7e8 Hide Delete Permanently button when Restore happens 2013-07-26 13:17:09 +02:00
kondou 2f11f56d32 Use !== and === in files_trashbin-app 2013-07-10 02:34:00 +02:00
Jan-Christoph Borchardt 2a57763542 use history icon in Deleted Files template as well 2013-06-17 13:30:57 +02:00
Jan-Christoph Borchardt d9dcba9a39 remove unused loading spinners, just have one 2013-06-17 12:35:25 +02:00
Jan-Christoph Borchardt 257ebc2830 use consistent icon for 'restore'/versions/history, also SVG 2013-06-17 12:18:45 +02:00
Georg Ehrke 841b420bc4 add event.preventDefault to undelete function 2013-05-27 16:37:43 +02:00
Georg Ehrke d408cd7f37 fix https://github.com/owncloud/core/issues/3320 2013-05-27 15:24:37 +02:00
kondou de2e546617 Translate 'Error' in core 2013-04-06 16:52:55 +02:00
root 74b02db337 Fixed things in alert-messages
Two parameters for OC.dialogs.alert, otherwise one will be "undefined".

Also fixed missing translation.
2013-04-05 01:56:32 +02:00
Robin Appelman 12fd47af39 Trash: fix opening folders 2013-02-28 13:32:08 +01:00
Robin Appelman 923c51773a Trash: disable text editor from trash for now 2013-02-27 20:37:50 +01:00
Robin Appelman 429bf42e98 Merge master into trash_fileactions 2013-02-27 20:29:19 +01:00
Bart Visscher bb75dfc021 Whitespace fixes 2013-02-22 19:05:36 +01:00
Thomas Mueller 3eb9cd035f Merge branch 'master' into trash_bin_delete_selected 2013-02-20 23:46:15 +01:00
Björn Schießle c1847aaf51 change for loop to make it hopefully work with IE 2013-02-20 22:32:44 +01:00
Bernhard Posselt 3b9d9eea09 replaced for in loops with normal enumerating loops to fix #1803 2013-02-20 21:57:50 +01:00
Björn Schießle 273e1a146b switch to json encoded file list 2013-02-20 16:33:45 +01:00
Björn Schießle 3a364639b7 use "|" as delimiter instead of ";", since "|" is not allowed in file/folder names 2013-02-20 15:17:32 +01:00
Björn Schießle 211e651d72 add timestamp to function call; fix trash.js to handle multiple delete operation at once 2013-02-19 12:38:00 +01:00
Björn Schießle ac1b2a74ef add missing paramenter to post request 2013-02-19 11:50:29 +01:00
Björn Schießle 51cef9d8f0 allow user to delete selected files from the trash bin permanently 2013-02-19 10:24:21 +01:00
Robin Appelman f93f9dd50c merge master into trash_fileactions 2013-02-08 00:11:54 +01:00
Björn Schießle e2516a2b65 allow to delete single files from the trash bin permanently 2013-02-06 16:23:22 +01:00
Thomas Mueller fb0a5f3224 undelete -> restore 2013-02-01 00:43:52 +01:00
Robin Appelman 9d74ce4595 Trash: fix opening folders 2013-01-31 19:20:22 +01:00
Robin Appelman 3756f235ce Trash: enable fileactions while viewing trash 2013-01-31 18:14:22 +01:00
Björn Schießle 2ddd40ed41 rename 'undelete' to 'restore' 2013-01-31 10:06:02 +01:00
Björn Schießle 9ca0a93847 make spinner title translatable 2013-01-30 16:20:13 +01:00
Björn Schießle c62a38fcb1 add spinner for undelete operation for visualisation 2013-01-30 15:35:24 +01:00
Björn Schießle a6e5f4b85c some minor improvements 2013-01-30 13:01:53 +01:00
Björn Schießle d10e137939 icons added; empty trash bin message added 2013-01-29 10:03:04 +01:00
Björn Schießle 6ab95e8e33 code clean-up 2013-01-23 11:30:42 +01:00
Björn Schießle f919230f63 remove inline JavaScript 2013-01-22 17:59:33 +01:00
Björn Schießle 97e69e5374 remove table row in trash bin view after undelete 2013-01-22 15:33:54 +01:00
Björn Schießle 81ab0affef allow to restore single files/folder from a deleted folder 2013-01-22 15:33:54 +01:00
Björn Schießle 1255791ef2 handle group restore 2013-01-22 15:33:54 +01:00
Björn Schießle 8e57fe1a08 remove unneeded function 2013-01-22 15:33:54 +01:00
Björn Schießle a3da82261b remove item in the trash bin view after successful undelete 2013-01-22 15:33:53 +01:00
Björn Schießle d605228937 first version of the trash bin app 2013-01-22 15:33:53 +01:00