Commit Graph

131 Commits

Author SHA1 Message Date
Vincent Petry e2549fa660 Improve right sidebar tabs behavior
Tab heads are not rendered if only one tab.

The tab contents is updated on-demand. This means that if a tab is not
visible it is not rendered at first. If the tab was already rendered
through switching, its model will not get updated until the next time it
becomes visible. This will prevent needless rerendering of invisible tab
contents, especially considering that some tabs might need extra ajax
requests.
2015-08-14 16:51:04 +02:00
Vincent Petry 9acbb3e902 Remove share action display name 2015-08-10 14:13:43 +02:00
Vincent Petry ca34921cdf Implement file actions dropdown
File actions now have two types "inline" and "dropdown". The default is
"dropdown".
The file actions will now be shown in a dropdown menu.
2015-08-10 14:12:34 +02:00
Vincent Petry ff614a7dbd More fixes to the right sidebar
Sidebar now works in all file list views.
Moved owner to share tab.
2015-08-07 01:22:43 +02:00
Vincent Petry 12e5f310dd Improved right sidebar
Added owner info.
Added animation, but causes scrollbal.
Default file action now when clicking on name directly.
Fixed icon.
Added empty share tab.
2015-08-07 01:22:42 +02:00
Morris Jobke 9da10788bc Merge pull request #17349 from owncloud/share-onlyshowstaticownerifavailable
Do not show static share owner if not available
2015-07-03 09:31:40 +02:00
Vincent Petry 71ae96bb56 Do not show static share owner if not available
In some corner cases, an outgoing share exists but sharing is not
allowed for the current user. This would cause the file list to break
because the static text could not be rendered as the owner was
undefined.
2015-07-02 16:38:20 +02:00
Vincent Petry e65034e4bc Do not register JS share plugin if core sharing API is disabled 2015-07-02 14:56:33 +02:00
Vincent Petry 86689ef400 Disable JS plugin for sharing in public mode
This removes the logic that registers the share action and modifies the
rows. Share actions aren't needed in the public file list.
2015-01-26 19:55:48 +01:00
Volkan Gezer 691fab8be3 make Share button localized again
it seems we have forgotten to use named FileAction
2015-01-11 15:57:45 +01:00
Vincent Petry c02ef69521 Simple Plugin system for Javascript 2014-12-01 16:20:44 +01:00
Vincent Petry 5ca869c324 Merge pull request #9177 from owncloud/jsdocexperiment
Improved JS Docs + added build script for JS Docs
2014-11-13 11:16:08 +01:00
Robin Appelman 307071cfec Keep the share permissions from mountpoints 2014-10-31 14:43:32 +01:00
Robin Appelman 2705588073 Dont' use mountpoint permissions as share permissions for external storages 2014-10-31 14:43:32 +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
Thomas Müller 7159d6118e reduce share action text to the user name only 2014-07-14 21:11:50 +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
Joas Schilling 5e4ac548bb Use attr() instead of data() so the item ids work as intended
Fix #8841
2014-06-30 14:21:27 +02:00
Lukas Reschke 1066f4ec9a Sanitize name of sharee
Fixes a XSS introduced with 271684dcfe
2014-06-14 20:45:10 +02:00
Bjoern Schiessle bf5e9357fc don't allow to share single files with delete permissions, user should only be possible to unshare a single file but never to delete it 2014-06-06 09:55:59 +02:00
Vincent Petry af6a65cbf3 Do not update action icon recipients for file list
Since the files app doesn't have the recipient information on load it
cannot initially render the recipients in the action icons.

For this reason the action icon will not be updated with the recipients
after changing the shares, for consistency.
2014-06-04 10:48:01 +02:00
Vincent Petry 07f1b263c9 Use recipient display names when updating shares in the UI
Since OC.Share didn't have any array containing the list of shares for
the current file, OC.Share.currentShares has been introduced to contain
the full share item structure instead of the reduced one
OC.Share.itemShares.

The event "sharesChanged" is now passing OC.Share.currentShares, which
itself includes the display name to be displayed for the recipients in
the action icon.
2014-06-04 10:37:04 +02:00
Vincent Petry 1297b2b883 Multiple fixes to sharing overview
- scrolling to next page now correctly renders share icons
- reshareing/unsharing a reshare will now still keep "Shared by" label
2014-06-03 11:04:57 +02:00
Vincent Petry 0944565f60 More unit tests and fixes for share 2014-06-02 18:08:56 +02:00
Vincent Petry d677e3860d Added unit tests for share.js and share icon 2014-06-02 15:59:06 +02:00
Vincent Petry 7961d4a87e Update share action text to display owner/recipients
- when a share was changed, update the share action text
- added file data attribute "data-share-recipients"
2014-06-02 12:12:57 +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 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
Bjoern Schiessle 36f63ea990 allow resharing of files with only share permissions 2014-05-26 20:32:24 +02:00
Bjoern Schiessle ff4bb3a9e6 fix share label creation 2014-05-23 16:21:15 +02:00
Bjoern Schiessle 3b279c9056 prevent default action when clicking on the share notification 2014-05-23 11:17:13 +02:00
Bjoern Schiessle 1166d62d9b fileList needs be be declared before the if-statement 2014-05-22 14:31:16 +02:00
Bjoern Schiessle 12338e0ef0 allow admin to disable sharing for specific groups of users 2014-05-22 10:43:44 +02:00
Vincent Petry 7d98bcf9a2 Fixed JS issues in public page
- fixed subdir detection when uploading into subdir
- add class detection before overriding to avoid JS errors
2014-05-20 13:37:58 +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
Jörn Friedrich Dreyer 9b0f289143 remove obsolete code 2014-04-09 12:09:28 +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
Morris Jobke 65843e2459 Improve jQuery element selector
see https://github.com/owncloud/core/pull/7012/files#r9337198
http://24ways.org/2011/your-jquery-now-with-less-suck/
2014-02-20 18:24:43 +01:00
Thomas Müller d0c8b310b9 uppercase text and fix dialog popup 2014-02-20 18:24:42 +01:00
Thomas Müller 2b84f5e0b9 remove duplicate selectors and declaration 2014-02-20 18:24:42 +01:00
Thomas Müller 271684dcfe update share owner 2014-02-20 18:24:42 +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
zombiehugs 519f63ee97 Revert "[fix] Center Share Dropdown & Versions Dropdown"
This reverts commit 1dbbfcf3dc.
2013-12-03 08:23:13 -06:00
zombiehugs 1dbbfcf3dc [fix] Center Share Dropdown & Versions Dropdown
Center Share Dropdown & Versions Dropdown
2013-12-03 08:14:06 -06:00
Thomas Müller 1317b7c03d pass the name of the item source from the browser to the server - no need to get the data via complicated db queries 2013-10-23 18:39:37 +02:00
Vincent Petry 467f864db4 Fixed sharing status update for new/uploaded files
Creating new files, folders or uploading files now have their sharing
icon updated accordingly.

For this, the global share status list that is cached in
OC.Share.statuses is reused for new files.

Performance should improve as the sharing list is now only loaded once
per navigation session.

In OC.Share, split loadIcons into loadIcons + updateIcons.

Fixes #4977
2013-10-17 12:55:10 +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 9e8a6b704d Add _many_ newlines at the end of files 2013-08-18 11:06:59 +02:00