Commit Graph

461 Commits

Author SHA1 Message Date
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
Jörn Friedrich Dreyer 606f802b7b move search results below filelist, show hint when results are off screen, use js plugin mechanism 2015-01-02 10:28:41 +01:00
Jörn Friedrich Dreyer c738359a11 add paged provider 2015-01-02 10:28:41 +01:00
Jörn Friedrich Dreyer 088323aad5 move code from js.js to search.js in the search app 2015-01-02 10:28:41 +01:00
Jörn Friedrich Dreyer d3662722f6 new OC.Search, add search result formatters and handlers, use full content width for results 2015-01-02 10:28:41 +01:00
Thomas Müller 51a22431ee load showpassord.js conditionally in the template only if needed 2014-12-16 18:45:37 +01:00
Lukas Reschke be3d4fd303 Merge pull request #12360 from owncloud/files-tags
Add favorites to files app
2014-12-15 19:55:18 +01:00
Jörn Friedrich Dreyer 6602d3ac77 Merge pull request #12555 from owncloud/app_specific_search
introduce inApps[] filter for search via ajax query
2014-12-15 16:14:40 +01:00
Vincent Petry a5bb66f4a7 Added favorites feature to the files app 2014-12-15 12:10:54 +01:00
Jörn Friedrich Dreyer 1d490b559c introduce inApps[] filter for search via ajax query, make file results show up in files app only
use more flexible return type

check array with !empty instead of count
2014-12-10 15:51:59 +01:00
Vincent Petry c02ef69521 Simple Plugin system for Javascript 2014-12-01 16:20:44 +01:00
Vincent Petry 152da9796b Added function to load translations from JS
For apps that support async translation loading, a new function
OC.L10N.load() can be used to asynchronously load the translations
for a given app.
2014-11-18 12:20:01 +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
Vincent Petry d71cd680dd Include core translations
Moved search result type translations to search.js

Load JS translations earlier

Translations need to be loaded earlier to make sure that some JS files
like search.js get access to translations at this time.

This requires the template initialization to be moved to after session
initialization, because only after the session we have access to the
current language.
2014-10-29 10:09:12 +01:00
Vincent Petry ec1a73fab9 Added OC.L10N namespace with translation functions
Added addTranslations and fixed de.js file

Fixed de.js to use OC.L10N.register() and use to correct expected
format.

Added JS unit tests for OC.L10N class

Include translations JS script for all apps
2014-10-29 10:09:12 +01:00
Clark Tomlinson ca5abe5744 Setting moment locale based on user selection 2014-10-23 10:32:47 -04:00
Bjoern Schiessle 94a9ff1cd8 make sure that the notification gets shown again after a second try 2014-10-07 12:02:58 +02:00
Vincent Petry e65ceb08fc Moved WebDAV and internet checks to client side JS
- Added setup checks in JavaScript
- Moved isWebDAVWorking to JS using SetupChecks
- Moved internet connection checks to an ajax call that goes through the
  server
2014-09-23 11:16:14 +02:00
Lukas Reschke d2743e6ad6 Merge pull request #7254 from owncloud/core-sortalgo
Fixed JS sort comparator to be consistent between JS and PHP
2014-09-16 17:29:03 +02:00
Robin McCorkell 99d41bec5d Show original path information in trashbin and sharing views
Path will only be shown if in subdirectory, not in root.
2014-09-11 15:45:42 +01:00
Thomas Müller fd92fc7c47 Merge pull request #9753 from owncloud/filepath-css
Remove special case for css in OC.filePath
2014-09-09 13:59:19 +02:00
kondou 2a4c51389c Use a route instead of s.php and convert tokens asap 2014-09-04 15:23:55 +02:00
Thomas Müller ed2424c382 Merge pull request #10637 from owncloud/fixing-js-issues
Init vars with a value if none is provided
2014-08-29 10:16:29 +02:00