Commit Graph

483 Commits

Author SHA1 Message Date
Thomas Pulzer b2b7fa4854 Fixed user and main menu closing on right mouse button click.
Fixed wrong variable assignment when trying to open link in new window.
2016-08-11 07:22:13 +02:00
Thomas Pulzer c5033670d5
Changed app and user menu delegates to mousedown events.
Added proper handling of primary mouse button click with and without ctrl-/meta-key modifier.
Added handlig of middle mouse button click.
2016-08-09 11:58:32 +02:00
Thomas Pulzer 8c9961aa22
Added OS X meta key check for stopping spinning animation in app and user menu. 2016-08-09 11:58:32 +02:00
Thomas Pulzer 1ab9477ac1
Fixed user menu to not show spinner on ctrl+click.
Fixes #616
2016-08-09 11:58:32 +02:00
Julius Haertl 6b807af619
Fix closing app menu on mobile 2016-07-31 11:57:03 +02:00
Joas Schilling 45c99c226b
Fix the HTML encoding when uploading a folder in FF when using french l10n 2016-07-20 13:03:27 +02:00
Hendrik Leppelsack c47833718f remove svg classes 2016-07-01 16:36:37 +02:00
Hendrik Leppelsack bc5c89e9c0 remove javascript png fallback for svg 2016-07-01 16:36:37 +02:00
Hendrik Leppelsack e5d8726859 remove ie8+9 support 2016-06-23 12:34:53 +02:00
Lukas Reschke e8e72aa910 Merge pull request #24434 from owncloud/permalinks
Permalinks
2016-05-10 09:44:50 +02:00
skjnldsv ea3cc2661d New animated loader 2016-05-09 07:54:43 +02:00
Vincent Petry 254576e1f7
Do not encode slashes in "dir" URL param in files JS 2016-05-06 17:00:22 +02:00
Vincent Petry fdeafef6a0
Auto-add fileid in URL for currently displayed folder 2016-05-06 16:46:59 +02:00
Lukas Reschke 2c4ef37025 Merge pull request #24126 from owncloud/err-reload-delay
Delay reloading the page if an ajax error occurs, show notification
2016-04-22 11:23:39 +02:00
Morris Jobke 6b66f2dfb4 Merge pull request #23990 from owncloud/heartbeat-debounce
Debounce heartbeat ajax calls to lower the number of requests
2016-04-20 21:23:10 +02:00
Robin McCorkell bd9a380d53 Delay reloading the page if an ajax error occurs, show notification 2016-04-20 16:31:04 +01:00
Christoph Wurst 05d203a989
replace $.parseJSON() by JSON.parse() 2016-04-19 15:06:42 +02:00
Christoph Wurst 59e268763c
remove deprecated jQuery.browser 2016-04-19 11:55:40 +02:00
Christoph Wurst 2d772eaaa8
Debounce heartbeat ajax calls to lower the number of requests
fixes #22397
2016-04-18 14:19:26 +02:00
Christoph Wurst 97d553b57a close navigation menu when opening app in new tab (#23914) 2016-04-14 11:53:20 +02:00
Christoph Wurst a2572ffec7 add loading feedback to user menu entries (#23916)
fixes #19857
2016-04-14 11:53:09 +02:00
Stefan Weil 62a5952a72 core: Fix typos (found by codespell)
Signed-off-by: Stefan Weil <sw@weilnetz.de>
2016-04-04 10:57:17 +02:00
Vincent Petry 06e7856400 Adjust core unit tests for unload/reload cases 2016-03-23 10:53:40 +01:00
Vincent Petry d00f95578b Stronger fix for navigate away detection 2016-03-22 18:29:19 +01:00
Vincent Petry 6ed8acb15d Firefox returns 303 on cross-domain redirect
Added 303 to catch SSO cross-domain redirect in Firefox.
2016-03-22 16:55:43 +01:00
Vincent Petry ad1167a44d Detect user navigating away, don't interpret as ajax error
Whenever a user navigates away, all ajax calls will fail with the same
result like a cross-domain redirect (SSO). To distinguish these cases,
we need to detect whether the error is a result of the user navigating
away. For this, we introduce a new flag that will be set in
"beforeunload".

Additional handling was required for false positives in case "beforeunload" is
used (ex: cancelled upload) and the user cancelled the navigation.
2016-03-22 16:54:01 +01:00
Vincent Petry 8ea80e114a Accumulate notifications instead of blinking
This makes it possible to display multiple notifications.
If the options.type is set to "error", it will also add a close button.
2016-02-22 17:25:32 +01:00
Vincent Petry b8b77709c0 Add handler for global ajax errors 2016-02-15 12:48:47 +01:00
Thomas Müller 294dcb4eff Adding global error handler for ajax calls which run into redirections or unauthorized responses 2016-02-15 12:47:18 +01:00
Roeland Jago Douma aef43816c2 host and hostname are different things
host can contain the port (host of http://example.com:1234 is
example.com:1234) while hostname never contains a port. They can however
be similar. If you navigate to http://example.com then both host and
hostname will be example.com.

* Fixed docs
* added getHostName function
2016-02-03 11:28:07 +01:00
Vincent Petry 3b581b051f Expose display name in JS side
Adds a new method `OC.getCurrentUser` to get both the user id and
display name Could be used for a future Js
2016-02-02 18:01:15 +01:00
matthias-g 41c87531ff Update explanation of how to enable debug mode 2016-01-30 18:26:10 +01:00
Vincent Petry d4198607ec Expose whether user is an admin through a method
Which is nicer than an obscure global variable
2016-01-25 10:07:47 +01:00
Morris Jobke 6e096936e5 update JS humanFileSize to use KB instead of kB 2016-01-19 10:51:57 +01:00
Thomas Müller 9c550a07ed OC.FilePath has still a valid use case when generating paths to static files what for generateUrl cannot be used for - closes #15604 2015-12-07 12:23:42 +01:00
Lukas Reschke 2515cb17be Support pretty URLs
This changeset allows ownCloud to run with pretty URLs, they will be used if mod_rewrite and mod_env are available. This means basically that the `index.php` in the URL is not shown to the user anymore.

Also the not deprecated functions to generate URLs have been modified to support this behaviour, old functions such as `filePath` will still behave as before for compatibility reasons.

Examples:
http://localhost/owncloud/index.php/s/AIDyKbxiRZWAAjP => http://localhost/owncloud/s/AIDyKbxiRZWAAjP
http://localhost/owncloud/index.php/apps/files/ => http://localhost/owncloud/apps/files/

Due to the way our CSS and JS is structured the .htaccess uses some hacks for the final result but could be worse... And I was just annoyed by all that users crying for the removal of `index.php` ;-)
2015-12-01 16:46:07 +01:00
Vincent Petry f120846e29 Added OC.Files.Client Webdav-based files client 2015-11-22 16:05:49 +01:00
Joas Schilling 78c456b895 Allow creating OCS v2 links in JS 2015-11-16 14:23:43 +01:00
Vincent Petry a2cd9708f6 Set "ie" CSS class for IE10, IE11
Fixed border in file action menu
2015-11-10 17:04:52 +01:00
Joas Schilling f04151f69b Close the user menu when clicking it again 2015-11-02 10:09:13 +01:00
Hendrik Leppelsack 5a01dc44d6 append tipsys to body 2015-10-27 11:22:41 +01:00
Thomas Müller 56fdb0ac93 Merge pull request #19935 from owncloud/issue-19916-settings-menu-hide-on-file-action
Use the normal OC.menu JS for handling the Settings menu
2015-10-22 10:42:02 +02:00
Joas Schilling a0437591db Use the normal OC.menu JS for handling the Settings menu 2015-10-21 13:59:30 +02:00
Vincent Petry 89e3860e1a Disable app icon preview in apps page for IE
All IE versions are not able to properly upscale SVG icons unless the
said SVG files contain a "viewBox" attribute, which is not always the
case. Also we cannot guarantee that all third party apps will have this
attribute in their icons.

So for now, app icons will not be displayed in IE instead of broken
ones.
2015-10-21 10:50:06 +02:00
Vincent Petry c7aef6c368 Fix uploading avatar and root certs in IE8 2015-10-09 11:19:05 +02:00
Thomas Müller 681ab05e4d Merge pull request #19539 from owncloud/fix-multiselect-overlap-shorter
Fix filelist size issues, breadcrumb, multiselect
2015-10-05 09:48:31 +02:00
Vincent Petry f135128664 Fix filelist size issues, breadcrumb, multiselect
- calculate multiselect header width to exclude scrollbar
- call FileList._onResize() when sidebar is toggled ("appresized"), this
  also updates the breadcrumb width
- moved global getScrollBarWidth() to OC.Util namespace
2015-10-02 18:03:48 +02:00
Morris Jobke 4b3a5a257f Fix moment.js "a few seconds ago" with "seconds ago"
* fixes #18627
2015-10-02 10:51:51 +02:00
Vincent Petry dbb6692468 [IE8] Fix filetype icon sizes
Added hack that uses a "filter" CSS with explicit URL to fix the "New"
menu by scaling down icons and also fix the folder/filetype icon in the sidebar
by scaling it up.
2015-09-29 18:28:31 +02:00
Vincent Petry 71dabc6c13 Consider both hash params and query when parsing URL 2015-09-28 18:37:40 +02:00
Hendrik Leppelsack 3f0a870908 implement builder pattern in tipsy shim 2015-09-23 09:27:44 +02:00
Lukas Reschke f2d63d3518 Disable automatic evaluation of responses
If a response to a $.ajax() request returns a content type of "application/javascript"
JQuery would previously execute the response body. This is a pretty unexpected
behaviour and can result in a bypass of our Content-Security-Policy as well as
multiple unexpected XSS vectors.
2015-09-15 11:42:13 +02:00
Vincent Petry 7303b68577 Fix controls bar calculation
Controls bar calculation needs to take the sidebar visibility into
account.

Recalculation is now triggered when sidebar is toggled, using a new
app-content event "appresized".
2015-08-28 12:23:57 +02:00
Jan-Christoph Borchardt 4e53b5922d Merge pull request #18178 from owncloud/files-sidebar-actions
Sidebar file actions
2015-08-13 17:17:10 +02:00
Jan-Christoph Borchardt 970440f604 Merge pull request #18122 from owncloud/replace-tipsy
Replace tipsy with tooltip
2015-08-13 09:12:53 +02:00
Morris Jobke 6f909b19cc Merge pull request #17785 from owncloud/snapjs-sensitivity
fix mobile scrolling, lower sidebar sensitivity, fix #11193
2015-08-12 23:20:08 +02:00
Hendrik Leppelsack e5444a1a5d replace tipsys with tooltips 2015-08-12 23:09:49 +02:00
Vincent Petry aac7c19ab7 Fix showMenu animation callback 2015-08-12 17:28:55 +02:00
Vincent Petry 984ae8140d Fixed file actions menu to close when reclicking trigger
FileActionsMenu is now a backbone view.
The trigger and highlight handling is now done in the
FileActions.showMenu() method using events.
2015-08-11 11:35:46 +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
Jan-Christoph Borchardt db40682b1f fix mobile scrolling, lower sidebar sensitivity, fix #11193 2015-08-07 18:36:27 +02:00
Vincent Petry ae27f90efe Fix app-content scrollbar when app-sidebar is open 2015-08-07 01:22:45 +02:00
Morris Jobke 5699fff889 Merge pull request #17175 from owncloud/add-download-feedback
Add loading spinner to download icon
2015-07-30 16:34:35 +02:00
Morris Jobke 4076f84f88 Merge pull request #17910 from owncloud/fix-modified-tooltip
Fix tooltip for modification time
2015-07-28 08:41:26 +02:00
Hendrik Leppelsack f67477206b fixed tooltip for modified date 2015-07-27 15:56:03 +02:00
Hendrik Leppelsack 6574dfcf23 remove title option from tipsy shim 2015-07-26 17:22:53 +02:00
Lukas Reschke 56cff46dc3 Add `fallback` to shim
Tipsy also supported the `fallback` element which will now not work anymore. To enhance compatibility we shall also implement it in the shim.

Fixes https://github.com/owncloud/core/issues/17870
2015-07-25 22:10:21 +02:00
Bernhard Posselt 582f07950f Merge pull request #17075 from owncloud/bootstrap-tooltip
Replace jQuery tipsy with bootstrap tooltip
2015-07-23 19:25:09 +02:00
Morris Jobke e18d0e26f6 Merge pull request #17599 from owncloud/fix-joinpaths-trailingslash
Fix OC.joinPaths with empty arguments
2015-07-13 17:25:27 +02:00
Vincent Petry b56a57e21c Add helper functions for host, port and webroot
These should be used in the future instead of location.*.
It will make it possible to stub these methods for writing unit tests
and simulating different URL schemes.
2015-07-13 15:26:01 +02:00
Vincent Petry 1b7d42c569 Fix OC.joinPaths with empty arguments
When empty arguments are given, the leading or trailing slash was not
detected properly.
2015-07-13 10:57:52 +02:00
Vincent Petry 119e27166e Add OC.joinPaths for convenient path joining 2015-07-10 13:02:28 +02:00
Hendrik Leppelsack 6f547a9960 fix tipsy not updating on reinitialization 2015-07-08 10:53:17 +02:00
Morris Jobke 3f5aa27d49 refactoring into proper methods 2015-07-07 15:16:37 +02:00
Hendrik Leppelsack 00b97dfbb1 remove debug messages 2015-07-06 13:27:24 +02:00
Hendrik Leppelsack f66e9af9a0 replaced tipsy with bootstrap tooltip 2015-06-22 13:32:06 +02:00
Hendrik Leppelsack e8507372e3 let buttons hide the sidebar 2015-06-16 19:41:20 +02:00
Jan-Christoph Borchardt 9332c8c266 remove slow fade animation for tipsy tooltip 2015-04-15 09:10:21 +02:00
Morris Jobke 51e4633187 Don't stop event execution for menu item click
* fixes #12326 - the settings menu is closed now, because the event is executed
2015-04-09 18:32:33 +02:00
Jan-Christoph Borchardt 701cb27a9e fix scrutinizer issues 2015-03-27 09:38:41 +01:00
Jan-Christoph Borchardt d728b85fdd adjust controls bar width to not overlay scrollbar 2015-03-27 01:34:55 +01:00
Jan-Christoph Borchardt d1db727d1f mock up missing elements in the tests 2015-03-26 17:13:50 +01:00
Jan-Christoph Borchardt e7dcc01017 only move dropdown triangle when navigation is opened, fix timing bug 2015-03-26 17:01:35 +01:00
Jan-Christoph Borchardt 30b745fc59 reintroduce quick animation for menus 2015-03-26 11:59:30 +01:00
Jan-Christoph Borchardt 07335c844a fix log in issue, fix arrow position, make dropdown work in Firefox 2015-03-26 11:12:02 +01:00
Jan-Christoph Borchardt d7414fbf0d move triangle of apps dropdown to align with app name triangle 2015-03-26 00:43:11 +01:00
Jan-Christoph Borchardt 095197d1a7 popover style for apps and user dropdown menus 2015-03-26 00:40:30 +01:00
Daniel Hansson 8ee1fa98df Don't use hardcoded date and time
Use local time instead. http://momentjs.com/
2015-03-24 13:41:55 +01:00
Daniel Hansson 946a7c3a83 Use 24h format instead of 12h format
Use correct time format in WebUI
2015-03-24 11:20:20 +01:00
Vincent Petry ce5d2ab7db Revert "Change to 24H format instead of 12H format"
This reverts commit 8279dde97a.
2015-03-24 11:08:53 +01:00
Daniel Hansson 8279dde97a Change to 24H format instead of 12H format
Update how the time shows in WebUI.

My first PR to core, woha. :)
2015-03-23 22:05:44 +01:00
Lukas Reschke bbd5f28415 Let users configure security headers in their Webserver
Doing this in the PHP code is not the right approach for multiple reasons:

1. A bug in the PHP code prevents them from being added to the response.
2. They are only added when something is served via PHP and not in other cases (that makes for example the newest IE UXSS which is not yet patched by Microsoft exploitable on ownCloud)
3. Some headers such as the Strict-Transport-Security might require custom modifications by administrators. This was not possible before and lead to buggy situations.

This pull request moves those headers out of the PHP code and adds a security check to the admin settings performed via JS.
2015-03-02 19:07:46 +01:00
Morris Jobke a183b5d7e2 Merge pull request #14208 from owncloud/oc-msg-remove-object-dependency
Remove dependency from arbitrary data object structure for easier usage
2015-02-26 14:57:21 +01:00
Joas Schilling c201bc01bb Remove dependency from arbitrary data object structure for easier usage 2015-02-20 10:43:39 +01:00
Lukas Reschke 27c1409be5 Encode parameters in `OC.generateUrl` by itself
This function is often used in a wrong and potential dangerous way... Thus we should escape the URL per default and offer developers to disable the automatic escaping via an option parameter if they really want that behaviour.

Might break some things, however, those things are then easy to fix and we really have a ton of bugs caused by this...

Fixes https://github.com/owncloud/core/issues/14228
2015-02-17 14:41:06 +01:00
Lukas Reschke dfcd4acd5a Merge pull request #13771 from owncloud/fix-humanfileSize
generate valid human readable text for 0
2015-02-12 18:34:54 +01:00
Lukas Reschke 0119d429fc Second parameter is optional
Makes my IDE happier.
2015-02-11 14:01:22 +01:00
Thomas Müller ccc1f09627 generate valid human readable text for 0 - fixed #9342 2015-01-29 17:27:28 +01:00
Morris Jobke dc17019536 adjust paths for search 2015-01-14 15:15:39 +01:00
Morris Jobke 8e1904386f Add timeout for notifications
* options for timeout in seconds and if it contains HTML
* if timeout is 0 it will show the message permanently
* removes the notification after a given (default: 5 seconds) timeframe
* based on work by @brantje
* provide JS unit tests for notifications
2015-01-08 13:06:45 +01:00