diff options
author | Dries Buytaert <dries@buytaert.net> | 2005-08-31 18:37:30 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2005-08-31 18:37:30 +0000 |
commit | e03ce2f99670b75a7f3e0709dd8705a2a3f4625e (patch) | |
tree | a7678fa8a55ccd2927cbbc8d0e30bbacf630ad3d /misc/progress.gif | |
parent | 3029da00d62c20a4d97d668931bf9f0c918d1b09 (diff) | |
download | brdo-e03ce2f99670b75a7f3e0709dd8705a2a3f4625e.tar.gz brdo-e03ce2f99670b75a7f3e0709dd8705a2a3f4625e.tar.bz2 |
- Patch #28483 by Steven: JavaScript enabled uploading.
Comment from Steven: It does this by redirecting the submission of the form to a hidden <iframe> when you click "Attach" (we cannot submit data through Ajax directly because you cannot read file contents from JS for security reasons). Once the file is submitted, the upload-section of the form is updated. Things to note:
* The feature degrades back to the current behaviour without JS.
* If there are errors with the uploaded file (disallowed type, too big, ...), they are displayed at the top of the file attachments fieldset.
* Though the hidden-iframe method sounds dirty, it's quite compact and is 100% implemented in .js files. The drupal.js api makes it a snap to use.
* I included some minor improvements to the Drupal JS API and code.
* I added an API drupal_call_js() to bridge the PHP/JS gap: it takes a function name and arguments, and outputs a <script> tag. The kicker is that it preserves the structure and type of arguments, so e.g. PHP associative arrays end up as objects in JS.
* I also included a progressbar widget that I wrote for drumm's ongoing update.php work. It includes Ajax status updating/monitoring, but it is only used as a pure throbber in this patch. But as the code was already written and is going to be used in the near future, I left that part in. It's pretty small ;). If PHP supports ad-hoc upload info in the future like Ruby on Rails, we can implement that in 5 minutes.
Diffstat (limited to 'misc/progress.gif')
-rw-r--r-- | misc/progress.gif | bin | 0 -> 1254 bytes |
1 files changed, 0 insertions, 0 deletions
diff --git a/misc/progress.gif b/misc/progress.gif Binary files differnew file mode 100644 index 000000000..3564e7b06 --- /dev/null +++ b/misc/progress.gif |